/**
  * Save changes to a galley.
  * @param $args array ($articleId, $galleyId)
  */
 function saveGalley($args)
 {
     $articleId = isset($args[0]) ? (int) $args[0] : 0;
     $galleyId = isset($args[1]) ? (int) $args[1] : 0;
     $submissionLayoutHandler = new SubmissionLayoutHandler();
     $submissionLayoutHandler->validate($articleId);
     $this->setupTemplate(true, $articleId, 'editing');
     import('classes.submission.form.ArticleGalleyForm');
     $submitForm = new ArticleGalleyForm($articleId, $galleyId);
     $submitForm->readInputData();
     if ($submitForm->validate()) {
         $submitForm->execute();
         // Send a notification to associated users
         import('lib.pkp.classes.notification.NotificationManager');
         $notificationManager = new NotificationManager();
         $articleDao =& DAORegistry::getDAO('ArticleDAO');
         $article =& $articleDao->getArticle($articleId);
         $notificationUsers = $article->getAssociatedUserIds(true, false);
         foreach ($notificationUsers as $userRole) {
             $url = Request::url(null, $userRole['role'], 'submissionEditing', $article->getId(), null, 'layout');
             $notificationManager->createNotification($userRole['id'], 'notification.type.galleyModified', $article->getLocalizedTitle(), $url, 1, NOTIFICATION_TYPE_GALLEY_MODIFIED);
         }
         if (Request::getUserVar('uploadImage')) {
             $submitForm->uploadImage();
             Request::redirect(null, null, 'editGalley', array($articleId, $galleyId));
         } else {
             if (($deleteImage = Request::getUserVar('deleteImage')) && count($deleteImage) == 1) {
                 list($imageId) = array_keys($deleteImage);
                 $submitForm->deleteImage($imageId);
                 Request::redirect(null, null, 'editGalley', array($articleId, $galleyId));
             }
         }
         Request::redirect(null, null, 'submission', $articleId);
     } else {
         $submitForm->display();
     }
 }
 /**
  * Save changes to a galley.
  * @param $args array ($articleId, $galleyId)
  * @param $request Request
  */
 function saveGalley($args, $request)
 {
     $articleId = (int) array_shift($args);
     $galleyId = (int) array_shift($args);
     $this->validate($articleId, SECTION_EDITOR_ACCESS_EDIT);
     $this->setupTemplate(true, $articleId, 'editing');
     $submission =& $this->submission;
     import('classes.submission.form.ArticleGalleyForm');
     $submitForm = new ArticleGalleyForm($articleId, $galleyId);
     $submitForm->readInputData();
     if ($submitForm->validate()) {
         $submitForm->execute();
         // Send a notification to associated users
         import('classes.notification.NotificationManager');
         $notificationManager = new NotificationManager();
         $articleDao =& DAORegistry::getDAO('ArticleDAO');
         $article =& $articleDao->getArticle($articleId);
         $notificationUsers = $article->getAssociatedUserIds(true, false);
         foreach ($notificationUsers as $userRole) {
             $notificationManager->createNotification($request, $userRole['id'], NOTIFICATION_TYPE_GALLEY_MODIFIED, $article->getJournalId(), ASSOC_TYPE_ARTICLE, $article->getId());
         }
         if ($request->getUserVar('uploadImage')) {
             $submitForm->uploadImage();
             $request->redirect(null, null, 'editGalley', array($articleId, $galleyId));
         } else {
             if (($deleteImage = $request->getUserVar('deleteImage')) && count($deleteImage) == 1) {
                 list($imageId) = array_keys($deleteImage);
                 $submitForm->deleteImage($imageId);
                 $request->redirect(null, null, 'editGalley', array($articleId, $galleyId));
             }
         }
         $request->redirect(null, null, 'submissionEditing', $articleId);
     } else {
         $submitForm->display();
     }
 }