Пример #1
0
 /**
  * Return the needed form field tag for current object field
  *
  * @param array $values : parameters values array(parameterName => parameterValue) in :
  *     id : the form field id to set
  * @param multidimentionnal array $tags : xml2Array content of atm-function tag
  * @return string : the form field HTML tag
  * @access public
  */
 function getInput($fieldID, $language, $inputParams)
 {
     $params = $this->getParamsValues();
     if (isset($inputParams['prefix'])) {
         $prefixName = $inputParams['prefix'];
     } else {
         $prefixName = '';
     }
     if (!isset($inputParams['no_admin'])) {
         $options['no_admin'] = true;
     }
     //create a sub prefix for CMS_dialog_href object
     $subPrefixName = 'href' . $prefixName . $this->_field->getID() . '_0';
     if (isset($inputParams['hidden']) && ($inputParams['hidden'] == 'true' || $inputParams['hidden'] == 1)) {
         if (isset($inputParams['value'])) {
             $value = $inputParams['value'];
         } elseif (isset($this->_subfieldValues[0]) && is_object($this->_subfieldValues[0]) && !is_null($this->_subfieldValues[0]->getValue())) {
             //create object CMS_href & CMS_dialog_href
             $href = new CMS_href($this->_subfieldValues[0]->getValue());
             $value = $href->getTextDefinition();
         } else {
             $value = '';
         }
         $html = '<input type="hidden" name="' . $subPrefixName . '" value="' . $value . '" />' . "\n";
     } else {
         //get module codename
         $moduleCodename = CMS_poly_object_catalog::getModuleCodenameForField($this->_field->getID());
         //create object CMS_href & CMS_dialog_href
         $href = new CMS_href($this->_subfieldValues[0]->getValue());
         foreach ($inputParams as $k => $v) {
             if (in_array($k, array('id', 'class', 'style', 'tabindex', 'disabled', 'dir', 'lang', 'width', 'height', 'alt', 'title'))) {
                 $href->setAttribute($k, $v);
             }
         }
         //redefine temporarily this constant here, because it is defined in cms_rc_admin and sometimes, only cms_rc_frontend is available
         if (!defined("PATH_ADMIN_WR")) {
             define("PATH_ADMIN_WR", PATH_MAIN_WR . "/admin");
         }
         if (!defined("PATH_ADMIN_IMAGES_WR")) {
             define("PATH_ADMIN_IMAGES_WR", PATH_ADMIN_WR . "/img");
         }
         $hrefDialog = new CMS_dialog_href($href, $subPrefixName);
         $existingLink = $hrefDialog->getHTML($moduleCodename) ? $hrefDialog->getHTML($moduleCodename) : $language->getMessage(self::MESSAGE_OBJECT_HREF_FIELD_NONE);
         $html .= $hrefDialog->getHTMLFields($language, $moduleCodename, RESOURCE_DATA_LOCATION_EDITED, $options) . '<br />' . $language->getMessage(self::MESSAGE_OBJECT_HREF_EXISTING_LINK, false, MOD_POLYMOD_CODENAME) . ' : ' . $existingLink;
         if (POLYMOD_DEBUG) {
             $html .= ' <span class="admin_text_alert">(Field : ' . $this->_field->getID() . ' - SubField : 0)</span>';
         }
     }
     //append html hidden field which store field name
     if ($html) {
         $html .= '<input type="hidden" name="polymodFields[' . $this->_field->getID() . ']" value="' . $this->_field->getID() . '" />';
     }
     return $html;
 }
Пример #2
0
if ($pageId) {
    $href->setLinkType(RESOURCE_LINK_TYPE_INTERNAL);
    $href->setInternalLink($pageId);
    $redirDisabled = 'disabled:true,';
    $redirHidden = "{\n\t\txtype:\t\t\t'hidden',\n\t\tname:\t\t\t'page',\n\t\tvalue:\t\t\t'{$pageId}'\n\t},";
} else {
    if (io::isPositiveInteger($item->getPageID())) {
        $href->setLinkType(RESOURCE_LINK_TYPE_INTERNAL);
        $href->setInternalLink($item->getPageID());
    } elseif ($item->getURL()) {
        $href->setLinkType(RESOURCE_LINK_TYPE_EXTERNAL);
        $href->setExternalLink($item->getURL());
    }
    $redirDisabled = $redirHidden = '';
}
$redirectValue = io::sanitizeJSString($href->getTextDefinition());
$visualmode = RESOURCE_DATA_LOCATION_EDITED;
//Websites
$currentWebsites = $item->getWebsites();
$websites = CMS_websitesCatalog::getAll();
$availableWebsites = $selectedWebsites = array();
foreach ($websites as $id => $website) {
    if (in_array($website->getId(), $currentWebsites)) {
        $exists = false;
        foreach ($selectedWebsites as $data) {
            if ($data[1] == $website->getURL()) {
                $exists = true;
            }
        }
        if (!$exists) {
            $selectedWebsites[] = array($id, $website->getURL());