Esempio n. 1
0
/**
 * Функция получения содержимого поля для обработки в шаблоне запроса
 * <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;
}
Esempio n. 2
0
    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) {
Esempio n. 3
0
/**
 * Функция получения содержимого поля для обработки в шаблоне рубрики
 *
 * @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;
}
Esempio n. 4
0
/**
 * Возвращаем истинное значение поля для документа
 *
 * @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;
}