. */ include("./include/include.php"); require_once(FILESYSTEMROOTPATH."jc/include/classes/DefaultLayout.php"); require_once(FILESYSTEMROOTPATH."include/form/AbstractForm.php"); /** * Helper classes */ class ProposalForm extends AbstractForm { private $proposalsService; public function __construct(Layout $layout, IModel $model, ProposalsService $proposalsService) { parent::__construct($layout, $model); $this->proposalsService = $proposalsService; } public function save(IModel $model) { if( $this->proposalsService->saveOrUpdate($model) ) { if( $model->getId()==NULL ) { //$this->layout->echoln(_("Proposal created successfully.")); $id=mysql_insert_id(); $this->layout->redirect('create_proposal2.php?proposal_id='.$id); }else { //$this->layout->echoln(_("Proposal updated successfully.")); $this->layout->redirect('create_proposal2.php?proposal_id='.$model->getId()); } }else { if( $model->getId()==NULL ) { // New Proposal $this->layout->echoln(_("Failed creating Proposal.")); }else { // Proposal edited $this->layout->echoln(_("Failed saving Proposal.")); } } } } /** * End of helper classes */ $layout = new DefaultLayout(Access::VISITOR, "./jc/"); $layout->init(); $proposalsService = $GLOBALS['ClassFactory']->getProposalsService(); $agoraeService = $GLOBALS['ClassFactory']->getAgoraeService(); $last_agora = $agoraeService->getLatestAgora(); $layout->echoln('Back
'); $proposal = NULL; if (isset($_GET['proposal_id'])){ $proposal_id = $_GET['proposal_id']; $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*14)) {//two weeks before the agora echo "Even JC cannot edit two weeks before the Agora"; $layout->page_footer(); exit(0); } }elseif ($proposal->getProposer_Uid() != $_SESSION['sess_uid']){ echo 'This proposal does not belong to you!'; $layout->page_footer(); exit(0); }elseif($proposal->getStatus()!='Saved' && $proposal->getStatus()!='Changes Required'){ $layout->redirect('view_proposal1.php?proposal_id='.$proposal_id); } } if($proposal == NULL){ $proposal = new Proposals(''); $proposal->setProposer_Uid($_SESSION['sess_uid']); $proposal->setAgora_id($last_agora->getId()); $proposal->setStatus('Saved'); $proposal->setSubmit_date(date('Y-m-d H:i:s')); } if(isset( $_SESSION['sess_access_bodyCodes']['XJU']['JC_MANAGE'] ) AND $proposal->getProposer_Uid() != $_SESSION['sess_uid']) $layout->echoln($layout->jcwarning); $form = new ProposalForm($layout, $proposal, $proposalsService); $proposer_uidField = new TextField('proposer_uid','proposer uid'); $proposer_uidField->setReadOnly(true); $proposer_uidField->setClass('disabled'); $form->addField($proposer_uidField); $titleField = new TextField('title','Title'); $form->addField($titleField->setCompulsory(true)); $proposersField = new TextField('proposers','Proposers'); $proposersField->setExplanation('eg George Dimitrakopoulos, Manos Valasis on behalf of AEGEE-Patra'); $form->addField($proposersField->setCompulsory(true)); $motivationArea = new TextAreaField('motivation','Motivation',5,70); $motivationArea->setExplanation($layout->bbcodeexplanation); $form->addField($motivationArea->setCompulsory(true)); if (($proposal->getStatus() != 'Saved') && ($proposal->getStatus() != 'Submitted')){ $jc_comment = new TextAreaField('jc_comment','JC Comment',5,70); $jc_comment->setReadOnly(true); $jc_comment->setClass('disabled'); $form->addField($jc_comment); } $form->display(); $layout->page_footer(); ?>