/**
  * Display form to edit an announcement.
  * @param $args array first parameter is the ID of the announcement to edit
  * @param $request PKPRequest
  */
 function editAnnouncement($args, &$request)
 {
     // FIXME: Remove call to validate() when all ManagerHandler implementations
     // (across all apps) have been migrated to the authorize() authorization approach.
     $this->validate();
     $this->setupTemplate($request);
     $announcementId = !isset($args) || empty($args) ? null : (int) $args[0];
     $announcementDao =& DAORegistry::getDAO('AnnouncementDAO');
     // Ensure announcement is valid and for this context
     if ($this->_announcementIsValid($request, $announcementId)) {
         import('classes.manager.form.AnnouncementForm');
         $templateMgr =& TemplateManager::getManager();
         $templateMgr->append('pageHierarchy', array($request->url(null, 'manager', 'announcements'), 'manager.announcements'));
         if ($announcementId == null) {
             $templateMgr->assign('announcementTitle', 'manager.announcements.createTitle');
         } else {
             $templateMgr->assign('announcementTitle', 'manager.announcements.editTitle');
         }
         $contextId = $this->getContextId($request);
         if (checkPhpVersion('5.0.0')) {
             // WARNING: This form needs $this in constructor
             $announcementForm = new AnnouncementForm($contextId, $announcementId);
         } else {
             $announcementForm =& new AnnouncementForm($contextId, $announcementId);
         }
         if ($announcementForm->isLocaleResubmit()) {
             $announcementForm->readInputData();
         } else {
             $announcementForm->initData();
         }
         $announcementForm->display();
     } else {
         $router =& $request->getRouter();
         $request->redirectUrl($router->url($request, null, null, 'announcements'));
     }
 }
 /**
  * Display form to edit an announcement.
  * @param $args array optional, first parameter is the ID of the announcement to edit
  */
 function editAnnouncement($args = array())
 {
     $this->validate();
     $this->setupTemplate();
     $announcementId = !isset($args) || empty($args) ? null : (int) $args[0];
     $announcementDao =& DAORegistry::getDAO('AnnouncementDAO');
     // Ensure announcement is valid and for this context
     if ($this->_announcementIsValid($announcementId)) {
         import('manager.form.AnnouncementForm');
         $templateMgr =& TemplateManager::getManager();
         $templateMgr->append('pageHierarchy', array(PKPRequest::url(null, 'manager', 'announcements'), 'manager.announcements'));
         if ($announcementId == null) {
             $templateMgr->assign('announcementTitle', 'manager.announcements.createTitle');
         } else {
             $templateMgr->assign('announcementTitle', 'manager.announcements.editTitle');
         }
         if (checkPhpVersion('5.0.0')) {
             // WARNING: This form needs $this in constructor
             $announcementForm = new AnnouncementForm($announcementId);
         } else {
             $announcementForm =& new AnnouncementForm($announcementId);
         }
         if ($announcementForm->isLocaleResubmit()) {
             $announcementForm->readInputData();
         } else {
             $announcementForm->initData();
         }
         $announcementForm->display();
     } else {
         PKPRequest::redirect(null, null, 'announcements');
     }
 }