Esempio n. 1
0
 public static function GetURI($p_publicationId, $p_languageId, $p_issueNo = null, $p_sectionNo = null, $p_articleNo = null)
 {
     $translator = \Zend_Registry::get('container')->getService('translator');
     $languageObj = new Language($p_languageId);
     if (!$languageObj->exists()) {
         return new PEAR_Error($translator->trans('Language does not exist.'));
     }
     $uri = '/' . $languageObj->getCode() . '/';
     if (!is_null($p_issueNo) && is_null($p_articleNo)) {
         $issueObj = new Issue($p_publicationId, $p_languageId, $p_issueNo);
         if (!$issueObj->exists()) {
             return new PEAR_Error($translator->trans('Issue does not exist.'));
         }
         $uri .= $issueObj->getUrlName() . '/';
     }
     if (!is_null($p_sectionNo) && is_null($p_articleNo)) {
         $sectionObj = new Section($p_publicationId, $p_issueNo, $p_languageId, $p_sectionNo);
         if (!$sectionObj->exists()) {
             return new PEAR_Error($translator->trans('Section does not exist.'));
         }
         $uri .= $sectionObj->getUrlName() . '/';
     }
     if (!is_null($p_articleNo)) {
         $articleObj = new Article($p_languageId, $p_articleNo);
         if (!$articleObj->exists()) {
             return new PEAR_Error($translator->trans('Article does not exist.'));
         }
         $issueObj = new Issue($p_publicationId, $p_languageId, $articleObj->getIssueNumber());
         $sectionObj = new Section($p_publicationId, $articleObj->getIssueNumber(), $p_languageId, $articleObj->getSectionNumber());
         $uri .= $issueObj->getUrlName() . '/';
         $uri .= $sectionObj->getUrlName() . '/';
         $uri .= $articleObj->getUrlName() . '/';
     }
     return $uri;
 }
Esempio n. 2
0
 public static function GetURI($p_publicationId, $p_languageId, $p_issueNo = null, $p_sectionNo = null, $p_articleNo = null)
 {
     $languageObj = new Language($p_languageId);
     if (!$languageObj->exists()) {
         return new PEAR_Error(getGS('Language does not exist.'));
     }
     $uri = $GLOBALS['Campsite']['SUBDIR'] . '/' . $languageObj->getCode() . '/';
     if (!is_null($p_issueNo) && is_null($p_articleNo)) {
         $issueObj = new Issue($p_publicationId, $p_languageId, $p_issueNo);
         if (!$issueObj->exists()) {
             return new PEAR_Error(getGS('Issue does not exist.'));
         }
         $uri .= $issueObj->getUrlName() . '/';
     }
     if (!is_null($p_sectionNo) && is_null($p_articleNo)) {
         $sectionObj = new Section($p_publicationId, $p_issueNo, $p_languageId, $p_sectionNo);
         if (!$sectionObj->exists()) {
             return new PEAR_Error(getGS('Section does not exist.'));
         }
         $uri .= $sectionObj->getUrlName() . '/';
     }
     if (!is_null($p_articleNo)) {
         $articleObj = new Article($p_languageId, $p_articleNo);
         if (!$articleObj->exists()) {
             return new PEAR_Error(getGS('Article does not exist.'));
         }
         $issueObj = new Issue($p_publicationId, $p_languageId, $articleObj->getIssueNumber());
         $sectionObj = new Section($p_publicationId, $articleObj->getIssueNumber(), $p_languageId, $articleObj->getSectionNumber());
         $uri .= $issueObj->getUrlName() . '/';
         $uri .= $sectionObj->getUrlName() . '/';
         $uri .= $articleObj->getUrlName() . '/';
     }
     return $uri;
 }
Esempio n. 3
0
     camp_html_display_error(getGS('No such section.'), $backLink);
     exit;
 }
 $translationSectionObj = new Section($f_publication_id, $f_issue_number, $f_translation_language, $f_section_number);
 if (!$translationSectionObj->exists()) {
     if (!$g_user->hasPermission("ManageSection")) {
         camp_html_add_msg(getGS('A section must be created for the selected language but you do not have the right to create a section.'));
         camp_html_goto_page($backLink);
     }
     foreach ($sectionObj->getData() as $field => $fieldValue) {
         if ($field != 'IdLanguage') {
             $translationSectionObj->setProperty($field, $fieldValue, false);
         }
     }
     $f_section_name = Input::Get('f_section_name', 'string', $sectionObj->getName());
     $f_section_urlname = Input::Get('f_section_urlname', 'string', $sectionObj->getUrlName());
     if ($f_section_urlname == "") {
         camp_html_add_msg(getGS('You must fill in the $1 field.', '"' . getGS('New section URL name') . '"'));
         camp_html_goto_page($backLink);
     }
     if (!camp_is_valid_url_name($f_section_urlname)) {
         camp_html_add_msg(getGS('The $1 field may only contain letters, digits and underscore (_) character.', '"' . getGS('New section URL name') . '"'));
         camp_html_goto_page($backLink);
     }
     $translationSectionObj->create($f_section_name, $f_section_urlname);
     if (!$translationSectionObj->exists()) {
         camp_html_add_msg(getGS('Unable to create the section for translation $1.', $translationLanguageObj->getName()));
         camp_html_goto_page($backLink);
     }
 } else {
     $f_section_name = Input::Get('f_section_name', 'string', $sectionObj->getName());
Esempio n. 4
0
if (!$g_user->hasPermission("TranslateArticle")) {
    $errorStr = getGS('You do not have the right to translate articles.');
    camp_html_display_error($errorStr, $BackLink);
    exit;
}
// When the user selects a language the form is submitted to the same page (translation.php).
// Read article translation form input values for the case when the page has been reloaded
// because of language select.
$f_translation_title = Input::Get('f_translation_title', 'string', '', true);
$f_language_selected = Input::Get('f_translation_language', 'int', 0, true);
$f_translation_language = Input::Get('f_translation_language', 'int', 0, true);
if ($f_publication_id > 0) {
    $f_translation_issue_name = Input::Get('f_issue_name', 'string', $issueObj->getName(), true);
    $f_translation_issue_urlname = Input::Get('f_issue_urlname', 'string', $issueObj->getUrlName(), true);
    $f_translation_section_name = Input::Get('f_section_name', 'string', $sectionObj->getName(), true);
    $f_translation_section_urlname = Input::Get('f_section_urlname', 'string', $sectionObj->getUrlName(), true);
}
$allLanguages = Language::GetLanguages(null, null, null, array(), array(array('field' => 'byname', 'dir' => 'asc')), true);
$articleLanguages = $articleObj->getLanguages();
$articleLanguages = DbObjectArray::GetColumn($articleLanguages, "Id");
if ($f_language_selected > 0 && $f_issue_number > 0) {
    $translationIssueObj = new Issue($f_publication_id, $f_language_selected, $f_issue_number);
    $translationSectionObj = new Section($f_publication_id, $f_issue_number, $f_language_selected, $f_section_number);
}
if ($f_publication_id > 0) {
    $topArray = array('Pub' => $publicationObj, 'Issue' => $issueObj, 'Section' => $sectionObj, 'Article' => $articleObj);
    camp_html_content_top(getGS('Translate article'), $topArray, true, true);
} else {
    $crumbs = array();
    $crumbs[] = array(getGS("Actions"), "");
    $crumbs[] = array(getGS('Translate article'), "");
Esempio n. 5
0
:</td>
  <td>
    <input type="text" class="input_text" name="cName" size="32" value="<?php 
p(htmlspecialchars($sectionObj->getName()));
?>
" />
  </td>
</tr>
<tr>
  <td align="right"><?php 
putGS("URL Name");
?>
:</td>
  <td>
    <input type="text" class="input_text" name="cShortName" size="32" value="<?php 
p(htmlspecialchars($sectionObj->getUrlName()));
?>
" alt="alnum|1|A|true|false|_" emsg="<?php 
putGS('The $1 field may only contain letters, digits and underscore (_) character.', "'" . getGS('URL Name') . "'");
?>
"/>
  </td>
</tr>
<?php 
if (SaaS::singleton()->hasPermission('ManageSectionSubscriptions')) {
    ?>
<tr>
  <td align="right"><?php 
    putGS("Subscriptions");
    ?>
:</td>
Esempio n. 6
0
<tr>
  <td align="right"><?php putGS("Number"); ?>:</td>
  <td>
    <?php p($sectionObj->getSectionNumber()); ?>
  </td>
</tr>
<tr>
  <td align="right"><?php putGS("Name"); ?>:</td>
  <td>
    <input type="text" class="input_text" name="cName" size="32" value="<?php p(htmlspecialchars($sectionObj->getName())); ?>" />
  </td>
</tr>
<tr>
  <td align="right"><?php putGS("URL Name"); ?>:</td>
  <td>
    <input type="text" class="input_text" name="cShortName" size="32" value="<?php p(htmlspecialchars($sectionObj->getUrlName())); ?>" />
  </td>
</tr>
<tr>
  <td align="right"><?php putGS("Subscriptions"); ?>:</td>
  <td>
    <select name="cSubs" class="input_select">
    <option value="n"> --- </option>
    <option value="a"><?php putGS("Add section to all subscriptions."); ?></option>
    <option value="d"><?php putGS("Delete section from all subscriptions."); ?></option>
    </select>
  </td>
</tr>
<tr>
  <td align="right" valign="top"><?php putGS("Description"); ?>:</td>
  <td>
Esempio n. 7
0
        $f_section_name = Input::Get('f_section_name', 'string', $sectionObj->getName());
        $f_section_urlname = Input::Get('f_section_urlname', 'string', $sectionObj->getUrlName());
        if ($f_section_urlname == "") {
            camp_html_add_msg($translator->trans('You must fill in the $1 field.', array('$1' => '"' . $translator->trans('New section URL name', array(), 'articles') . '"')));
            camp_html_goto_page($backLink);
        }
        if (!camp_is_valid_url_name($f_section_urlname)) {
            camp_html_add_msg($translator->trans('The $1 field may only contain letters, digits and underscore (_) character.', array('$1' => '"' . $translator->trans('New section URL name', array(), 'articles') . '"')));
            camp_html_goto_page($backLink);
        }
        $translationSectionObj->create($f_section_name, $f_section_urlname);
        if (!$translationSectionObj->exists()) {
            camp_html_add_msg($translator->trans('Unable to create the section for translation $1.', array('$1' => $translationLanguageObj->getName()), 'articles'));
            camp_html_goto_page($backLink);
        }
    } else {
        $f_section_name = Input::Get('f_section_name', 'string', $translationSectionObj->getName());
        $f_section_urlname = Input::Get('f_section_urlname', 'string', $translationSectionObj->getUrlName());
        $translationSectionObj->update(array('Name' => $f_section_name, 'ShortName' => $f_section_urlname));
    }
}
if ($articleObj->translationTitleExists($f_translation_title, $f_translation_language)) {
    camp_html_add_msg($translator->trans("There already is an article with the same name. Please change the name and try again.", array(), 'articles'), "ok");
    camp_html_goto_page($backLink);
    exit;
}
$articleCopy = $articleObj->createTranslation($f_translation_language, $g_user->getUserId(), $f_translation_title);
\Zend_Registry::get('container')->getService('dispatcher')->dispatch('article.translate', new \Newscoop\EventDispatcher\Events\GenericEvent($this, array('article' => $articleCopy)));
camp_html_add_msg($translator->trans("Article translation created.", array(), 'articles'), "ok");
ArticleIndex::RunIndexer(3, 10, true);
camp_html_goto_page(camp_html_article_url($articleCopy, $f_translation_language, 'edit.php'), true);