当前位置: 首页>>代码示例>>PHP>>正文


PHP mso_flush_cache函数代码示例

本文整理汇总了PHP中mso_flush_cache函数的典型用法代码示例。如果您正苦于以下问题:PHP mso_flush_cache函数的具体用法?PHP mso_flush_cache怎么用?PHP mso_flush_cache使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了mso_flush_cache函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: mso_check_post_ini

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;
}
开发者ID:rettebinu,项目名称:cms,代码行数:45,代码来源:inifile.php

示例2: samborsky_ping_do

function samborsky_ping_do($result = null)
{
    if (!is_array($list = mso_get_option('samborsky_ping_list', 'plugins'))) {
        $list = array();
    }
    $CI =& get_instance();
    $CI->load->library('xmlrpc');
    $CI->xmlrpc->method('weblogUpdates.ping');
    $CI->xmlrpc->request(array(mso_get_option('name_site', 'plugins'), getinfo('site_url'), getinfo('site_url') . 'feed'));
    foreach ($list as $key => $value) {
        if (!empty($value)) {
            $CI->xmlrpc->server($value, 80);
            $CI->xmlrpc->send_request();
        }
    }
    // Удадалим кеш
    mso_flush_cache();
    return $result;
}
开发者ID:Kmartynov,项目名称:cms,代码行数:19,代码来源:index.php

示例3: mso_edit_comuser

function mso_edit_comuser($data)
{
    global $MSO;
    $CI =& get_instance();
    $data = mso_xss_clean_data($data, array('user_login', 'password', 'comusers_email', 'comusers_new_password', 'comusers_nik', 'comusers_icq', 'comusers_url', 'comusers_msn', 'comusers_jaber', 'comusers_skype', 'comusers_avatar_url', 'comusers_description', 'comusers_date_birth_y', 'comusers_date_birth_m', 'comusers_date_birth_d', 'comusers_notify', 'comusers_language', 'comusers_activate_key', 'comusers_activate_string', 'comusers_admin_note'));
    if (isset($data['user_login'])) {
        $user_login = $data['user_login'];
    } else {
        $user_login = $MSO->data['session']['users_login'];
    }
    if (isset($data['password'])) {
        $password = $data['password'];
    } else {
        $password = $MSO->data['session']['users_password'];
    }
    # проверка можно ли редактировать этому пользователю с этим паролем и этим разрешением
    if (!mso_check_user_password($user_login, $password, 'admin_comusers')) {
        return array('result' => 0, 'description' => 'Login/password incorrect');
    }
    $comusers_id = isset($data['comusers_id']) ? (int) $data['comusers_id'] : 0;
    if ($comusers_id <= 0) {
        return array('result' => 0, 'description' => 'Comuser ID incorrect');
    }
    $comusers_email = isset($data['comusers_email']) ? $data['comusers_email'] : '';
    # нет email - ошибка
    if (!$comusers_email or !mso_valid_email($comusers_email)) {
        return array('result' => 0, 'description' => 'Email incorrect');
    }
    ### пароль
    $comusers_new_password = '';
    if (isset($data['comusers_new_password'])) {
        $comusers_new_password = mso_strip($data['comusers_new_password'], false);
        if ($comusers_new_password and strlen($comusers_new_password) > 6) {
            $comusers_new_password = mso_md5($comusers_new_password);
        } else {
            return array('result' => 0, 'description' => 'Password incorrect');
        }
    }
    $comusers_nik = isset($data['comusers_nik']) ? $data['comusers_nik'] : '';
    $comusers_icq = isset($data['comusers_icq']) ? $data['comusers_icq'] : '';
    $comusers_url = isset($data['comusers_url']) ? $data['comusers_url'] : '';
    $comusers_msn = isset($data['comusers_msn']) ? $data['comusers_msn'] : '';
    $comusers_jaber = isset($data['comusers_jaber']) ? $data['comusers_jaber'] : '';
    $comusers_skype = isset($data['comusers_skype']) ? $data['comusers_skype'] : '';
    $comusers_avatar_url = isset($data['comusers_avatar_url']) ? $data['comusers_avatar_url'] : '';
    $comusers_description = isset($data['comusers_description']) ? $data['comusers_description'] : '';
    $comusers_date_birth_y = isset($data['comusers_date_birth_y']) ? $data['comusers_date_birth_y'] : '1970';
    $comusers_date_birth_m = isset($data['comusers_date_birth_m']) ? $data['comusers_date_birth_m'] : '1';
    $comusers_date_birth_d = isset($data['comusers_date_birth_d']) ? $data['comusers_date_birth_d'] : '1';
    $comusers_notify = isset($data['comusers_notify']) ? $data['comusers_notify'] : '0';
    $comusers_language = isset($data['comusers_language']) ? $data['comusers_language'] : 'ru';
    $comusers_activate_key = isset($data['comusers_activate_key']) ? $data['comusers_activate_key'] : '';
    $comusers_activate_string = isset($data['comusers_activate_string']) ? $data['comusers_activate_string'] : '';
    $comusers_admin_note = isset($data['comusers_admin_note']) ? $data['comusers_admin_note'] : '';
    # дату в MySQL
    $comusers_date_birth = mso_date_convert_to_mysql($comusers_date_birth_y, $comusers_date_birth_m, $comusers_date_birth_d);
    $upd_data = array('comusers_nik' => $comusers_nik, 'comusers_admin_note' => $comusers_admin_note, 'comusers_email' => $comusers_email, 'comusers_icq' => $comusers_icq, 'comusers_url' => $comusers_url, 'comusers_msn' => $comusers_msn, 'comusers_jaber' => $comusers_jaber, 'comusers_skype' => $comusers_skype, 'comusers_avatar_url' => $comusers_avatar_url, 'comusers_description' => $comusers_description, 'comusers_date_birth' => $comusers_date_birth, 'comusers_notify' => $comusers_notify, 'comusers_language' => $comusers_language, 'comusers_activate_string' => $comusers_activate_string, 'comusers_activate_key' => $comusers_activate_key);
    if ($comusers_new_password) {
        $upd_data['comusers_password'] = $comusers_new_password;
    }
    // _pr($upd_data);
    $CI->db->where('comusers_id', $comusers_id);
    $res = $CI->db->update('comusers', $upd_data) ? '1' : '0';
    mso_flush_cache();
    // сбросим кэш
    $response = array('result' => $res, 'description' => 'Update');
    return $response;
}
开发者ID:LeonisX,项目名称:cms,代码行数:68,代码来源:functions-edit.php

示例4: t

        echo '<h2 class="bor-solid-b bor-gray400 mar20-b mar20-t i-rss">' . t('Новости MaxSite CMS') . '</h2>';
        foreach ($rss as $item) {
            // title link category description date_timestamp pubdate
            // if (!isset($item['category'])) $item['category'] = '-';
            echo '<h5><a href="' . $item['link'] . '">' . $item['title'] . '</a> - ' . date('d.m.Y', $item['date_timestamp']) . '</h5>';
            echo '<p>' . $item['description'] . '</p>';
            echo '<hr class="dotted mar0-t">';
        }
    }
}
if (mso_check_allow('admin_home')) {
    $show_clear_cache = true;
    if ($post = mso_check_post(array('f_session_id', 'f_submit_clear_cache'))) {
        mso_checkreferer();
        $show_clear_cache = false;
        mso_flush_cache();
        // сбросим кэш
        // echo '<p>' . t('Кэш удален') . '</p><br>';
        mso_redirect('admin/home');
    }
    if ($show_clear_cache) {
        echo '<form method="post">' . mso_form_session('f_session_id');
        if ($show_clear_cache) {
            echo '<p><button type="submit" name="f_submit_clear_cache" class="button i-stack-overflow">' . t('Сбросить кэш системы') . '</button></p>';
        }
        echo '</form>';
    }
}
//if (mso_check_allow('admin_home'))
mso_hook('admin_home');
# end of file
开发者ID:rettebinu,项目名称:cms,代码行数:31,代码来源:admin.php

示例5: mso_remote_f_deletecategory

function mso_remote_f_deletecategory($post)
{
    if ($post = mso_check_post(array('category_id'))) {
        require_once getinfo('common_dir') . 'functions-edit.php';
        // функции редактирования
        // получаем номер категории
        $f_id = $post['category_id'];
        // подготавливаем данные
        $data = array('category_id' => $f_id);
        $result = mso_delete_category($data);
        if (isset($result['result']) and $result['result']) {
            mso_flush_cache();
            // сбросим кэш
            $out = 'OK: ' . $result['description'];
        } else {
            $out = 'ERROR: ' . $result['description'];
        }
        return $out;
    } else {
        $out = 'ERROR: ' . 'missing arguments';
        return $out;
    }
}
开发者ID:Kmartynov,项目名称:cms,代码行数:23,代码来源:remote.php

示例6: mso_initalizing

function mso_initalizing()
{
    global $MSO;
    $CI =& get_instance();
    // нет соединения с Базой данных - всё рубим, а-а-а-а-а!
    if (!$CI->db->conn_id) {
        die('Database not connected');
    }
    # считываем файл конфигурации
    $fn = $MSO->config['config_file'];
    if (file_exists($fn)) {
        require_once $fn;
    }
    // если кэш старый, то очищаем его
    // #ci1 $path = $CI->config->item('cache_path');
    $path = getinfo('cache_dir');
    // #ci1 $mso_cache_last = ($path == '') ? BASEPATH . 'cache/' . '_mso_cache_last.txt' : $path . '_mso_cache_last.txt';
    $mso_cache_last = $path . '_mso_cache_last.txt';
    if (file_exists($mso_cache_last)) {
        $time = (int) trim(implode('', file($mso_cache_last)));
        $time = $time + $MSO->config['cache_time'] + 60;
        // запас + 60 секунд
        if (time() > $time) {
            mso_flush_cache();
        }
        // время истекло - сбрасываем кэш
    } else {
        mso_flush_cache();
    }
    # подключаем опции - они могут быть в кэше
    global $cache_options;
    if ($opt = mso_get_cache('options')) {
        # есть кэш опций
        $cache_options = $opt;
    } else {
        mso_refresh_options();
    }
    # обновляем кэш опций
    # проверим текущий шаблон
    $template = mso_get_option('template', 'general');
    // считали из опций
    $index = $MSO->config['templates_dir'] . $template . '/index.php';
    // проверим в реале
    if (!file_exists($index)) {
        mso_add_option('template', 'default', 'general');
        $MSO->config['template'] = 'default';
    } else {
        // все ок
        $MSO->config['template'] = $template;
    }
    # проверяем залогинненость юзера
    if (!isset($CI->session->userdata['userlogged']) or !$CI->session->userdata['userlogged']) {
        // не залогинен
        $CI->session->userdata['userlogged'] = 0;
    } else {
        // отмечено, что залогинен
        // нужно проверить верность данных юзера
        $CI->db->from('users');
        # таблица users
        $CI->db->select('users_id, users_groups_id');
        $CI->db->limit(1);
        # одно значение
        $CI->db->where(array('users_login' => $CI->session->userdata['users_login'], 'users_password' => $CI->session->userdata['users_password']));
        $query = $CI->db->get();
        if (!$query or $query->num_rows() == 0) {
            $CI->session->sess_destroy();
            // убиваем сессию
            $CI->session->userdata['userlogged'] = 0;
            // отмечаем, что не залогинен
        } else {
            // есть что-то
            $row = $query->row();
            // сразу выставим группу
            $MSO->data['session']['users_groups_id'] = $row->users_groups_id;
        }
    }
    # сразу обновляем время последней активности сессии
    # раньше было только для users, теперь делаем для всех
    # при этом сохраняем предыдущее значение
    # это значение позволяет отследить периодичность действий посетителя
    if (isset($CI->session->userdata['last_activity'])) {
        $CI->session->set_userdata('last_activity_prev', $CI->session->userdata['last_activity']);
        $CI->session->set_userdata('last_activity', time());
    } else {
        $CI->session->set_userdata('last_activity_prev', time());
        $CI->session->set_userdata('last_activity', $CI->session->userdata['last_activity_prev']);
    }
    // аналогично проверяем и комюзера, только данные из куки
    // но при этом сразу сохраняем все данные комюзера, чтобы потом не обращаться к БД
    $comuser = mso_get_cookie('maxsite_comuser', false);
    if ($comuser) {
        $comuser = unserialize($comuser);
        /*
        [comusers_id] => 1
        [comusers_password] => 037035235237852
        [comusers_email] => max-3000@list.ru
        [comusers_nik] => Максим
        [comusers_url] => http://maxsite.org/
        [comusers_avatar_url] => http://maxsite.org/avatar.jpg
        */
//.........这里部分代码省略.........
开发者ID:rettebinu,项目名称:cms,代码行数:101,代码来源:common.php

示例7: global_cache_all_flush

function global_cache_all_flush($arg = array())
{
    mso_flush_cache(false, 'html');
    return $arg;
}
开发者ID:Kmartynov,项目名称:cms,代码行数:5,代码来源:index.php

示例8: mso_get_new_comment


//.........这里部分代码省略.........
        // сообщение для вывода в парметре 'message'
        // разрешение антиспама moderation
        // -1 - не определено, 0 - можно разрешить, 1 - отдать на модерацию
        $moderation = -1;
        if ($comments_check_spam) {
            if (isset($comments_check_spam['check_spam']) and $comments_check_spam['check_spam'] == true) {
                if (isset($comments_check_spam['message']) and $comments_check_spam['message']) {
                    return '<div class="' . $args['css_error'] . '">' . $comments_check_spam['message'] . '</div>';
                } else {
                    return '<div class="' . $args['css_error'] . '">' . tf('Ваш комментарий определен как спам и удален.') . '</div>';
                }
            } else {
                // спам не определен, но возможно стоит moderation - принудительная модерация
                if (isset($comments_check_spam['moderation'])) {
                    $moderation = $comments_check_spam['moderation'];
                }
            }
        }
        // проверим есть ли уже такой комментарий
        // проверка по ip и тексту
        $CI->db->select('comments_id');
        $CI->db->where(array('comments_page_id' => $comments_page_id, 'comments_author_ip' => $comments_author_ip, 'comments_content' => $comments_content));
        $query = $CI->db->get('comments');
        if ($query->num_rows()) {
            return '<div class="' . $args['css_error'] . '">' . tf('Похоже, вы уже отправили этот комментарий...') . '</div>';
        }
        if (is_login()) {
            $comments_users_id = $MSO->data['session']['users_id'];
            $ins_data = array('comments_users_id' => $comments_users_id, 'comments_page_id' => $comments_page_id, 'comments_author_ip' => $comments_author_ip, 'comments_date' => $comments_date, 'comments_content' => $comments_content, 'comments_parent_id' => $comments_parent_id, 'comments_approved' => 1);
            $res = $CI->db->insert('comments', $ins_data) ? '1' : '0';
            if ($res) {
                $id_comment_new = $CI->db->insert_id();
                mso_email_message_new_comment($id_comment_new, $ins_data, $args['page_title']);
                mso_flush_cache();
                $CI->db->cache_delete_all();
                mso_hook('new_comment');
                mso_redirect(mso_current_url() . '#comment-' . $id_comment_new);
            } else {
                return '<div class="' . $args['css_error'] . '">' . tf('Ошибка добавления комментария') . '</div>';
            }
        } else {
            if (isset($post['comments_reg'])) {
                if ($post['comments_reg'] == 'reg') {
                    // проверим есть ли разршение на комментарии от комюзеров
                    // для случаев подделки post-запроса
                    if (!mso_get_option('allow_comment_comusers', 'general', '1')) {
                        return '<div class="' . $args['css_error'] . '">' . tf('Error allow_comment_comusers') . '</div>';
                    }
                    if (!isset($post['comments_email']) or !$post['comments_email']) {
                        return '<div class="' . $args['css_error'] . '">' . tf('Нужно указать Email') . '</div>';
                    }
                    if (!isset($post['comments_password']) or !$post['comments_password']) {
                        return '<div class="' . $args['css_error'] . '">' . tf('Нужно указать пароль') . '</div>';
                    }
                    $comments_email = mso_strip($post['comments_email']);
                    $comments_password = mso_strip($post['comments_password']);
                    if (!mso_valid_email($comments_email)) {
                        return '<div class="' . $args['css_error'] . '">' . tf('Ошибочный Email') . '</div>';
                    }
                    // проверим время последнего комментария чтобы не очень часто
                    if (!mso_last_activity_comment()) {
                        return '<div class="' . $args['css_error'] . '">' . tf('Слишком частые комментарии. Попробуйте позже.') . '</div>';
                    }
                    // вначале нужно зарегистрировать comюзера - получить его id и только после этого добавить сам коммент
                    // но вначале есть смысл проверить есть ли такой ком-пользователь
                    $comusers_id = false;
开发者ID:Kmartynov,项目名称:cms,代码行数:67,代码来源:comments.php

示例9: _view_i

 function _view_i($type = 'home', $vievers = 'index')
 {
     global $MSO;
     $data = array('type' => $type);
     $MSO->data = array_merge($this->data_def, $data);
     // если главная страница то проверим в сессии служебный массив _add_to_cookie
     // если он есть, то внесем из него все данные в куки
     //	[_add_to_cookie] => Array
     //	(
     //		[namecooke] => Array
     //			(
     //				[value] => ru
     //				[expire] => 1221749019
     //			)
     //	)
     //	[_add_to_cookie_redirect] => http://max-3000.com/page/about
     if ($type == 'home' and isset($this->session->userdata['_add_to_cookie'])) {
         foreach ($this->session->userdata['_add_to_cookie'] as $key => $val) {
             if (isset($val['value']) and isset($val['expire'])) {
                 setcookie($key, $val['value'], $val['expire']);
                 // записали в куку
             }
         }
         $this->session->unset_userdata('_add_to_cookie');
         // удаляем добавленное
         mso_flush_cache();
         // редирект на главную страницу
         if (isset($this->session->userdata['_add_to_cookie_redirect'])) {
             $r = $this->session->userdata['_add_to_cookie_redirect'];
             if (is_bool($r) or is_numeric($r)) {
                 // === true or $r === false) // логическая переменная
                 mso_redirect(getinfo('siteurl'), true);
             } else {
                 mso_redirect($r, true);
             }
             // редирект по указанному адресу
         } else {
             mso_redirect(getinfo('siteurl'), true);
         }
         // редирект на главную
         exit;
     }
     if (function_exists('mso_autoload_plugins')) {
         mso_autoload_plugins();
     }
     mso_hook('init');
     $this->load->view($vievers, $MSO->data);
 }
开发者ID:Kmartynov,项目名称:cms,代码行数:48,代码来源:maxsite.php

示例10: mso_admin_plugin_options

function mso_admin_plugin_options($key, $type, $ar, $title = '', $info = '', $text_other = '', $show_goto_plugins = false)
{
    if ($show_goto_plugins) {
        echo '<p><a href="' . getinfo('site_admin_url') . 'plugins" class="i plugins">' . t('Плагины') . '</a></p>';
    }
    if ($title) {
        echo '<h1><a href="">' . $title . '</a></h1>';
    } else {
        echo '<h1><a href="">' . t('Опции плагина') . '</a></h1>';
    }
    if ($info) {
        echo '<p class="info">' . $info . '</p>';
    } else {
        echo '<p class="info">' . t('Укажите необходимые опции плагина.') . '</p>';
    }
    if ($text_other) {
        echo '<p>' . $text_other . '</p>';
    }
    # тут получаем текущие опции
    $options = mso_get_option($key, $type, array());
    // получаем опции
    # здесь смотрим post
    # в post должен быть $key . '-' . $type
    if ($post = mso_check_post(array('f_session_id', 'f_submit', $key . '-' . $type))) {
        # защита рефера
        mso_checkreferer();
        # наши опции
        $in = $post[$key . '-' . $type];
        if (isset($in['_mso_checkboxs'])) {
            $ch_names = array_keys($in['_mso_checkboxs']);
            // получили все чекбоксы
            $t = array();
            // временный массив
            foreach ($ch_names as $val) {
                if (isset($in[$val])) {
                    $t[$val] = '1';
                }
                // если есть, значит отмечен
            }
            $t = array_merge($in['_mso_checkboxs'], $t);
            // объединим с чекбоксамии
            unset($in['_mso_checkboxs']);
            // удалим _mso_checkboxs
            $in = array_merge($in, $t);
            // объединим с $in
            // теперь в $in все чекбоксы
        }
        # перед проверкой удалим из $ar все типы info
        $ar1 = $ar;
        foreach ($ar1 as $m => $val) {
            if ($val['type'] == 'info') {
                unset($ar1[$m]);
            }
        }
        # проверяем их с входящим $ar - ключи должны совпадать
        # финт ушами: смотрим разность ключей массивов - красиво?
        # если будет разность, значит неверные входящие данные, все рубим
        if (array_diff(array_keys($ar1), array_keys($in))) {
            die('Error key. :-(');
        }
        $newoptions = array_merge($options, $in);
        // объединим
        if ($options != $newoptions) {
            mso_add_option($key, $newoptions, $type);
            // обновим
            $options = $newoptions;
            // сразу обновим переменную на новые опции
            mso_flush_cache();
            // сбросим кэш
        }
        echo '<div class="update">' . t('Обновлено!') . '</div>';
    }
    if ($ar) {
        # тут генерируем форму
        $form = '';
        foreach ($ar as $m => $val) {
            if ($val['type'] == 'info') {
                if (isset($val['id'])) {
                    $tag_id = ' id="' . $val['id'] . '"';
                } else {
                    $tag_id = '';
                }
                if (isset($val['class'])) {
                    $tag_class = ' ' . $val['class'];
                } else {
                    $tag_class = '';
                }
                $form .= '<div class="admin_plugin_options_info' . $tag_class . '"' . $tag_id . '>';
                if (isset($val['title'])) {
                    $form .= '<h3>' . $val['title'] . '</h3>';
                }
                if (isset($val['text'])) {
                    $form .= '<p>' . $val['text'] . '</p>';
                }
                $form .= '</div>';
                continue;
            }
            if (!isset($options[$m])) {
                $options[$m] = $val['default'];
            }
//.........这里部分代码省略.........
开发者ID:Kmartynov,项目名称:cms,代码行数:101,代码来源:index.php

示例11: forms_content_post

function forms_content_post($options, $files, $fields, $format)
{
    $result['show_error'] = array();
    // каждый элемент сообщение об ошибке
    $result['show_form'] = false;
    $result['show_ok'] = false;
    $result['fields'] = array();
    // массив полей в случае ошибок
    $out = '';
    // принимаем post
    if ($post = mso_check_post(array('forms_session', 'forms_fields'))) {
        mso_checkreferer();
        $subject_key = false;
        // если у поля отмечен subject, то ставим номер поля
        $from_key = false;
        // если у поля отмечен from, то ставим номер поля
        // добавляем в массив $field полученные значения и сразу их чистим через mso_clean_str()
        foreach ($fields as $key => $field) {
            if (isset($fields[$key]['post_value'])) {
                unset($fields[$key]['post_value']);
            }
            $field = array_map('trim', $field);
            if (isset($post['forms_fields'][$key])) {
                $p_v = mso_clean_str($post['forms_fields'][$key], $field['clean']);
                $fields[$key]['post_value'] = $p_v;
                // обязательное поле и не получены данные (браузер должен был это сам отсеить)
                if ($field['require'] and !$p_v) {
                    $result['show_error'][] = tf('Неверно заполнено поле: ') . $field['description'];
                }
            }
            if ($field['subject']) {
                $subject_key = $key;
            }
            if ($field['from']) {
                $from_key = $key;
            }
        }
        // если есть ошибки то выходим
        if ($result['show_error']) {
            $result['show_form'] = true;
            $result['fields'] = $fields;
            return $result;
        }
        // если были ошибки, то уже вышли из функции
        $prefs = '';
        // дополнительные опции для mso_mail
        // если есть вложения
        if ($file_attaches = forms_files_post($files)) {
            // формируем вложения к письму
            $prefs['attach'] = $file_attaches;
        }
        // формируем само письмо
        // куда приходят письма
        $email = $options['email'];
        if (!mso_valid_email($email)) {
            $email = mso_get_option('admin_email', 'general', 'admin@site.com');
        }
        // тема письма может быть в опциях
        $subject = $options['subject'];
        if (!$subject) {
            // нет, значит ищем в полях
            $subject = $fields[$subject_key]['post_value'];
        }
        // тема письма может быть в опциях
        $from = $options['from'];
        if (!$from) {
            // нет, значит ищем в полях
            $from = $fields[$from_key]['post_value'];
        }
        // pr($fields);
        $message = '';
        foreach ($fields as $field) {
            $description = $field['description'];
            $post_value = $field['post_value'];
            $m = $format['mail_field'];
            $m = str_replace('[description]', $description, $m);
            $m = str_replace('[post_value]', $post_value, $m);
            $m = str_replace('[NR]', NR, $m);
            $message .= $m;
        }
        // добавляем служебную информацию
        $message .= tf('IP: ') . $_SERVER['REMOTE_ADDR'] . NR;
        $message .= tf('Браузер: ') . $_SERVER['HTTP_USER_AGENT'] . NR;
        mso_hook('forms_send', $post);
        // pr($email);
        // pr($subject);
        // pr($from);
        // pr($message);
        // pr($prefs);
        // тут отправка почты
        mso_mail($email, $subject, $message, $from, $prefs);
        // удаляем временные файлы вложений
        if ($files) {
            mso_flush_cache(false, 'forms_attaches/');
        }
        $result['show_ok'] = true;
    } else {
        $result['show_error'][] = tf('Ошибка сессии');
    }
    return $result;
//.........这里部分代码省略.........
开发者ID:Kmartynov,项目名称:cms,代码行数:101,代码来源:index.php


注:本文中的mso_flush_cache函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。