[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 namespace dokuwiki\Action; 4 5 use dokuwiki\Action\Exception\ActionAbort; 6 use dokuwiki\Action\Exception\ActionException; 7 8 /** 9 * Class Save 10 * 11 * Save at the end of an edit session 12 * 13 * @package dokuwiki\Action 14 */ 15 class Save extends AbstractAction { 16 17 /** @inheritdoc */ 18 public function minimumPermission() { 19 global $INFO; 20 if($INFO['exists']) { 21 return AUTH_EDIT; 22 } else { 23 return AUTH_CREATE; 24 } 25 } 26 27 /** @inheritdoc */ 28 public function preProcess() { 29 if(!checkSecurityToken()) throw new ActionException('preview'); 30 31 global $ID; 32 global $DATE; 33 global $PRE; 34 global $TEXT; 35 global $SUF; 36 global $SUM; 37 global $lang; 38 global $INFO; 39 global $INPUT; 40 41 //spam check 42 if(checkwordblock()) { 43 msg($lang['wordblock'], -1); 44 throw new ActionException('edit'); 45 } 46 //conflict check 47 if($DATE != 0 48 && isset($INFO['meta']['date']['modified']) 49 && $INFO['meta']['date']['modified'] > $DATE 50 ) { 51 throw new ActionException('conflict'); 52 } 53 54 //save it 55 saveWikiText($ID, con($PRE, $TEXT, $SUF, true), $SUM, $INPUT->bool('minor')); //use pretty mode for con 56 //unlock it 57 unlock($ID); 58 59 // continue with draftdel -> redirect -> show 60 throw new ActionAbort('draftdel'); 61 } 62 63 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body