Exemple #1
0
function mso_check_post_ini()
{
    $CI =& get_instance();
    // проверяем входящие данные - поля всегда одни
    if ($post = mso_check_post(array('f_session_id', 'f_options', 'f_submit', 'f_ini'))) {
        # защита рефера
        mso_checkreferer();
        $options = $post['f_options'];
        if (isset($post['f_all_checkbox'])) {
            $all_checkbox = $post['f_all_checkbox'];
        } else {
            $all_checkbox = array();
        }
        // добавим к $options $all_checkbox если их нет
        // и сразу заменим on на 1
        // pr($options);
        foreach ($all_checkbox as $key => $val) {
            if (!isset($options[$key])) {
                $options[$key] = '0';
            } else {
                if (!is_array($options[$key])) {
                    $options[$key] = '1';
                } else {
                    $options[$key] = array_map('trim', $options[$key]);
                }
            }
        }
        // pr($options);
        // pr($all_checkbox);
        foreach ($options as $key_type => $val) {
            // разделим имя опции на ключ и группу
            $key_type = explode('_m_s_o_', $key_type);
            $key = $key_type[0];
            $type = $key_type[1];
            // pr($key . ' ' . $val . ' ' . $type, 1);
            // добавляем опцию без mso_refresh_options();
            mso_add_option($key, $val, $type, false);
        }
        mso_refresh_options();
        mso_flush_cache();
        // посколько у нас всегда true, то результат не анализируем
        return true;
    }
    return false;
}
Exemple #2
0
        foreach ($widgets as $widget) {
            $widget = trim($widget);
            // удлаим лишнее
            if ($widget) {
                $option[] = $widget;
            }
            // добавим в опцию
        }
        // pr($option);
        mso_add_option('sidebars-' . mso_slug($sidebar), $option, 'sidebars');
        // добавили
    }
    echo '<div class="update">' . t('Обновлено!') . '</div>';
    // pr($sidebars);
    // поскольку мы обновили опции, то обновляем и их кэш
    mso_refresh_options();
}
?>

<h1><?php 
echo t('Настройки сайдбаров');
?>
</h1>
<p class="info"><?php 
echo t('Добавьте в сайдбары необходимые виджеты. Каждый виджет в одной строчке. Виджеты будут отображаться в указанном вами порядке. Если указанные виджеты не существуют, то они будут проигнорированы при выводе в сайдбаре.');
?>
</p>
<p class="info"><?php 
echo t('Если вы указываете несколько одинаковых виджетов, то через пробел указывайте их номера.');
?>
</p>
Exemple #3
0
function mso_delete_option_mask($mask, $type = 'general')
{
    $CI =& get_instance();
    $mask = str_replace('_', '/_', $mask);
    $mask = str_replace('%', '/%', $mask);
    $query = $CI->db->query('DELETE FROM ' . $CI->db->dbprefix('options') . ' WHERE options_type="' . $type . '" AND options_key LIKE "' . $mask . '%" ESCAPE "/"');
    mso_refresh_options();
    # обновляем опции из базы
    return true;
}