<?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.0 (tested with pmwiki2.1beta34)
 
Adds PageAttribute jjsApprovePageRev
*/

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']))
#{
#		$page['jjsEditRev'] = $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';