function upload_article_handler(&$request, &$session, &$files) { $publication = Input::Get('Pub', 'int', 0); $issue = Input::Get('Issue', 'int', 0); $section = Input::Get('Section', 'int', 0); $language = Input::Get('Language', 'int', 0); $sLanguage = Input::Get('sLanguage', 'int', 0); $articleNumber = Input::Get('Article', 'int', 0); if (!Input::IsValid()) { echo "Input Error: Missing input"; return; } // Unzip the sxw file to get the content. $zip = zip_open($files["filename"]["tmp_name"]); if ($zip) { $xml = null; while ($zip_entry = zip_read($zip)) { if (zip_entry_name($zip_entry) == "content.xml") { if (zip_entry_open($zip, $zip_entry, "r")) { $xml = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); zip_entry_close($zip_entry); } } } zip_close($zip); if (!is_null($xml)) { // Write the XML to a file because the XSLT functions // require it to be in a file in order to be processed. $tmpXmlFilename = tempnam("/tmp", "ArticleImportXml"); $tmpXmlFile = fopen($tmpXmlFilename, "w"); fwrite($tmpXmlFile, $xml); fclose($tmpXmlFile); // Transform the OpenOffice document to DocBook format. $xsltProcessor = xslt_create(); $docbookXml = xslt_process($xsltProcessor, $tmpXmlFilename, "sxwToDocbook.xsl"); unlink($tmpXmlFilename); // Parse the docbook to get the data. $docBookParser = new DocBookParser(); $docBookParser->parseString($docbookXml, true); $article = new Article($articleNumber, $language); $article->setTitle($docBookParser->getTitle()); $article->setIntro($docBookParser->getIntro()); $article->setBody($docBookParser->getBody()); // Go back to the "Edit Article" page. header("Location: /$ADMIN/articles/edit.php?Pub=$publication&Issue=$issue&Section=$section&Article=$articleNumber&Language=$language&sLanguage=$sLanguage"); } // if (!is_null($xml)) } // if ($zip) // Some sort of error occurred - show the upload page again. include("index.php"); } // fn upload_article_handler
if (!$g_user->hasPermission("ManageSection")) { camp_html_display_error($translator->trans("You do not have the right to add sections.", array(), 'sections')); exit; } if (!$g_user->hasPermission("AddArticle")) { camp_html_display_error($translator->trans("You do not have the right to add articles.")); exit; } $f_src_publication_id = Input::Get('f_src_publication_id', 'int', 0); $f_src_issue_number = Input::Get('f_src_issue_number', 'int', 0); $f_src_section_number = Input::Get('f_src_section_number', 'int', 0); $f_language_id = Input::Get('f_language_id', 'int', 0); $f_dest_publication_id = Input::Get('f_dest_publication_id', 'int', 0); $f_dest_issue_number = Input::Get('f_dest_issue_number', 'int', 0); $f_dest_section_number = Input::Get('f_dest_section_number', 'int', 0); if (!Input::IsValid()) { camp_html_display_error($translator->trans('Invalid input: $1', array('$1' => Input::GetErrorString()))); exit; } $srcPublicationObj = new Publication($f_src_publication_id); if (!$srcPublicationObj->exists()) { camp_html_display_error($translator->trans('Publication does not exist.')); exit; } $srcIssueObj = new Issue($f_src_publication_id, $f_language_id, $f_src_issue_number); if (!$srcIssueObj->exists()) { camp_html_display_error($translator->trans('Issue does not exist.')); exit; } $srcSectionObj = new Section($f_src_publication_id, $f_src_issue_number, $f_language_id, $f_src_section_number); if (!$srcSectionObj->exists()) {
<?php require_once $GLOBALS['g_campsiteDir'] . '/classes/Input.php'; require_once $GLOBALS['g_campsiteDir'] . '/classes/Attachment.php'; require_once $GLOBALS['g_campsiteDir'] . '/classes/Log.php'; $translator = \Zend_Registry::get('container')->getService('translator'); if (!SecurityToken::isValid()) { camp_html_display_error($translator->trans('Invalid security token!')); exit; } // check input $f_attachment_id = Input::Get('f_attachment_id', 'int', 0); $f_description = Input::Get('f_description', 'string', ''); $f_content_disposition = Input::Get('f_content_disposition', 'string', ''); if (!Input::IsValid() || $f_attachment_id <= 0) { camp_html_goto_page("/{$ADMIN}/media-archive/index.php#files"); } $em = \Zend_Registry::get('container')->getService('em'); $attachment = $em->getRepository('Newscoop\\Entity\\Attachment')->findOneById($f_attachment_id); $description = $em->getRepository('Newscoop\\Entity\\Translation')->findOneBy(array('phrase_id' => $attachment->getDescription()->getPhraseId())); if (!$description) { $nextTranslationPhraseId = $em->getRepository('Newscoop\\Entity\\AutoId')->getNextTranslationPhraseId(); $description = new \Newscoop\Entity\Translation($nextTranslationPhraseId); $em->persist($description); } $description->setLanguage($attachment->getLanguage()); $description->setTranslationText($f_description); $attachment->setUpdated(new \DateTime()); $attachment->setContentDisposition($f_content_disposition); $em->flush(); $cacheService = \Zend_Registry::get('container')->getService('newscoop.cache');
<?php require_once $GLOBALS['g_campsiteDir'] . '/classes/Input.php'; require_once $GLOBALS['g_campsiteDir'] . '/classes/Article.php'; require_once $GLOBALS['g_campsiteDir'] . '/classes/Image.php'; require_once $GLOBALS['g_campsiteDir'] . '/classes/ImageSearch.php'; require_once $GLOBALS['g_campsiteDir'] . '/classes/Log.php'; $translator = \Zend_Registry::get('container')->getService('translator'); $em = \Zend_Registry::get('container')->getService('em'); $imageService = \Zend_Registry::get('container')->getService('image'); if (!SecurityToken::isValid()) { camp_html_display_error($translator->trans('Invalid security token!')); exit; } $f_image_id = Input::Get('f_image_id', 'int', 0); if (!Input::IsValid() || $f_image_id <= 0) { camp_html_goto_page("/{$ADMIN}/media-archive/index.php"); } $image = $em->getRepository('Newscoop\\Image\\LocalImage')->findOneById($f_image_id); // This file can only be accessed if the user has the right to delete images. if (!$g_user->hasPermission('DeleteImage')) { camp_html_goto_page("/{$ADMIN}/logout.php"); } if ($imageService->inUse($image)) { camp_html_add_msg($translator->trans("Image is in use, it cannot be deleted.", array(), 'media_archive')); camp_html_goto_page("/{$ADMIN}/media-archive/index.php"); } $imageDescription = $image->getDescription(); $result = $imageService->remove($image); if (!$result) { camp_html_add_msg($translator->trans("Could not delete record from the database.", array(), 'api'));