Example #1
0
// получим все данные из ini-файла
$all = mso_get_ini_file($MSO->config['admin_plugins_dir'] . 'admin_page/meta.ini');
//pr($all);
// подключаем meta.ini из текущего шаблона
// при этом складываем их с дефолтным
$meta_def = mso_get_ini_file(getinfo('shared_dir') . 'meta/meta.ini');
// можно использовать дефолтный
$all = array_merge($all, $meta_def);
if (file_exists(getinfo('template_dir') . 'meta.ini')) {
    $meta_templ = mso_get_ini_file(getinfo('template_dir') . 'meta.ini');
    if ($meta_templ) {
        $all = array_merge($all, $meta_templ);
    }
}
if (file_exists(getinfo('template_dir') . 'custom/my_meta.ini')) {
    $meta_templ = mso_get_ini_file(getinfo('template_dir') . 'custom/my_meta.ini');
    if ($meta_templ) {
        $all = array_merge($all, $meta_templ);
    }
}
// описание см. shared/blanks/custom/_my_meta.php
if (file_exists(getinfo('template_dir') . 'custom/my_meta.php')) {
    require getinfo('template_dir') . 'custom/my_meta.php';
}
// pr($all);
// проходимся по всем ini-опциям
// для совместимости используем вместо meta_  options_
foreach ($all as $key => $row) {
    if (isset($row['options_key'])) {
        $options_key = stripslashes(trim($row['options_key']));
    } else {
Example #2
0
}
/**
 * MaxSite CMS
 * (c) http://max-3000.com/
 */
?>

<h1><?php 
echo t('Основные настройки');
?>
</h1>
<p class="info"><?php 
echo t('Здесь вы можете указать основные настройки. Если указанная настройка отмечена «нет в базе», значит нужно ввести её значение и нажать кнопку «Сохранить».');
?>
</p>

<?php 
function _time_zone_current_time()
{
    return '<br>' . t('Время сервера:') . ' <strong>' . date('H:i:s Y-m-d') . '</strong>' . '<br>' . t('С учётом поправки:') . ' <strong>' . mso_date_convert('H:i:s Y-m-d', date('Y-m-d H:i:s')) . '</strong>';
}
$CI =& get_instance();
require_once getinfo('common_dir') . 'inifile.php';
// функции для работы с ini-файлом
// проверяем входящие данные
if (mso_check_post_ini()) {
    mso_redirect('admin/options');
}
$all = mso_get_ini_file($MSO->config['admin_plugins_dir'] . 'admin_options/general.ini');
echo mso_view_ini($all);
// вывод таблицы ini
Example #3
0
function mso_remote_f_getpost($post)
{
    if (!isset($post['remote_page_id']) or !$post['remote_page_id']) {
        return 'ERROR: missing arguments';
    }
    require_once getinfo('common_dir') . 'page.php';
    require_once getinfo('common_dir') . 'inifile.php';
    // функции для работы с ini-файлом
    // удалим хуки для текста - должно отдаваться как в базе
    mso_remove_hook('content');
    mso_remove_hook('content_auto_tag');
    mso_remove_hook('content_balance_tags');
    mso_remove_hook('content_out');
    mso_remove_hook('content_complete');
    $par = array('custom_type' => 'home', 'pagination' => false, 'content' => true, 'work_cut' => false, 'type' => false, 'page_id' => $post['remote_page_id'], 'date_now' => false, 'page_status' => false, 'page_id_autor' => $post['remote_users_id'], 'all_fields' => true);
    // если юзеру разрешено редактировать чужие страницы, то 'page_id_autor' сбрасываем
    // иначе только свои страницы можно загружать
    if (mso_check_user_password($post['remote_users_login'], $post['remote_users_password'], 'admin_page_edit_other')) {
        $par['page_id_autor'] = false;
    }
    $pages = mso_get_pages($par, $pagination);
    // получим странички
    $out = '';
    if ($pages) {
        foreach ($pages as $page) {
            foreach ($page as $p_name => $p_val) {
                if ($p_name == 'page_categories_detail') {
                    continue;
                } elseif ($p_name == 'users_description') {
                    continue;
                } elseif ($p_name == 'users_avatar_url') {
                    continue;
                } elseif ($p_name == 'users_login') {
                    continue;
                } elseif ($p_name == 'page_content') {
                    $p_val = str_replace("\n", '!RMTNR!', $p_val);
                } elseif ($p_name == 'page_categories') {
                    // это массив, где хранятся id рубрик
                    $p_val = implode(" ", $p_val);
                } elseif ($p_name == 'page_tags') {
                    // это массив, где хранятся имена меток
                    $p_val = implode('!RMTNR!', $p_val);
                } elseif ($p_name == 'page_meta') {
                    //  это массивы в массиве
                    $pm = '';
                    foreach ($p_val as $page_meta_key => $page_meta_val) {
                        $pm .= '!RMTMETA!' . $page_meta_key . '=' . implode('!RMTNR!', $page_meta_val);
                    }
                    $p_val = $pm;
                } elseif ($p_name == 'page_date_publish') {
                    //page_date_publish=2009-01-05 22:27:22
                    $out .= NR . 'page_date_publish_year=' . mso_date_convert('Y', $p_val, false);
                    $out .= NR . 'page_date_publish_mon=' . mso_date_convert('m', $p_val, false);
                    $out .= NR . 'page_date_publish_day=' . mso_date_convert('d', $p_val, false);
                    $out .= NR . 'page_date_publish_hour=' . mso_date_convert('H', $p_val, false);
                    $out .= NR . 'page_date_publish_min=' . mso_date_convert('i', $p_val, false);
                    $out .= NR . 'page_date_publish_sec=' . mso_date_convert('s', $p_val, false);
                } elseif (is_array($p_val)) {
                    continue;
                }
                $out .= NR . $p_name . '=' . $p_val;
            }
        }
        # нужно передать и все метаполя, которые в шаблоне и admin_page/meta.ini.
        # Они могут быть пустыми, поэтому их нет в page_meta
        $all = mso_get_ini_file(getinfo('admin_plugins_dir') . 'admin_page/meta.ini');
        if (file_exists(getinfo('template_dir') . 'meta.ini')) {
            $meta_templ = mso_get_ini_file(getinfo('template_dir') . 'meta.ini');
            if ($meta_templ) {
                $all = array_merge($all, $meta_templ);
            }
        }
        $pm = '';
        foreach ($all as $key => $val) {
            $pm .= '!RMTMETA!' . $key . '=' . _mso_implode($val);
        }
        $out .= NR . 'page_meta_template=' . $pm;
    } else {
        return 'ERROR: no page';
    }
    return trim($out);
}
Example #4
0
// подключим все опции компонентов из components
// в них ini-файлы, а также php-файлы, обслуживающие ini (для PHP_START PHP_END)
// поэтому подключаем все php-файлы, после все ini-файлы
// подключаем только те опции и ini компонентов, которые реально существуют
// каждый компонент в своем каталоге
$all_component = mso_get_dirs(getinfo('template_dir') . 'components/', array(), true);
// проверяем опции (options.php)
foreach ($all_component as $dir) {
    $file = getinfo('template_dir') . 'components/' . $dir . '/options.php';
    if (file_exists($file)) {
        require $file;
    }
    // php-файлы
}
// проверяем options.ini
foreach ($all_component as $dir) {
    $file = getinfo('template_dir') . 'components/' . $dir . '/options.ini';
    if (file_exists($file)) {
        $add = mso_get_ini_file($file);
        // чтобы позволить испльзовать в компонентах одинаковые названия опций,
        // добавим к названию имя компонета в скобках
        $a1 = array();
        foreach ($add as $key => $val) {
            $a1[$key . ' (' . $dir . ')'] = $val;
        }
        $options = array_merge($options, $a1);
    }
}
// вывод всех ini-опций
echo mso_view_ini($options);
# end file