.
*/
include("./include/include.php");
require_once(FILESYSTEMROOTPATH."jc/include/classes/DefaultLayout.php");
require_once(FILESYSTEMROOTPATH."include/form/AbstractForm.php");
//include(FILESYSTEMROOTPATH.'jc/include/classes/AbstractForm2.php'); included in helpers
include('Helpers.php');
$layout = new DefaultLayout(Access::VISITOR, "./jc/");
$layout->init();
$layout->addJavascript('js/text_diff.js');
$layout->addJavascript('js/visibility.js');
$proposals_sentencesService = $GLOBALS['ClassFactory']->getProposals_sentencesService();
$ciaService = $GLOBALS['ClassFactory']->getCIAService();
$proposalsService = $GLOBALS['ClassFactory']->getProposalsService();
$agoraeService = $GLOBALS['ClassFactory']->getAgoraeService();
$last_agora = $agoraeService->getLatestAgora();
if(isset($_POST['proposal_id']))
{
$proposal_id = $_POST['proposal_id'];
}
else
{// GET proposal_id
$proposal_id = $_GET['proposal_id'];
}
if(isset($_POST['order']))
{
$order = $_POST['order'];
}
else
{// GET proposal_id
$order = $_GET['order'];
}
$proposal = $proposalsService->load($proposal_id);
if(isset( $_SESSION['sess_access_bodyCodes']['XJU']['JC_MANAGE'] )) {//JC can edit someone else's proposal
if(time() > (strtotime($last_agora->getA_open())-60*60*24*7*2)) {//two weeks before the agora
echo "Even JC cannot edit after two weeks before the Agora";
exit(0);
}
}elseif ($proposal->getProposer_Uid() != $_SESSION['sess_uid']){
echo 'This proposal does not belong to you!';
exit(0);
}elseif($proposal->getStatus()!='Saved' && $proposal->getStatus()!='Changes Required'){
$layout->redirect('view_proposal2.php?proposal_id='.$proposal_id.'&order='.$order);
}
$show_comments =true;
if ($proposal->getStatus() == 'Saved' || $proposal->getStatus() == 'Submitted'){
$show_comments =false;
// if submitted, jc can start writing comments, but don't show them yet!
}
//load original senteces of this title
$sentences = $ciaService->loadByTitleOrder($order);
//load changes for this title
$proposals_sentences = $proposals_sentencesService->loadByProposalId_Order($proposal_id, $order);
if(isset( $_SESSION['sess_access_bodyCodes']['XJU']['JC_MANAGE'] ) AND $proposal->getProposer_Uid() != $_SESSION['sess_uid']) $layout->echoln($layout->jcwarning);
//if a new title is created
if ($sentences==NULL)
{
$layout->echoln('New Section
');
$sentence = new CIA('') ;
foreach($proposals_sentences as $ps){
$cat= $ps['category'];
break;
}
$sentence=array(
'id'=>'-1',
'category'=>$cat,
'title'=>' ',
'order'=>$order,
'last_change'=>' ',
'title2'=>'',
'order2'=>'',
'article'=>'1',
'article_title'=>' ',
'paragraph'=>'1',
'sentence'=>'1',
'sentence_text'=>' ',
'agora_id_start'=>'0',
'agora_id_end'=>'0',
);
$sentences[] = $sentence;
if ($proposals_sentences == NULL){
$ps_new = new Proposals_sentences('');
$ps_new->copy_from_cia_array($sentence);
$ps_new->setProposal_id($proposal_id);
$ps_new->setChange_type('New_v');
$ps_new->setTitle_status('New_v');
$ps_new->setTitle2_status('New_v');
$ps_new->setArticle_title_status('New_v');
$ps_new->setParagraph_status('New_v');
$proposals_sentencesService->saveOrUpdate($ps_new);
$proposals_sentences[]=$ps_new;
}
}
/**
* Editor: Dislpay CIA sentences or proposed changes
*/
$layout->echoln('"Save": Saves changes. Press it on each sentence.
"Reset": Deletes change and restores original CIA text
"Delete": Removes a sentence (use this for auto-numbering instead of leaving the box empty)
"New ^": Creates a new sentence before this
"New v": Creates a new sentence after this
"Cancel": Undo unsaved changes
');
$layout->echoln('When finish go back');
$layout->echoln('
Full Text | Changes |
---|