• Main Page
  • Modules
  • Classes
  • Files
  • File List

controllers/grid/content/navigation/form/SocialMediaForm.inc.php

00001 <?php
00015 import('lib.pkp.classes.form.Form');
00016 
00017 class SocialMediaForm extends Form {
00021    var $_socialMedia;
00022 
00026    var $_pressId;
00027 
00033    function SocialMediaForm($pressId, $socialMedia = null) {
00034       parent::Form('controllers/grid/content/navigation/form/socialMediaForm.tpl');
00035 
00036       $this->_socialMedia = $socialMedia;
00037       $this->_pressId = $pressId;
00038 
00039       $this->addCheck(new FormValidator($this, 'platform', 'required', 'grid.content.navigation.socialMedia.platformRequired'));
00040       $this->addCheck(new FormValidator($this, 'code', 'required', 'grid.content.navigation.socialMedia.codeRequired'));
00041       $this->addCheck(new FormValidatorPost($this));
00042    }
00043 
00044 
00045    //
00046    // Extended methods from Form
00047    //
00051    function fetch($request) {
00052       $templateMgr =& TemplateManager::getManager();
00053 
00054       $socialMediaDao =& DAORegistry::getDAO('SocialMediaDAO');
00055       $socialMedia =& $this->getSocialMedia();
00056       $templateMgr->assign_by_ref('socialMedia', $socialMedia);
00057       $templateMgr->assign('pressId', $this->getPressId());
00058 
00059       if (isset($socialMedia)) {
00060          $templateMgr->assign('platform', $socialMedia->getPlatform(null));
00061          $templateMgr->assign('code', $socialMedia->getCode());
00062          $templateMgr->assign('includeInCatalog', $socialMedia->getIncludeInCatalog());
00063       }
00064 
00065       return parent::fetch($request);
00066    }
00067 
00068    //
00069    // Extended methods from Form
00070    //
00074    function readInputData() {
00075       $this->readUserVars(array('platform', 'code', 'includeInCatalog'));
00076    }
00077 
00081    function execute(&$request) {
00082 
00083       $socialMediaDao =& DAORegistry::getDAO('SocialMediaDAO');
00084       $socialMedia =& $this->getSocialMedia();
00085 
00086       if (!$socialMedia) {
00087          // this is a new socialMedia object
00088          $socialMedia = $socialMediaDao->newDataObject();
00089          $socialMedia->setPressId($this->getPressId());
00090          $existingSocialMedia = false;
00091       } else {
00092          $existingSocialMedia = true;
00093       }
00094 
00095       $socialMedia->setPlatform($this->getData('platform'), null); // localized
00096       $socialMedia->setCode($this->getData('code'));
00097       $socialMedia->setIncludeInCatalog($this->getData('includeInCatalog')!=''?1:0);
00098 
00099       if ($existingSocialMedia) {
00100          $socialMediaDao->updateObject($socialMedia);
00101          $socialMediaId = $socialMedia->getId();
00102       } else {
00103          $socialMediaId = $socialMediaDao->insertObject($socialMedia);
00104       }
00105 
00106       return $socialMediaId;
00107    }
00108 
00109 
00110    //
00111    // helper methods.
00112    //
00113 
00118    function &getSocialMedia() {
00119       return $this->_socialMedia;
00120    }
00121 
00126    function getPressId() {
00127       return $this->_pressId;
00128    }
00129 }
00130 ?>

Generated on Mon Sep 17 2012 13:58:55 for Open Monograph Press by  doxygen 1.7.1