예제 #1
0
    function getHTMLSubFieldsParametersEmailBody($language, $prefixName)
    {
        global $cms_language, $moduleCodename, $object;
        $module = CMS_modulesCatalog::getByCodename($moduleCodename);
        $params = $this->getParamsValues();
        $values = $this->_parameterValues;
        $parameters = $this->getSubFieldParameters();
        $htmlSelected = !isset($params['emailBody']['type']) || $params['emailBody']['type'] == 1 ? ' checked="checked"' : '';
        $input = '
		<fieldset>
			<legend><label for="' . $prefixName . 'message_body_html"><input' . $htmlSelected . ' id="' . $prefixName . 'message_body_html" type="radio" name="' . $prefixName . 'emailBody" value="1" />' . $cms_language->getMessage(self::MESSAGE_OBJECT_EMAIL_PARAMETER_BODY_HTML, false, MOD_POLYMOD_CODENAME) . '</label></legend>';
        foreach ($parameters as $parameterID => $parameter) {
            $paramValue = $values[$parameterID];
            if ($parameter["type"] == "emailbody") {
                $html = isset($params['emailBody']['html']) ? $params['emailBody']['html'] : '';
                $input .= '<textarea class="admin_textarea" cols="100" rows="15" name="' . $prefixName . 'emailBody_html">' . $module->convertDefinitionString($html, true) . '</textarea>';
            }
        }
        $pageSelected = isset($params['emailBody']['type']) && $params['emailBody']['type'] == 2 ? ' checked="checked"' : '';
        $pageID = isset($params['emailBody']['pageID']) ? $params['emailBody']['pageID'] : '';
        $pageURL = isset($params['emailBody']['pageURL']) ? $params['emailBody']['pageURL'] : '';
        $input .= '
		</fieldset>
		<fieldset>
			<legend><label for="' . $prefixName . 'message_body_page"><input' . $pageSelected . ' id="' . $prefixName . 'message_body_page" type="radio" name="' . $prefixName . 'emailBody" value="2" />' . $cms_language->getMessage(self::MESSAGE_OBJECT_EMAIL_PARAMETER_BODY_PAGE, false, MOD_POLYMOD_CODENAME) . '</label></legend>
			<input type="text" class="admin_input_text" id="' . $prefixName . 'emailBody_pageID" name="' . $prefixName . 'emailBody_pageID" value="' . io::htmlspecialchars($pageID) . '" size="6" />';
        //build tree link
        $grand_root = CMS_tree::getRoot();
        $href = PATH_ADMIN_SPECIAL_TREE_WR;
        $href .= '?root=' . $grand_root->getID();
        $href .= '&amp;heading=' . $cms_language->getMessage(MESSAGE_PAGE_TREEH1);
        $href .= '&amp;encodedOnClick=' . base64_encode("window.opener.document.getElementById('" . $prefixName . "emailBody_pageID').value = '%s';self.close();");
        $href .= '&encodedPageLink=' . base64_encode('false');
        $input .= '&nbsp;<a href="' . $href . '" class="admin" target="_blank"><img src="' . PATH_ADMIN_IMAGES_WR . '/picto-arbo.gif" border="0" align="absmiddle" /></a>
			&nbsp;?<input type="text" size="80" name="' . $prefixName . 'emailBody_pageURL" value="' . io::htmlspecialchars($module->convertDefinitionString($pageURL, true)) . '" class="admin_input_text" />
		</fieldset>';
        //object Explanation
        $input .= '
			<fieldset>
				<legend>' . $cms_language->getMessage(self::MESSAGE_OBJECT_EMAIL_PARAMETER_EXPLANATION, false, MOD_POLYMOD_CODENAME) . '</legend>
				<br />';
        if (!isset($_POST['objectexplanation'])) {
            $_POST['objectexplanation'] = '';
        }
        //selected value
        $selected['working'] = $_POST['objectexplanation'] == 'working' ? ' selected="selected"' : '';
        $selected['working-polymod'] = $_POST['objectexplanation'] == 'working-polymod' ? ' selected="selected"' : '';
        $selected['vars'] = $_POST['objectexplanation'] == 'vars' ? ' selected="selected"' : '';
        $selected['search'] = $_POST['objectexplanation'] == 'search' ? ' selected="selected"' : '';
        $input .= '
			<select name="objectexplanation" class="admin_input_text" onchange="document.getElementById(\'cms_action\').value=\'switchexplanation\';document.frm.submit();">
				<option value="">' . $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_CHOOSE) . '</option>
				<optgroup label="' . $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_ROW_TAGS_EXPLANATION, false, MOD_POLYMOD_CODENAME) . '">
					<option value="search"' . $selected['search'] . '>' . $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_SEARCH_TAGS, false, MOD_POLYMOD_CODENAME) . '</option>
					<option value="working"' . $selected['working'] . '>' . $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_WORKING_TAGS) . '</option>
					<option value="working-polymod"' . $selected['working-polymod'] . '>' . $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_WORKING_POLYMOD_TAGS, false, MOD_POLYMOD_CODENAME) . '</option>
					<option value="vars"' . $selected['vars'] . '>' . $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_BLOCK_GENERAL_VARS) . '</option>
					</optgroup>
				<optgroup label="' . $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_ROW_OBJECTS_VARS_EXPLANATION, false, MOD_POLYMOD_CODENAME) . '">';
        $input .= CMS_poly_module_structure::viewObjectInfosList($moduleCodename, $cms_language, $_POST['objectexplanation'], $object->getID());
        $input .= '
				</optgroup>';
        $input .= '
			</select><br /><br />';
        //then display chosen object infos
        if ($_POST['objectexplanation']) {
            switch ($_POST['objectexplanation']) {
                case 'search':
                    $input .= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_SEARCH_TAGS_EXPLANATION, false, MOD_POLYMOD_CODENAME);
                    break;
                case 'working':
                    $content .= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_WORKING_TAGS_EXPLANATION);
                    break;
                case 'working-polymod':
                    $content .= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_WORKING_POLYMOD_TAGS_EXPLANATION, false, MOD_POLYMOD_CODENAME);
                    break;
                case 'vars':
                    $content .= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_BLOCK_GENERAL_VARS_EXPLANATION);
                    break;
                default:
                    //object info
                    $input .= CMS_poly_module_structure::viewObjectRowInfos($moduleCodename, $cms_language, $_POST['objectexplanation']);
                    break;
            }
        }
        $input .= '</fieldset>';
        return $input;
    }
예제 #2
0
 /**
  * Convert variables of a given definition string (usually a row definition)
  *
  * @param string $definition the definition string to convert
  * @param boolean $toHumanReadableFormat if true, convert found variables to a human readable format, else to a machine readable format
  * @param boolean $reset if true, reset convertion table if already loaded
  *
  * @return string : the module definition string converted
  * @access public
  */
 function convertDefinitionString($definition, $toHumanReadableFormat, $reset = false)
 {
     global $cms_language;
     static $modulesConversionTable;
     $count = 1;
     //loop on text for vars to replace if any
     while (preg_match_all("#\\{[^{}]+[|}]{1}#U", $definition, $matches) && $count) {
         $matches = array_unique($matches[0]);
         //get module variables conversion table
         if (!isset($modulesConversionTable[$cms_language->getCode()][$this->getCodename()]) || $reset) {
             $modulesConversionTable[$cms_language->getCode()][$this->getCodename()] = CMS_poly_module_structure::getModuleTranslationTable($this->getCodename(), $cms_language);
         }
         $convertionTable = $toHumanReadableFormat ? array_flip($modulesConversionTable[$cms_language->getCode()][$this->getCodename()]) : $modulesConversionTable[$cms_language->getCode()][$this->getCodename()];
         //create definition conversion table
         $replace = array();
         $count = 0;
         foreach ($matches as $variable) {
             $strippedVar = io::substr($variable, 1, io::strlen($variable) - 2);
             if (isset($convertionTable[$strippedVar])) {
                 $replace[$variable] = '{' . $convertionTable[$strippedVar] . io::substr($variable, -1);
                 $count++;
             }
         }
         //then replace variables in definition
         $definition = str_replace(array_keys($replace), $replace, $definition);
     }
     return $definition;
 }
예제 #3
0
                    if ($subObjectsParam == true && $level == 2) {
                        $level--;
                    }
                    $style = _getColorsForLevel($level);
                    $html .= '
					<li style="' . $style['multiobject'] . '"><strong>' . $objectsStructure['objectInfos'][$objectFieldID]->getObjectLabel($cms_language) . '</strong>&nbsp;&nbsp;&nbsp;<small>(' . $cms_language->getMessage(MESSAGE_PAGE_FIELD_MULTI, array($objectsStructure['objectInfos'][substr($object, 5)]->getLabel($cms_language)), MOD_POLYMOD_CODENAME) . ')</small>
						' . createHTMLStructure(substr($object, 11), $objectsStructure) . '
					</li>';
                    if ($subObjectsParam == true && $level == 1) {
                        $level++;
                    }
                }
            }
        }
        $html .= '</ul>';
    }
    $level--;
    return $html;
}
function _getColorsForLevel($level)
{
    if ($level <= 2) {
        $style = array('field' => 'color:#000000;font-size:11px;', 'object' => 'color:#FF7D36;font-size:11px;', 'multiobject' => 'color:#8FC020;font-size:11px;');
    } else {
        $style = array('field' => 'color:#cccccc;font-size:10px;', 'object' => 'color:#ffb992;font-size:10px;', 'multiobject' => 'color:#bfdd7b;font-size:10px;');
    }
    return $style;
}
$detailledObjectsStructure = CMS_poly_module_structure::getModuleDetailledStructure($moduleCodename, $cms_language);
$dialog->setContent($content);
$dialog->show();
            $moduleLanguages = CMS_languagesCatalog::getAllLanguages($moduleCodename);
            foreach ($moduleLanguages as $moduleLanguage) {
                $moduleLanguagesCodes[] = $moduleLanguage->getCode();
            }
            $helpContent .= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_RSS_TAG_EXPLANATION, array(implode(', ', $moduleLanguagesCodes)), MOD_POLYMOD_CODENAME);
            break;
        case 'search':
            $helpContent .= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_SEARCH_TAGS_EXPLANATION, false, MOD_POLYMOD_CODENAME);
            break;
        case 'working':
            $helpContent .= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_WORKING_TAGS_EXPLANATION);
            break;
        case 'working-polymod':
            $helpContent .= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_WORKING_POLYMOD_TAGS_EXPLANATION, false, MOD_POLYMOD_CODENAME);
            break;
        case 'vars':
            $helpContent .= $cms_language->getMessage(CMS_polymod::MESSAGE_PAGE_BLOCK_GENERAL_VARS_EXPLANATION);
            break;
        default:
            //object info
            $helpContent .= CMS_poly_module_structure::viewObjectRowInfos($moduleCodename, $cms_language, $_POST['objectexplanation']);
            break;
    }
}
$content .= '<div class="well">' . $helpContent . '</div>';
$content .= '</form>';
$content .= '
	</div><!-- end container -->
';
$dialog->setContent($content);
$dialog->show();
예제 #5
0
    /**
     * Return all infos for selected object
     *
     * @param string $codename the module codename
     * @param CMS_language $language : current language
     * @param string $selectedValue : the current select value of the list
     * @param integer $objectID : the module object ID to restrict the list (default false : all objects of the module)
     * @return string : the options tag list
     * @access public
     * @static
     */
    function viewObjectRowInfos($codename, &$language, $selectedValue)
    {
        $return = '<div class="rowComment">';
        //first, need to convert the $selectedValue which is a moduleStructurePath format into a moduleDetailledStructurePath format
        $convertedSelectedValue = CMS_poly_module_structure::moduleStructure2moduleDetailledStructure($selectedValue);
        //then get module detailledStructure
        $objectsDetailledStructure = CMS_poly_module_structure::getModuleDetailledStructure($codename, $language);
        //get seleted detailledInfos
        $detailledInfos = @eval(sensitiveIO::sanitizeExecCommand('return $objectsDetailledStructure' . $convertedSelectedValue . ';'));
        //get object for this detailled structure path
        $object = CMS_poly_module_structure::getObjectForDetailledStructurePath($convertedSelectedValue);
        //then create corresponding object Infos
        if (is_array($detailledInfos) && $detailledInfos) {
            //pr(get_class($object));
            $objectLabels = $object->getLabelsStructure($language, $detailledInfos['translatedpath']);
            $return .= '
			<h2>' . $language->getMessage(self::MESSAGE_PAGE_OBJECT_NAME, false, MOD_POLYMOD_CODENAME) . ' : {' . $detailledInfos['translatedpath'] . '}</h2>
			<div class="retrait">';
            if (isset($objectLabels['structure']) && is_array($objectLabels['structure']) && $objectLabels['structure']) {
                $return .= '<h3>' . $language->getMessage(self::MESSAGE_PAGE_OBJECT_VARS, false, MOD_POLYMOD_CODENAME) . ' :</h3><ul>';
                foreach ($objectLabels['structure'] as $name => $label) {
                    $return .= '<li><span class="vertclair">{' . $detailledInfos['translatedpath'] . ':' . $name . '}</span> : ' . $label . '</li>';
                }
                $return .= '</ul>';
            }
            if (isset($objectLabels['function']) && is_array($objectLabels['function']) && $objectLabels['function']) {
                $return .= '<h3>' . $language->getMessage(self::MESSAGE_PAGE_OBJECT_FUNCTIONS, false, MOD_POLYMOD_CODENAME) . ' :</h3><ul>';
                foreach ($objectLabels['function'] as $name => $label) {
                    $return .= '<li><span class="keyword">' . $name . '</span> : ' . $label . '</li>';
                }
                $return .= '</ul>';
            }
            if (isset($objectLabels['operator']) && is_array($objectLabels['operator']) && $objectLabels['operator']) {
                $return .= '<h3>' . $language->getMessage(self::MESSAGE_PAGE_OBJECT_OPERATORS, false, MOD_POLYMOD_CODENAME) . ' :</h3>' . $language->getMessage(self::MESSAGE_PAGE_OBJECT_OPERATORS_DESCRIPTION, false, MOD_POLYMOD_CODENAME) . '<ul>';
                foreach ($objectLabels['operator'] as $name => $label) {
                    $return .= '<li><span class="keyword">' . $name . '</span> : ' . $label . '</li>';
                }
                $return .= '</ul>';
            }
            if (isset($objectLabels['orderOperator']) && is_array($objectLabels['orderOperator']) && $objectLabels['orderOperator']) {
                $return .= '<h3>' . $language->getMessage(self::MESSAGE_PAGE_OBJECT_ORDER_OPERATORS, false, MOD_POLYMOD_CODENAME) . ' :</h3>' . $language->getMessage(self::MESSAGE_PAGE_OBJECT_ORDER_OPERATORS_DESCRIPTION, false, MOD_POLYMOD_CODENAME) . '<ul>';
                foreach ($objectLabels['orderOperator'] as $name => $label) {
                    $return .= '<li><span class="keyword">' . $name . '</span> : ' . $label . '</li>';
                }
                $return .= '</ul>';
            }
            if (isset($objectLabels['atmInputOperator']) && is_array($objectLabels['atmInputOperator']) && $objectLabels['atmInputOperator']) {
                $return .= '<h3>' . $language->getMessage(self::MESSAGE_PAGE_OBJECT_ATM_INPUT_OPERATORS, false, MOD_POLYMOD_CODENAME) . ' :</h3>' . $language->getMessage(self::MESSAGE_PAGE_OBJECT_ATM_INPUT_OPERATORS_DESCRIPTION, false, MOD_POLYMOD_CODENAME) . '<ul>';
                foreach ($objectLabels['atmInputOperator'] as $name => $label) {
                    $return .= '<li><span class="keyword">' . $name . '</span> : ' . $label . '</li>';
                }
                $return .= '</ul>';
            }
            $return .= '</div></div>';
        }
        return $return;
    }