本文整理汇总了PHP中page::fParse方法的典型用法代码示例。如果您正苦于以下问题:PHP page::fParse方法的具体用法?PHP page::fParse怎么用?PHP page::fParse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类page
的用法示例。
在下文中一共展示了page::fParse方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: upd
function upd()
{
// Устанавливаем кнопки для формы
ui::setCancelButton('/comments/list');
ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');");
ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');");
if (file_exists(MODUL_DIR . '/comments/template/comment.tpl')) {
include MODUL_DIR . '/comments/template/comment.tpl';
}
if (!($obj = comments::get(system::url(2)))) {
system::redirect('/comments/list');
}
if ($obj->getUserId() != 0 && user::issetRight('user_upd', 'users')) {
$url = system::au() . '/users/user_upd/' . $obj->getUserId();
page::assign('user_link', $url);
page::fParse('user_name', $TEMPLATE['user_link']);
} else {
page::fParse('user_name', $TEMPLATE['user_name']);
}
page::assign('obj.id', $obj->id());
page::assign('obj.username', $obj->getUserName());
page::assign('obj.email', $obj->getEmail());
page::assign('obj.text', $obj->getText());
page::assign('obj.date', date('d.m.Y H:i', strtotime($obj->getPublDate())));
page::assign('obj.parram', $obj->getParram());
ui::CheckBox('active', 1, $obj->isActive(), 'Проверен');
// Информация о странице
if ($page = ormPages::get($obj->getObjId())) {
page::assign('page.id', $page->id);
page::assign('page.url', $page->url);
page::assign('page.name', $page->name);
}
return page::parse($TEMPLATE['frame']);
}
示例2: getMailHTML
static function getMailHTML($release_id)
{
if ($release = ormObjects::get($release_id)) {
if ($release->isInheritor('subscribe_msg')) {
$subscribe = $release->getParent();
page::$macros = 1;
$mail = '';
if (file_exists(TEMPL_DIR . '/subscription/mails/' . $subscribe->template . '.tpl')) {
include TEMPL_DIR . '/subscription/mails/' . $subscribe->template . '.tpl';
page::assign('domain_name', domains::curDomain()->getName());
page::assign('site_name', domains::curDomain()->getSiteName());
page::assign('base_email', domains::curDomain()->getEmail());
page::assign('subscribe.id', $subscribe->id);
page::assign('release.id', $release->id);
page::assign('release.name', $release->name);
page::assign('release.message', $release->message);
$sel = new ormSelect();
$sel->depends($release->id, 1462);
$num = 0;
$list = '';
while ($obj = $sel->getObject()) {
$num++;
page::assign('obj.num', $num);
page::assign('class-first', $num == 1 ? 'first' : '');
page::assign('class-last', $num == $sel->getObjectCount() ? 'last' : '');
page::assign('class-odd', $num % 2 == 0 ? 'odd' : '');
page::assign('class-even', $num % 2 != 0 ? 'even' : '');
page::assign('class-third', $num % 3 == 0 ? 'third' : '');
page::assign('obj.id', $obj->id);
page::assign('obj.url', $obj->url);
$obj->parseAllFields();
$list .= page::parse($TEMPLATE['list']);
}
page::assign('list', $list);
if (!empty($list)) {
page::fParse('list', $TEMPLATE['frame_list']);
}
$mail = page::parse($TEMPLATE['frame']);
}
return $mail;
}
}
}
示例3: editForm
/**
* @return string
* @param string $templ_name - Шаблон оформления
* @desc МАКРОС: Выводит форму редактирования акаунта
*/
function editForm($templ_name = 'edit')
{
if (!user::isGuest()) {
$templ_file = '/users/' . $templ_name . '.tpl';
$TEMPLATE = page::getTemplate($templ_file);
if (!is_array($TEMPLATE)) {
return page::errorNotFound('users.editForm', $templ_file);
}
$user = user::getObject();
// Парсим все поля
$fields = $user->getClass()->loadFields();
while (list($name, $field) = each($fields)) {
page::assign('obj.' . $name, $user->__get($name));
}
// Выводим аватару пользователя
if ($user->avatara != '' && isset($TEMPLATE['photo_block'])) {
page::assign('photo', $user->avatara);
page::fParse('photo_block', $TEMPLATE['photo_block']);
} else {
page::assign('photo', '');
page::assign('photo_block', '');
}
// Сообщение об ошибках
page::parseError('edit_user');
return page::parse($TEMPLATE['frame']);
}
}
示例4: navigation
private function navigation($smeshenie = 5, $TEMPLATE)
{
$max_count = $_SESSION['table_' . $this->prefix]['max_count'];
$current_num = $_SESSION['table_' . $this->prefix]['page_num'];
if ($this->isSelection) {
$count_page = ceil($this->select->getCount() / $max_count);
} else {
$count_page = ceil((!empty($this->all_count) ? $this->all_count : count($this->data)) / $max_count);
}
if ($current_num > $count_page) {
$current_num = $_SESSION['table_' . $this->prefix]['page_num'] = $count_page;
}
$start = $current_num * $max_count - $max_count;
if ($count_page > 1) {
// Просчитывает какие страницы показывать
$niz = $current_num - $smeshenie;
if ($niz < 1) {
$niz = 1;
}
$verx = $current_num + $smeshenie;
if ($verx > $count_page) {
$verx = $count_page;
}
// Определяемся с левым блоком
page::assign('num_l', $current_num - 1);
page::assign('first_num', 1);
page::assign('num_r', $current_num + 1);
page::assign('last_num', $count_page);
if ($current_num == 1 && isset($TEMPLATE['left_block'])) {
page::fParse('left_block', $TEMPLATE['noact_left_block']);
page::fParse('first_block', $TEMPLATE['noact_first_block']);
page::fParse('right_block', $TEMPLATE['right_block']);
page::fParse('last_block', $TEMPLATE['last_block']);
} else {
if ($current_num == $count_page && isset($TEMPLATE['right_block'])) {
page::fParse('left_block', $TEMPLATE['left_block']);
page::fParse('first_block', $TEMPLATE['first_block']);
page::fParse('right_block', $TEMPLATE['noact_right_block']);
page::fParse('last_block', $TEMPLATE['noact_last_block']);
} else {
page::fParse('left_block', $TEMPLATE['left_block']);
page::fParse('first_block', $TEMPLATE['first_block']);
page::fParse('right_block', $TEMPLATE['right_block']);
page::fParse('last_block', $TEMPLATE['last_block']);
}
}
// Вывод списка страниц
$pages = '';
for ($i = $niz; $i < $verx + 1; $i++) {
page::assign('page_num', $i);
$tmpl = $i == $current_num ? 'pages_a' : 'pages_na';
$pages .= page::parse($TEMPLATE[$tmpl]);
}
page::assign('pages', $pages);
$navbar = page::parse($TEMPLATE['navigation']);
} else {
$navbar = '';
}
if (!empty($navbar)) {
$counts = array(1 => 1, 5 => 5, 10 => 10, 20 => 20, 30 => 30, 50 => 50, 100 => 100);
ui::SelectBox('max_count', $counts, $max_count, 50);
page::assign('navbar', $navbar);
page::assign('count_page', $count_page);
page::fParse('navbar', $TEMPLATE['navibar']);
} else {
page::assign('navbar', '');
}
// Устанавливает лимит для выборки объектов
if ($this->isSelection && $start > -1 && $max_count > 0) {
$this->select->limit($start, $max_count);
}
}
示例5: parseField
private function parseField($obj, $field, $TEMPLATE, $current_id)
{
$is_upd = $obj->id == '' ? false : true;
$is_editable = !isset($field['editable']) || $field['editable'];
$width = empty($field['width']) ? $this->width : $field['width'];
page::assign('width', $width);
if (isset($_SESSION['SAVING_POST']['obj' . $this->form_name]) && ($field['f_type'] < 70 || $field['f_type'] > 85)) {
$tmp = $_SESSION['SAVING_POST']['obj' . $this->form_name];
if (isset($tmp[$current_id][$field['f_sname']])) {
$value = $tmp[$current_id][$field['f_sname']];
}
} else {
$value = '';
}
if (empty($value)) {
if ($field['f_type'] == 105) {
$value = $obj->__get('_' . $field['f_sname']);
} else {
$value = $obj->__get($field['f_sname']);
}
$function = !empty($field['funct_name']) ? $field['funct_name'] : '';
if (!$is_editable) {
$value = parent::processValue($obj, $field['f_sname'], $field['f_type'], $value, $function);
}
}
if ($is_editable) {
page::assign('field.id', $field['f_id']);
page::assign('field.name', $field['f_name']);
page::assign('field.sname', $field['f_sname']);
page::assign('field.value', $value);
$obj_id = $field['f_sname'] . '_' . $current_id;
$elem_name = 'obj' . $this->form_name . '[' . $current_id . '][' . $field['f_sname'] . ']';
// Специальная обработка данных
if ($field['f_type'] == 50) {
page::assign('element', ui::CheckBox($elem_name, 1, $value, '', '', $obj_id));
} else {
if ($field['f_type'] == 32) {
if (empty($value) || $value == '0000-00-00 00:00:00') {
page::assign('field.date', '');
page::assign('field.time', '00:00');
} else {
page::assign('field.date', date('d.m.Y', strtotime($value)));
page::assign('field.time', date('H:i', strtotime($value)));
}
} else {
if ($field['f_type'] == 25) {
$time = empty($value) || $value == '0000-00-00' ? '' : date('d.m.Y', strtotime($value));
page::assign('field.date', $time);
} else {
if ($field['f_type'] == 30) {
$time = empty($value) ? '' : date('H:i:s', strtotime($value));
page::assign('field.time', $time);
} else {
if ($field['f_type'] > 69 && $field['f_type'] < 86) {
// файлы
if (system::$isAdmin) {
page::assign('element', ui::loadFile($elem_name, $value, 'load_file_mini', $obj_id));
} else {
page::fParse('element', '');
}
} else {
if ($field['f_type'] == 90 || $field['f_type'] == 95) {
// Выпадающий список или Список со множественным выбором
// Получаем список объектов справочника
$data = ormObjects::getObjectsByClass($field['f_list_id']);
$multi = $field['f_type'] == 95 ? 'selectbox_multi' : 'selectbox_template';
$empty = !$field['f_required'] ? ' ' : '';
if ($field['f_quick_add']) {
$width = $width - 22;
}
$min = $field['f_type'] == 95 ? 8 : 30;
page::assign('width_plu', $width - $min);
page::assign('element', ui::SelectBox($elem_name, $data, $value, $width, $empty, '', $multi, $obj_id));
if ($field['f_quick_add']) {
page::fParse('plus', $TEMPLATE['field_' . $field['f_type'] . '_plus']);
} else {
page::assign('plus', '');
}
} else {
if ($field['f_type'] == 100) {
// Связь с объектом
page::assign('element', ui::objectLinks($obj, $field['f_id'], '_' . $current_id, $elem_name, $width - 30, 'objectLinks2'));
}
}
}
}
}
}
}
// Генерируем яву (создаем правила проверки для элементов формы)
if ($field['f_required'] && ($field['f_type'] == 35 && $this->action == 'add' || $field['f_type'] != 35)) {
$msg = str_replace('%title%', $field['f_name'], lang::get('CONSTR_BASE_FIELD_E2'));
$zpt = !empty($this->requred_field) ? ', ' : '';
$empty = $field['f_type'] == 90 || $field['f_type'] == 95 ? 'null' : '""';
if ($field['f_type'] == 100) {
$this->requred_field .= $zpt . '["' . $obj_id . '", "' . $current_id . '", "' . $msg . '", ' . $empty . ', 1]';
} else {
$this->requred_field .= $zpt . '["' . $obj_id . '", "' . $current_id . '", "' . $msg . '", ' . $empty . ']';
}
}
//.........这里部分代码省略.........
示例6: view
/**
* @return HTML
* @param int $comment_id - ID комментария
* @param string $templ_name - Шаблон оформления комментария
* @desc МАКРОС: Выводит информацию об указанном комментарии
*/
public function view($comment_id, $templ_name = 'tree')
{
$templ_file = '/comments/' . $templ_name . '.tpl';
$TEMPLATE = page::getTemplate($templ_file);
if (!is_array($TEMPLATE)) {
return page::errorNotFound('comments.view', $templ_file);
}
if ($comment = comments::get($comment_id)) {
if ($comment->isActive() || reg::getKey('/comments/show_noactive')) {
page::assign('obj.id', $comment->id());
page::assign('obj.parent_id', $comment->getParentId());
page::assign('obj.user_id', $comment->getUserId());
page::assign('obj.publ_date', $comment->getPublDate());
page::assign('obj.username', $comment->getUserName());
page::assign('obj.email', $comment->getEmail());
page::assign('obj.text', $comment->getText());
page::assign('obj.rate', $comment->getRate());
if (isset($_SESSION['comments_rate'][$comment->id()])) {
page::fParse('rate', $TEMPLATE['rate_change']);
} else {
page::fParse('rate', $TEMPLATE['rate']);
}
page::assign('list', '');
return page::parse($TEMPLATE['list']);
}
}
}
示例7: getHTML
/**
* @return Сгенерированный HTML
* @param ormClass $class - экземпляр ORM-класса, для которого необходимо построить структуру
* @param String $templ_name - имя шаблона оформления
* @desc Генерирует структуру полей для класса данных
*/
function getHTML($class, $templ_name = 'orm_fields_tree')
{
if (file_exists(MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl')) {
include MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl';
$nodes['groups'] = $class->getAllGroups();
$nodes['fields'] = $class->getAllFields();
$main_url = system::au() . '/' . system::url(0) . '/';
page::assign('main_url', $main_url);
if (is_array($nodes) && isset($nodes['groups']) && isset($nodes['fields'])) {
$groups = '';
while (list($key, $node) = each($nodes['groups'])) {
// Парсим данные о вложенных полях
$fields = '';
reset($nodes['fields']);
while (list($key, $field) = each($nodes['fields'])) {
if ($field['f_group_id'] == $node['fg_id']) {
if (empty($field['f_name'])) {
$field['f_name'] = '- - - - -';
}
page::assign('item.id', $field['f_id']);
page::assign('item.parent_id', $field['f_group_id']);
page::fParse('item.url', $this->rightEdit);
page::assign('item.name', $field['f_name']);
page::assign('item.sname', $field['f_sname']);
page::assign('item.type', lang::get('CONSTR_TYPE_LIST', $field['f_type']));
page::assign('star', $field['f_required'] ? '*' : '');
page::assign('sh', $field['f_view'] ? 'lshow' : 'lhide');
if (empty($field['f_type'])) {
page::assign('item.right', $this->getRightForField($TEMPLATE, $field['f_id'], $field['f_type'], $field['f_sname']));
$fields .= page::parse($TEMPLATE['separator']);
} else {
if ($field['f_system'] || $field['f_is_clone']) {
$fields .= page::parse($TEMPLATE['field_not_edit']);
} else {
page::assign('item.right', $this->getRightForField($TEMPLATE, $field['f_id'], $field['f_type'], $field['f_sname']));
$fields .= page::parse($TEMPLATE['field_edit']);
}
}
}
}
page::assign('items', $fields);
page::assign('item.id', $node['fg_id']);
page::fParse('sub_items', $TEMPLATE['frame_items']);
// Парсим данные о группе полей fg_view fg_sname
page::assign('item.id', $node['fg_id']);
page::assign('item.parent_id', 0);
page::fParse('item.url', $this->rightEdit2);
page::assign('item.name', $node['fg_name']);
page::assign('item.sname', $node['fg_sname']);
page::assign('sh', $node['fg_view'] ? ' lshow' : ' lhide');
$other = $node['fg_system'] || $node['fg_is_clone'] ? true : false;
page::assign('item.right', $this->getRightForGroup($TEMPLATE, $node['fg_id'], $other));
$groups .= page::parse($TEMPLATE['groups']);
}
page::assign('frame_items', $groups);
} else {
page::assign('frame_items', '');
}
ui::insertButton('button_new_group', lang::get('BTN_NEW_FGROUP'), 'javascript:changeGroup(' . $class->id() . ', \'add\');');
return page::parse($TEMPLATE['main']);
}
}
示例8: start
static function start()
{
header('Content-Type: text/html; charset=utf-8');
self::parseUrl();
// Опредяем текущий язык и домен (в случае необходимости обрезаем URL)
languages::curLang();
// Устанавливаем в доступ языковые переменные
if (file_exists(MODUL_DIR . '/core/sitelang-' . languages::curPrefix() . '.php')) {
include MODUL_DIR . '/core/sitelang-' . languages::curPrefix() . '.php';
lang::setLang($LANG);
}
// Подключаем класс для работы с текущим пользователем
user::init();
// активация шаблонной системы
self::$defTemplate = '/structure/default.tpl';
page::init('%', '%');
page::globalVar('h1', '');
page::globalVar('title', '');
page::globalVar('site_name', domains::curDomain()->getSiteName());
page::globalVar('base_email', domains::curDomain()->getEmail());
page::globalVar('user_id', user::get('id'));
page::globalVar('pre_lang', languages::pre());
page::globalVar('time', time());
page::globalVar('current_url', self::getCurrentUrl());
page::globalVar('current_url_pn', self::getCurrentUrlPN());
page::assign('current_url', self::getCurrentUrl());
page::assign('current_url_pn', self::getCurrentUrlPN());
// Заглушка для IE6
if (reg::getKey('/core/noIE6') && preg_match('/msie/i', $_SERVER['HTTP_USER_AGENT']) && !preg_match('/opera/i', $_SERVER['HTTP_USER_AGENT'])) {
$val = explode(" ", stristr($_SERVER['HTTP_USER_AGENT'], 'msie'));
if ($val[1] == '6.0;') {
page::parseIt('/ieDie.tpl', false, true);
system::stop();
}
}
// Заглушка для IE7
if (reg::getKey('/core/noIE7') && preg_match('/msie/i', $_SERVER['HTTP_USER_AGENT']) && !preg_match('/opera/i', $_SERVER['HTTP_USER_AGENT'])) {
$val = explode(" ", stristr($_SERVER['HTTP_USER_AGENT'], 'msie'));
if ($val[1] == '7.0;') {
page::parseIt('/ieDie.tpl', false, true);
system::stop();
}
}
// Заглушка для IE8
if (reg::getKey('/core/noIE8') && preg_match('/msie/i', $_SERVER['HTTP_USER_AGENT']) && !preg_match('/opera/i', $_SERVER['HTTP_USER_AGENT'])) {
$val = explode(" ", stristr($_SERVER['HTTP_USER_AGENT'], 'msie'));
if ($val[1] == '8.0;') {
page::parseIt('/ieDie.tpl', false, true);
system::stop();
}
}
// Оффлайн сообщение
if (!domains::curDomain()->online() && !user::isAdmin() && !(self::issetUrl(0) && self::url(0) == 'mpanel')) {
page::globalVar('content', domains::curDomain()->getOfflineMsg());
page::parseIt('/offline.tpl', false, true);
system::stop();
}
// Генерация файлов robots.txt и sitemap.xml
ormPages::getContentFileRobots();
ormPages::getContentFileSiteMap();
// Проверяем, есть ли текущая страница в кэше
page::checkCache();
// Вызов макроса через Ajax
page::callAjaxMacros();
// Парсим мето-информацию "по умолчанию"
page::globalVar('keywords', reg::getKey(ormPages::getPrefix() . '/keywords'));
page::globalVar('description', reg::getKey(ormPages::getPrefix() . '/description'));
// Загрузка необходимого функционала в зависимости от адреса
$content = '';
// Пытаемся загрузить МОДУЛЬ
if (self::issetUrl(0)) {
$content = self::loadController('controller');
}
// Пытаемся загрузить СТРАНИЦУ
if (!self::issetUrl(0) || $content === false) {
$content = self::loadController('controller', 1, 'structure');
}
// Отображение сообщения "Страница не найдена"
if (empty($content)) {
$content = ormPages::get404();
}
// Парсим контент на страницу
page::fParse('content', $content);
// Версия для печати
$print_file = '/structure/_' . self::getCurrentNavVal() . '.tpl';
if (self::getCurrentNavVal() != '' && file_exists(TEMPL_DIR . $print_file)) {
self::$defTemplate = $print_file;
}
if (!self::$isAdmin) {
$title = str_replace('%text%', page::getGlobalVar('title'), reg::getKey(ormPages::getPrefix() . '/title_prefix'));
page::globalVar('title', $title);
if (file_exists(MODUL_DIR . '/core/template/minitext.tpl')) {
include MODUL_DIR . '/core/template/minitext.tpl';
}
// Мини-тексты, если есть
$list = reg::getList(ormPages::getPrefix() . '/minitext');
while (list($id, $val) = each($list)) {
//инлайн редактирование
if (user::isAdmin() && user::issetRight('minitext_edit', 'structure')) {
$val = str_replace('%val%', $val, str_replace('%id%', $id, $TEMPLATE['frame']));
//.........这里部分代码省略.........
示例9: tagAction
public function tagAction()
{
$templ_file = '/search/gettag.tpl';
$TEMPLATE = page::getTemplate($templ_file);
if (!is_array($TEMPLATE)) {
return page::errorNotFound('search.getTag', $templ_file);
}
if (system::issetUrl(2) && ($tag = tags::infoTag(system::url(2)))) {
$msg = lang::get('SEARCH_H1_TAGS') . ' "' . $tag['name'] . '"';
page::globalVar('h1', $msg);
page::globalVar('title', $msg);
// Получаем список классов
$classes_filter = array();
if (!empty($_POST['classes'])) {
$tmp = explode(",", $_POST['classes']);
$classes_filter = array();
foreach ($tmp as $v) {
$v = trim($v);
if (!empty($v)) {
$classes_filter[] = $v;
}
}
}
$max_count = reg::getKey(ormPages::getPrefix('search') . '/max_count');
$start = (system::getCurrentNavNum() - 1) * $max_count;
$result = tags::find(array($tag['id']), $max_count, $start, $classes_filter);
$list = '';
while (list($num, $val) = each($result['pages'])) {
if ($page = ormPages::get($val['page_id'])) {
page::assign('obj.id', $page->id);
page::assign('obj.num', $num + $start + 1);
page::assign('obj.name', $page->name);
page::assign('obj.url', $page->_url);
//page::assign('obj.content', $page->content);
$cn = $page->getClass()->getSName();
$block_name = isset($TEMPLATE['list_' . $cn]) ? 'list_' . $cn : 'list';
$list .= page::parse($TEMPLATE[$block_name]);
}
}
page::assign('count_page', ceil($result['count'] / $max_count));
} else {
$list = '';
$msg = lang::get('SEARCH_H1_TAGS2');
page::globalVar('h1', $msg);
page::globalVar('title', $msg);
}
if (!empty($list)) {
page::assign('list', $list);
page::fParse('list', $TEMPLATE['frame_list']);
} else {
page::fParse('list', $TEMPLATE['not_found']);
}
return page::parse($TEMPLATE['frame']);
}
示例10: upd
public function upd()
{
if (system::url(3) == 'view') {
header('Content-Type: text/html; charset=utf-8');
page::assign('hello', '');
page::assign('user_name', user::get('name'));
echo page::parse(mailingProcess::getMailHTML(system::url(2)));
system::stop();
}
// Указываем для какого объекта строить форму
if (system::action() == "upd") {
// Если это редактирование
$obj = ormObjects::get(system::url(2));
$parent_id = $obj->parent_id;
$right = 'msg_proc_upd';
if ($obj->error_part_num > 0) {
$time = time() - strtotime($obj->last_subscribe);
if ($time < 5) {
ui::MessageBox(lang::get('SUBSCRIBE_MSG_MB_TITLE'), lang::get('SUBSCRIBE_MSG_MB_TEXT'));
system::redirect('/subscription/msg/' . $parent_id);
}
}
} else {
if (system::action() == "add") {
// Если это добавление нового объекта
$parent_id = system::url(2);
$right = 'msg_proc_add';
$obj = new ormObject();
$obj->setClass('subscribe_msg');
$obj->setParent($parent_id);
$obj->publ_date = date('d.m.Y');
}
}
// Если произошли ошибки, перенаправляем на главную страницу модуля
if ($obj->issetErrors()) {
system::redirect('/subscription');
}
// Устанавливаем кнопки для формы
ui::setCancelButton('/subscription/msg/' . $parent_id);
ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');");
ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');");
// Создаем форму и выводим ее на страницу
$form = new ormEditForm($obj, $right);
// Формируем форму рассылки сообщений
$send_form = '';
if (system::action() == "upd" && user::issetRight('msg_send') && ($parent = ormObjects::get($parent_id))) {
if (file_exists(MODUL_DIR . '/subscription/template/subscription.tpl')) {
include MODUL_DIR . '/subscription/template/subscription.tpl';
$links = '';
// Получаем количество частей в рассылке
$count = mailingProcess::getPartCount($parent->id);
if ($count > 0) {
$part_num = $obj->part_count - $obj->part_count_awaiting + 1;
if ($part_num > $obj->part_count) {
$part_num = 1;
}
page::assign('subject', $parent->subject);
// page::assign('count_part', ruNumbers::decl($count, lang::get('SUBSCRIBE_TS')));
page::assign('count_part', $count);
page::assign('count_part2', $count);
page::assign('part_num', $part_num);
page::assign('release_id', $obj->id);
if ($obj->error_part_num == 0) {
page::assign('error_part_num', $part_num);
page::fParse('sh1', 'block');
page::fParse('sh2', 'none');
} else {
page::assign('error_part_num', $obj->error_part_num);
ui::MessageBox(lang::get('SUBSCRIBE_TEXT_SEND', 9) . $obj->error_part_num . lang::get('SUBSCRIBE_TEXT_SEND', 10), lang::get('SUBSCRIBE_TEXT_SEND', 11));
page::fParse('sh2', 'block');
page::fParse('sh1', 'none');
}
$send_form = page::parse($TEMPLATE['frame']);
$links .= page::parse($TEMPLATE['send_link']);
}
page::assignArray(lang::get('SUBSCRIBE_TEXT_SEND'));
page::assign('url', system::au() . '/subscription/msg_upd/' . $obj->id . '/view');
$links .= page::parse($TEMPLATE['view_link']);
page::assign('list', $links);
$form->addInBottomTabs('base', page::parse($TEMPLATE['frame_link']));
}
}
return $send_form . $form->getHTML();
}
示例11: parseField
private function parseField($field, $TEMPLATE)
{
if (in_array($field['f_sname'], $this->read_only)) {
$value = $this->obj->__get($field['f_sname']);
page::assign('value', $value);
if ($field['f_type'] == 90 || $field['f_type'] == 95 || $field['f_type'] == 105) {
page::assign('val', $this->obj->__get('_' . $field['f_sname']));
} else {
page::assign('val', $value);
}
$value = page::parse($TEMPLATE['read_only']);
page::assign('content', $value);
return page::parse($TEMPLATE['field_standart']);
}
// Определяем значение поля
if (isset($_SESSION['SAVING_POST']) && ($field['f_type'] < 70 || $field['f_type'] > 85) && isset($_SESSION['SAVING_POST'][$field['f_sname']])) {
$value = $_SESSION['SAVING_POST'][$field['f_sname']];
} else {
if ($field['f_type'] == 105) {
$value = $this->obj->__get('_' . $field['f_sname']);
} else {
$value = $this->obj->__get($field['f_sname']);
}
}
page::assign('field.value', $value);
// Для страниц, для кнопки "Показать \ скрыть доп. поля"
if ($this->obj instanceof ormPage && in_array($field['f_sname'], $this->page_fields)) {
$sh_page = isset($_SESSION['SH_FIELDS']) && $_SESSION['SH_FIELDS'] == 'show' ? '' : ' style="display:none;"';
page::assign('sh_page', $sh_page);
} else {
page::assign('sh_page', '');
}
// Специальная обработка данных
if ($field['f_type'] == 50) {
page::assign('element', ui::CheckBox($field['f_sname'], 1, $value));
} else {
if ($field['f_type'] == 32) {
if (empty($value) || $value == '0000-00-00 00:00:00') {
page::assign('field.date', '');
page::assign('field.time', '00:00');
} else {
page::assign('field.date', date('d.m.Y', strtotime($value)));
page::assign('field.time', date('H:i', strtotime($value)));
}
} else {
if ($field['f_type'] == 25) {
$time = empty($value) || $value == '0000-00-00' ? '' : date('d.m.Y', strtotime($value));
page::assign('field.date', $time);
} else {
if ($field['f_type'] == 30) {
$time = empty($value) ? '' : date('H:i:s', strtotime($value));
page::assign('field.time', $time);
} else {
if ($field['f_type'] == 70 || $field['f_type'] == 75 || $field['f_type'] == 80 || $field['f_type'] == 85) {
if (system::$isAdmin) {
page::assign('element', ui::loadFile($field['f_sname'], $value));
} else {
page::fParse('element', $TEMPLATE['upload_file_field']);
}
} else {
if ($field['f_type'] == 73) {
page::assign('element', ui::listFile($field['f_sname'], $value));
} else {
if ($field['f_type'] == 90 || $field['f_type'] == 95) {
// Выпадающий список или Список со множественным выбором
// Получаем список объектов справочника
page::assign('field.sname', $field['f_sname']);
$data = ormObjects::getObjectsByClass($field['f_list_id']);
$multi = $field['f_type'] == 95 ? 'selectbox_multi' : 'selectbox_template';
$empty = !$field['f_required'] ? ' ' : '';
if (system::$isAdmin) {
page::assign('element', ui::SelectBox($field['f_sname'], $data, $value, 400, $empty, '', $multi));
if ($field['f_quick_add']) {
page::fParse('plus', $TEMPLATE['field_' . $field['f_type'] . '_plus']);
} else {
page::assign('plus', '');
}
} else {
page::assign('element', ui::SelectBox($field['f_sname'], $data, $value, 200, $empty, '', $multi));
}
} else {
if ($field['f_type'] == 97) {
// Подчиненный справочник
// Получаем список объектов справочника
$sel = new ormSelect($field['f_list_id']);
$sel->where('parents', '=', $this->obj->id);
// Выводим мультиформу для добавления и редактирования
$form = new ormMultiForm('subject_list_' . $field['f_id']);
$form->setData($sel);
$form->insideForm();
$re = $form->getHTML();
// echo $re;
page::assign('element', $re);
} else {
if ($field['f_type'] == 100) {
// Связь с объектом
page::assign('element', ui::objectLinks($this->obj, $field['f_id']));
}
}
}
//.........这里部分代码省略.........
示例12: getHTML
function getHTML($templ_name = 'orm_tree')
{
if (file_exists(MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl')) {
include MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl';
$main_url = system::au() . '/' . system::url(0) . '/';
page::assign('main_url', $main_url);
page::assign('plus_table', $this->plus_table);
// Помечаем веточку закрытой
if (system::isAjax() && (system::url(2) == 'close' || system::url(2) == 'open') && system::issetUrl(3)) {
if (system::url(2) == 'open' && is_numeric(system::url(3))) {
$_SESSION['TREE_OPEN_NODES'][system::url(3)] = 1;
} else {
if (isset($_SESSION['TREE_OPEN_NODES'][system::url(3)])) {
unset($_SESSION['TREE_OPEN_NODES'][system::url(3)]);
}
}
system::stop();
} else {
// По POST запросу формируем ветку дерева
if (isset($_POST['id'])) {
if (!empty($_POST['id'])) {
//system::log($_POST['id']);
$_POST['id'] = str_replace('phtml_', '', $_POST['id']);
$pos = strpos($_POST['id'], '_');
$_POST['id'] = substr($_POST['id'], 0, strlen($_POST['id']) - (strlen($_POST['id']) - $pos));
//system::log($_POST['id']);
}
$_SESSION['TREE_OPEN_NODES'][$_POST['id']] = 1;
ormPages::init(array($_POST['id'] => 1));
// Строим одни уровень дерева
$tmp = $this->build_menu($_POST['id'], $TEMPLATE, false);
//echo str_replace('`%`', '%', $tmp);
echo $tmp;
system::stop();
}
}
// Парсим дерево разделов
if (isset($_SESSION['TREE_OPEN_NODES'])) {
ormPages::init($_SESSION['TREE_OPEN_NODES']);
}
$subm = $this->build_menu($this->root_id, $TEMPLATE);
page::assign('sub_items', $subm);
page::assign('item.id', $this->root_id);
page::assign('item.parent_id', '');
page::assign('item.url', $this->root_url);
page::assign('item.active', 1);
page::assign('item.name', $this->root_title);
page::assign('item.notice', '');
page::assign('obj.ico', '/css_mpanel/tree/images/classes/core.png');
page::assign('obj.url', '');
page::assign('close', empty($subm) ? '' : ' open');
page::fParse('items', $TEMPLATE['items']);
page::fParse('frame_items', $TEMPLATE['frame_items']);
// Выводим список прав для веточек
$item = '';
$zagl_width = 0;
while (list($key, $right) = each($this->rights)) {
if ($right['java'] == 1) {
$zagl_width += 20;
}
if ($right == 'empty' || !user::issetRight($right['name']) && $right['name'] != 'getUrl()') {
$item .= $right != 'empty' ? '' : page::parse($TEMPLATE['item_right_null']);
} else {
page::assign('title', $right['title']);
page::assign('image_style', $right['class']);
page::assign('url', $main_url . $right['name'] . '/');
page::assign('hide_in_root', $right['show_in_root'] ? '' : ' hide_in_root');
if ($right['name'] == 'getUrl()') {
$templ = 'item_right_url';
} else {
$templ = $right['java'] == 1 ? 'item_right_del' : 'item_right';
}
if (!empty($right['list'])) {
$templ = 'item_right_list';
page::assign('list_id', $right['list']);
page::assign('list_html', $right['list_html']);
page::fParse('tree_list', $TEMPLATE['tree_list']);
}
$item .= page::parse($TEMPLATE[$templ]);
}
}
page::assign('rights', $item);
page::assign('act_link', $this->rightActive);
page::assign('remove_link', $this->rightRemove);
page::assign('load_link', $this->ajaxLink);
page::assign('root_id', $this->root_id);
page::assign('zagl_width', $zagl_width);
// Текст сообщения об удалении элементов
if (empty($this->del_title) || empty($this->del_text)) {
$this->del_title = lang::get('TABLE_DROP_TITLE');
$this->del_text = lang::get('TABLE_DROP_TEXT');
}
page::assign('del_title', $this->del_title);
page::assign('del_text', $this->del_text);
page::assign('width', $this->width);
page::assign('width2', $this->width2);
page::assign('left', $this->width - $this->width2);
page::assign('style_prefix', $this->miniStyle ? '_mini' : '');
page::assign('isEditable', $this->rightEdit ? 1 : 0);
page::assign('isChangeActive', $this->rightActive ? 1 : 0);
//.........这里部分代码省略.........
示例13: parseLineForm
private function parseLineForm($obj, $TEMPLATE, $new_num = 1)
{
$is_upd = !is_numeric($obj['id']) ? false : true;
$current_id = !$is_upd ? 'new' . $new_num : $obj['id'];
page::assign('obj_id', $current_id);
$del_check = $this->without_del || !$is_upd ? '' : $TEMPLATE['del_check'];
page::fParse('del_check', $del_check);
$flist = '';
reset($this->columns);
while (list($name, $column) = each($this->columns)) {
if ($is_upd) {
$new = ' ' . $name;
} else {
$new = empty($flist) ? ' new' : ' new_' . $name;
}
page::assign('new', $new);
$flist .= $this->parseField($obj, $column, $TEMPLATE, $current_id);
}
page::assign('object', $flist);
return page::parse($TEMPLATE['lines']);
}
示例14: upd
public function upd()
{
$is_page = false;
if (file_exists(MODUL_DIR . '/constructor/template/class.tpl')) {
include MODUL_DIR . '/constructor/template/class.tpl';
}
if (system::action() == "upd") {
// форма обновления информации
$class = new ormClass(system::url(2));
if ($class->id() == '') {
system::redirect('/constructor/tree');
}
page::assign('obj.class_name', $class->getName());
page::assign('obj.sname', $class->getSName());
page::assign('obj.text', $class->getPadej());
page::assign('obj.id', $class->id());
$system = $class->isSystem();
$is_list = $class->isList();
$is_page = $class->isPage();
$is_user = $class->isInheritor('user');
$base_class = $class->getBaseClass();
page::assign('right', 'class_proc_upd');
// Выводим дерево для отображения структуры класса
$tree = new ormFieldsTree();
page::assign('fields', $tree->getHTML($class));
} else {
if (system::action() == "add") {
// форма добавления информации
$system = $is_list = $uniqum = $base_class = 0;
// Проверяем существует ли родитель?
if (system::issetUrl(2)) {
$parent = new ormClass(system::url(2));
if ($parent->id() == '') {
system::redirect('/constructor/tree');
}
$is_list = $parent->isList();
$is_page = $parent->isPage();
$is_user = $parent->isInheritor('user');
} else {
$is_user = false;
}
page::assign('obj.id', system::url(2));
page::assign('right', 'class_proc_add');
}
}
if ($is_page) {
ui::SelectBox('class_list', ormClasses::getPagesClassList(), $base_class, 400, ' ');
ui::SelectBox('template_list1', templates::getByDestination(0, true), isset($class) ? $class->getDefTemplate(0) : 0, 400, ' ');
ui::SelectBox('template_list2', templates::getByDestination(1, true), isset($class) ? $class->getDefTemplate(1) : 0, 400, ' ');
page::fParse('page_fields', $TEMPLATE['page_fields']);
} else {
if ($is_user) {
page::fParse('page_fields', $TEMPLATE['user_fields']);
} else {
page::assign('page_fields', '');
}
}
if (system::action() == "add" || !$class->isSystem()) {
ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');");
ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');");
ui::setCancelButton('/constructor');
} else {
ui::setBackButton('/constructor');
}
page::assignArray(lang::get('CONSTR_FORM_FIELD'));
page::assignSavingPost();
ui::CheckBox('system', 1, $system, lang::get('CONSTR_FORM_FIELD', 3));
ui::CheckBox('is_list', 1, $is_list, lang::get('CONSTR_FORM_FIELD', 4));
return page::parse($TEMPLATE['frame'], 1);
}
示例15: navigation
/**
* @return HTML
* @param int $count_page - Количество страниц которое необходимо отобразить. Если = 0, список не выведется.
* @param int $smeshenie - Количество страниц выводящихся справа и слева от текущей.
* @param string $templ_name - Шаблон оформления.
* @desc МАКРОС: Вывод постраничной навигации.
*/
public function navigation($count_page = 0, $smeshenie = 4, $templ_name = 'default')
{
$navbar = '';
$templ_file = '/structure/navigation/' . $templ_name . '.tpl';
$TEMPLATE = page::getTemplate($templ_file);
if (!is_array($TEMPLATE)) {
return page::errorNotFound('structure.navigation', $templ_file);
} else {
$current_num = system::getCurrentNavNum();
$current_url = system::getCurrentUrl();
if ($count_page > 1) {
// Просчитывает какие страницы показывать
$raznica1 = $current_num - $smeshenie;
$raznica1 = $raznica1 < 0 ? -$raznica1 : 0;
$raznica2 = $count_page - $current_num - $smeshenie;
$raznica2 = $raznica2 < 0 ? -$raznica2 : 0;
$niz = $current_num - $smeshenie - $raznica2;
if ($niz < 1) {
$niz = 1;
}
$verx = $current_num + $smeshenie + $raznica1;
if ($verx > $count_page) {
$verx = $count_page;
}
page::assign('current_num', $current_num);
page::assign('count_page', $count_page);
page::assign('first_page', $current_url . '=1');
page::assign('previous_page', $current_url . '=' . ($current_num - 1));
page::assign('next_page', $current_url . '=' . ($current_num + 1));
page::assign('last_page', $current_url . '=' . $count_page);
if (!empty($smeshenie)) {
// Определяемся с левым блоком
page::assign('num', $current_num - 1);
if ($niz !== 1 && isset($TEMPLATE['left_block'])) {
$left_block = page::parse($TEMPLATE['left_block']);
} else {
$left_block = '';
}
page::assign('left_block', $left_block);
// Определяемся с правым блоком
page::assign('num', $current_num + 1);
if ($verx != $count_page && isset($TEMPLATE['right_block'])) {
$right_block = page::parse($TEMPLATE['right_block']);
} else {
$right_block = '';
}
page::assign('right_block', $right_block);
// Вывод списка страниц
$pages = '';
for ($i = $niz; $i < $verx + 1; $i++) {
page::assign('page_num', $i);
page::assign('page_url', $current_url . '=' . $i);
$tmpl = $i == $current_num ? 'list_active' : 'list';
$pages .= page::parse($TEMPLATE[$tmpl]);
}
page::assign('list', $pages);
} else {
// Определяемся с левым блоком
page::assign('num', $current_num - 1);
if ($current_num - 1 > 0 && isset($TEMPLATE['left_block'])) {
$left_block = page::parse($TEMPLATE['left_block']);
} else {
$left_block = '';
}
page::assign('left_block', $left_block);
// Определяемся с правым блоком
page::assign('num', $current_num + 1);
if ($current_num + 1 <= $count_page && isset($TEMPLATE['right_block'])) {
$right_block = page::parse($TEMPLATE['right_block']);
} else {
$right_block = '';
}
page::assign('right_block', $right_block);
page::assign('page_num', $current_num);
page::assign('page_url', $current_url . '=' . $current_num);
page::fParse('list', $TEMPLATE['list_active']);
}
$navbar = page::parse($TEMPLATE['frame']);
}
}
return $navbar;
}