/** * Функция получения содержимого поля для обработки в шаблоне запроса * <pre> * Пример использования в шаблоне: * <li> * <?php * $r = request_get_document_field_value(12, [tag:docid]); * echo $r . ' (' . strlen($r) . ')'; * ?> * </li> * </pre> * * @param int $rubric_id идентификатор поля, для [tag:rfld:12][150] $rubric_id = 12 * @param int $document_id идентификатор документа к которому принадлежит поле. * @param int $maxlength необязательный параметр, количество возвращаемых символов. * Если данный параметр указать со знаком минус * содержимое поля будет очищено от HTML-тегов. * @return string */ function request_get_document_field_value($rubric_id, $document_id, $maxlength = 0) { if (!is_numeric($rubric_id) || $rubric_id < 1 || !is_numeric($document_id) || $document_id < 1) { return ''; } $document_fields = get_document_fields($document_id); $field_value = isset($document_fields[$rubric_id]) ? $document_fields[$rubric_id]['field_value'] : ''; if (!empty($field_value)) { $field_value = strip_tags($field_value, '<br /><strong><em><p><i>'); $field_value = str_replace('[tag:mediapath]', ABS_PATH . 'templates/' . THEME_FOLDER . '/', $field_value); } if (is_numeric($maxlength) && $maxlength != 0) { if ($maxlength < 0) { $field_value = str_replace(array("\r\n", "\n", "\r"), ' ', $field_value); $field_value = strip_tags($field_value, "<a>"); $field_value = preg_replace('/ +/', ' ', $field_value); $maxlength = abs($maxlength); } $field_value = mb_substr($field_value, 0, $maxlength) . (strlen($field_value) > $maxlength ? '... ' : ''); } return $field_value; }
require BASE_DIR . '/inc/thumb.php'; exit; } $AVE_Template = new AVE_Template(BASE_DIR . '/templates/' . DEFAULT_THEME_FOLDER); if (!isset($_REQUEST['sub'])) { $_REQUEST['sub'] = ''; } require BASE_DIR . '/class/class.core.php'; $AVE_Core = new AVE_Core(); if (empty($_REQUEST['module'])) { $AVE_Core->coreUrlParse($_SERVER['REQUEST_URI']); } if (!empty($_REQUEST['revission'])) { $res = $AVE_DB->Query("SELECT doc_data FROM " . PREFIX . "_document_rev WHERE doc_id='" . (int) $_REQUEST['id'] . "' AND doc_revision='" . (int) $_REQUEST['revission'] . "' LIMIT 1")->GetCell(); $res = @unserialize($res); $flds = get_document_fields((int) $_REQUEST['id'], $res); } $AVE_Core->coreSiteFetch(get_current_document_id()); $content = ob_get_clean(); //file_put_contents(BASE_DIR.'/cache/doc-'.$_REQUEST['id'].'.html',$content); ob_start(); eval('?>' . $content . '<?'); $cont = ob_get_clean(); $rubheader = empty($GLOBALS["user_header"]) ? "" : implode(chr(10), $GLOBALS["user_header"]); $cont = str_replace('[tag:rubheader]', $rubheader, $cont); if (isset($_REQUEST['id']) and $_REQUEST['id'] == PAGE_NOT_FOUND_ID) { report404("<strong class=\"code_red\">404 ERROR:</strong> " . "<br />" . "<strong class=\"code\">HTTP_USER_AGENT</strong> - " . $_SERVER['HTTP_USER_AGENT'] . "<br />" . "<strong class=\"code\">HTTP_REFERER</strong> - " . @$_SERVER['HTTP_REFERER'] . "<br />" . "<strong class=\"code\">REQUEST_URI</strong> - " . $_SERVER['REQUEST_URI'], 2, 2); header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found', true); } if (isset($_REQUEST['apage']) && is_numeric($_REQUEST['apage']) && $_REQUEST['apage'] > $GLOBALS['page_id'][$_REQUEST['id']]['apage'] or isset($_REQUEST['page']) && is_numeric($_REQUEST['page']) && $_REQUEST['page'] > $GLOBALS['page_id'][$_REQUEST['id']]['page'] or isset($_REQUEST['artpage']) && is_numeric($_REQUEST['artpage']) && $_REQUEST['artpage'] > $GLOBALS['page_id'][$_REQUEST['id']]['artpage']) { if ($_REQUEST['id'] == 1) {
/** * Функция получения содержимого поля для обработки в шаблоне рубрики * * @param int $field_id идентификатор поля, для [tag:fld:12] $field_id = 12 * @param int $length необязательный параметр, * количество возвращаемых символов содержимого поля. * если данный параметр указать со знаком минус * содержимое поля будет очищено от HTML-тегов. * @return string */ function document_get_field_value($field_id, $length = 0) { if (!is_numeric($field_id)) { return ''; } $document_fields = get_document_fields(get_current_document_id()); $field_value = trim($document_fields[$field_id]['field_value']); if ($field_value != '') { $field_value = strip_tags($field_value, "<br /><strong><em><p><i>"); if (is_numeric($length) && $length != 0) { if ($length < 0) { $field_value = strip_tags($field_value); $field_value = preg_replace('/ +/', ' ', $field_value); $field_value = trim($field_value); $length = abs($length); } $field_value = truncate_text($field_value, $length, '…', true); } } return $field_value; }
/** * Возвращаем истинное значение поля для документа * * @param int $id id документа * @param string $field id поля или его алиас * @return */ function get_document_field($document_id, $field) { $document_fields = get_document_fields($document_id); if (!is_array($document_fields[$field])) { $field = intval($document_fields[$field]); } if (empty($document_fields[$field])) { return false; } $field_value = $document_fields[$field]['field_value']; return $field_value; }