<?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.2 (tested with pmwiki2.1.3)
 
Adds PageAttribute jjsApprovePageRev

changed in 1.1: set jjsEditRev if not already present
changed in 1.2: don't touch $_SESSION['authid']
*/

define('JJSAPPROVEPAGE', '1.2');

$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);
  Redirect($pagename);
	
  exit;
}

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