| 
							- <?php
 - 
 - namespace dokuwiki\Action;
 - 
 - use dokuwiki\Action\Exception\ActionAbort;
 - use dokuwiki\Action\Exception\ActionException;
 - 
 - /**
 -  * Class Save
 -  *
 -  * Save at the end of an edit session
 -  *
 -  * @package dokuwiki\Action
 -  */
 - class Save extends AbstractAction
 - {
 -     /** @inheritdoc */
 -     public function minimumPermission()
 -     {
 -         global $INFO;
 -         if ($INFO['exists']) {
 -             return AUTH_EDIT;
 -         } else {
 -             return AUTH_CREATE;
 -         }
 -     }
 - 
 -     /** @inheritdoc */
 -     public function preProcess()
 -     {
 -         if (!checkSecurityToken()) throw new ActionException('preview');
 - 
 -         global $ID;
 -         global $DATE;
 -         global $PRE;
 -         global $TEXT;
 -         global $SUF;
 -         global $SUM;
 -         global $lang;
 -         global $INFO;
 -         global $INPUT;
 - 
 -         //spam check
 -         if (checkwordblock()) {
 -             msg($lang['wordblock'], -1);
 -             throw new ActionException('edit');
 -         }
 -         //conflict check
 -         if (
 -             $DATE != 0
 -             && isset($INFO['meta']['date']['modified'])
 -             && $INFO['meta']['date']['modified'] > $DATE
 -         ) {
 -             throw new ActionException('conflict');
 -         }
 - 
 -         //save it
 -         saveWikiText($ID, con($PRE, $TEXT, $SUF, true), $SUM, $INPUT->bool('minor')); //use pretty mode for con
 -         //unlock it
 -         unlock($ID);
 - 
 -         // continue with draftdel -> redirect -> show
 -         throw new ActionAbort('draftdel');
 -     }
 - }
 
 
  |