<?php if (!defined('PmWiki')) exit();
/** 
\brief jjsapprovepage: approve the current page text revision for publishing
@author Jens Schiffler <jens döt schiffler ät gmx döt de>
@version 1.1 (tested with pmwiki2.1.3)
 
Adds PageAttribute jjsApprovePageRev

changed in 1.1: set jjsEditRev if not already present 
*/

define('JJSAPPROVEPAGE', '1.0');

$FmtPV['$jjsApprovePageRev'] = '@$page["jjsApprovePageRev"] ? $page["jjsApprovePageRev"] : "---"';

function jjsApprovePageHandler($pagename, $auth = 'jjsapprovepage')
{
	global $EnablePostAttrClearSession;
  Lock(2);
  $page = RetrieveAuthPage($pagename, $auth, true);
  if (!$page) { Abort("unable to read $pagename"); }
  $v = stripmagic(@$_REQUEST['jjsApprovePageRev']);
	$page['jjsApprovePageRev'] = $v; 

	if (!isset($page['jjsEditRev']) && intval($v) == $v && intval($v) > 0)
	{
			$page['jjsEditRev'] = intval($v);
	}
	
  WritePage($pagename,$page);
  Lock(0);
  if (IsEnabled($EnablePostAttrClearSession, 1)) {
    @session_start();
    unset($_SESSION['authid']);
    $_SESSION['authpw'] = array();
  }
	##echo FmtPageName($JjsApprovePageFmt, $pagename);
  Redirect($pagename);
	
  exit;
}

$HandleActions['jjsapprovepage'] = jjsApprovePageHandler;
$HandleAuth['jjsapprovepage'] = 'jjsapprovepage';
$PageAttributes['passwdjjsapprovepage'] = '$[set new approve page password]';
$DefaultPasswords['jjsapprovepage'] = '';
$AuthCascade['jjsapprovepage'] = 'edit';