public function del() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление $obj = new ormObject(system::url(2)); $obj->delete(); echo 'delete'; } else { if (isset($_POST['objects'])) { // Множественное удаление while (list($id, $val) = each($_POST['objects'])) { if (is_numeric($id)) { $obj = new ormObject($id); $obj->delete(); } } echo 'delete'; } else { if (!system::issetUrl(2)) { // Удаление всех объектов $objects = ormObjects::getTrashObjects(); while (list($id, $val) = each($objects)) { $obj = new ormObject($val['id']); $obj->delete(); } echo 'delete'; } } } system::stop(); }
public function defAction() { $count = ormObjects::getCountTrashObjects(); $max_count = uiTable::getMaxCount(); if (uiTable::getCurPage() != 1) { $niz = empty($start_pos) ? uiTable::getCurPage() * $max_count - $max_count : 0; $objects = ormObjects::getTrashObjects($niz, $max_count); } else { $objects = ormObjects::getTrashObjects($max_count); } if (user::issetRight('object_del') && !empty($objects)) { ui::newButton(lang::get('BTN_NEW_CLEAК_TRASH'), 'javascript:clearTrash();'); } $table = new uiTable($objects, $count); $table->addColumn('name', lang::get('TRASH_TABLE_1'), 400); $table->addColumn('class', lang::get('TRASH_TABLE_2')); $table->addColumn('date', lang::get('TRASH_TABLE_3'), 0, false, false, 'viewDateTime'); $table->addColumn('user', lang::get('TRASH_TABLE_4'), 200); $table->addRight('object_restore', 'restore', multi, 'restoreObj(this)', lang::get('TRASH_TABLE_RESTORE')); $table->addRight('object_del', 'drop', multi); $table->setDelMessage(lang::get('TRASH_DEL_TITLE'), lang::get('TRASH_DEL_MSG')); $table->setMultiDelMessage(lang::get('TRASH_DEL_TITLE2'), lang::get('TRASH_DEL_MSG2')); $table->emptyText(lang::get('TRASH_EMPTY_MSG')); $html = ' <script type="text/javascript" src="/css_mpanel/restore_objects.js"></script> <input id="clearTrashTitle" type="hidden" value="' . lang::get('TRASH_DEL_TITLE3') . '"> <input id="clearTrashText" type="hidden" value="' . lang::get('TRASH_DEL_MSG3') . '"> '; return $html . $table->getHTML(); }
public function proc_upd() { $obj = ormPages::get(system::POST('obj_id')); $obj->tabuList('pseudo_url', 'h1', 'keywords', 'title', 'description', 'active', 'is_home_page', 'view_in_menu', 'view_submenu', 'in_search', 'in_index', 'in_new_window', 'other_link', 'img_act', 'img_no_act', 'img_h1'); $obj->loadFromPost(); // Публикация на сайте if (system::POST('publ', isBool)) { if ($obj->isInheritor('faq') && $obj->newVal('answer') == '') { ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), lang::get('FEEDBACK_MSG_3')); ui::selectErrorFields(array('select' => '', 'focus' => 'answer')); } else { $obj->active = 1; } } $obj_id = $obj->save(); // Если объект не сохранился, выводим пользователю текст ошибки. if ($obj_id === false) { system::savePostToSession(); ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $obj->getErrorListText()); ui::selectErrorFields($obj->getErrorFields()); system::redirect('/feedback/message_upd/' . $_POST['obj_id']); } if (system::POST('send_to_email', isBool) && !$obj->send_answer_to_user && ($form_obj = ormObjects::get($obj->form_id))) { if ($form_obj->send_answer) { if ($obj->answer != '') { $fields = $obj->getClass()->loadFields(); while (list($num, $field) = each($fields)) { if (!empty($field['f_sname'])) { page::assign($field['f_sname'], $obj->__get($field['f_sname'])); } } page::assign('site_name', domains::curDomain()->getSiteName()); page::assign('base_email', domains::curDomain()->getEmail()); $mail = new phpmailer(); $mail->From = $this->parse($form_obj->answer_sender_address); $mail->FromName = $this->parse($form_obj->answer_sender_name); $mail->AddAddress($obj->email); $mail->WordWrap = 50; $mail->IsHTML(true); $mail->Subject = $this->parse($form_obj->answer_subject); $mail->Body = $this->parse($form_obj->answer_template); $mail->Send(); // Помечаем, что ответ отправлен $obj->send_answer_to_user = 1; $obj->save(); ui::MessageBox(lang::get('FEEDBACK_MSG_1'), ''); } else { ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), lang::get('FEEDBACK_MSG_2')); ui::selectErrorFields(array('select' => '', 'focus' => 'answer')); } } } // Если данные изменились корректно перенаправляем на соответствующию страницу if ($_POST['parram'] == 'apply') { system::redirect('/feedback/message_upd/' . $obj_id); } else { system::redirect('/feedback'); } }
public function unsubscribeAction() { if (system::issetUrl(2) && system::issetUrl(3)) { if (($obj = ormObjects::get(system::url(2))) && $obj->isInheritor('subscription')) { mailingProcess::delEmailById(system::url(3), $obj->id); page::assign('name', $obj->name); return page::parse(lang::get('SUBSCRIPTION_MSG2')); } } return ormPages::get404(); }
public function defAction() { if (file_exists(MODUL_DIR . '/eshop/template/settings.tpl')) { include MODUL_DIR . '/eshop/template/settings.tpl'; } ui::newButton(lang::get('BTN_SAVE_ONLY'), "javascript:sendForm('save');"); page::assignArray(lang::get('ESHOP_TEXT_SETTINGS')); ui::SelectBox('fisrt_state', ormObjects::getObjectsByClass('eshop_status'), reg::getKey('/eshop/fisrt_state')); ui::CheckBox('only_reg', 1, reg::getKey('/eshop/only_reg'), lang::get('ESHOP_TEXT_SETTINGS', 1)); ui::CheckBox('check_count', 1, reg::getKey('/eshop/check_count'), lang::get('ESHOP_TEXT_SETTINGS', 2)); ui::CheckBox('dubl_to_email', 1, reg::getKey('/eshop/dubl_to_email'), lang::get('ESHOP_TEXT_SETTINGS', 3)); //page::assign('nds', reg::getKey('/eshop/nds')); page::assign('min_count', reg::getKey('/eshop/min_count')); return page::parse($TEMPLATE['frame']); }
/** * @return HTML * @param int $form_id - ID формы обратной связи. Форма предварительно должна быть создана в настройках модуля "Обратная связь". * @param string $templ_name - Шаблон оформления * @desc МАКРОС: Автоватически генерирует форму обратной связи (добавления отзыва, вопрос-ответа и пр.) */ public function autoForm($form_id, $templ_name = 'default') { if ($form_obj = ormObjects::get($form_id, 'feedback_form')) { $obj = new ormPage(); $obj->setClass($form_obj->form_class); $form = new ormEditForm($obj, languages::pre() . '/feedback/send_message'); $form->tabuList('pseudo_url', 'h1', 'keywords', 'title', 'description', 'active', 'is_home_page', 'view_in_menu', 'view_submenu', 'in_search', 'answer', 'in_index', 'in_new_window', 'other_link', 'img_act', 'img_no_act', 'img_h1'); page::assign('form_id', $form_obj->id); if ($form_obj->captcha) { $form->showCaptcha(); } // Парсим текст сообщения page::parseError('feedback'); return $form->getHTML('feedback/' . $templ_name); } }
public function defAction() { // Определяем какие кнопки будут $types = ormClasses::get('user')->getAllInheritors(); if (count($types) > 1) { $class_list = ''; while (list($id, $name) = each($types)) { $bclass = ormClasses::get($id); $class_list .= '<a href="' . system::au() . '/users/user_add/' . system::url(2) . '/' . $bclass->getSName() . '" style="line-height:17px;">' . $bclass->getName() . '</a><br />'; } ui::newButton(lang::get('BTN_NEW_USER'), "/users/user_add/" . system::url(2), 'class_list', $class_list); } else { ui::newButton(lang::get('BTN_NEW_USER'), "/users/user_add/" . system::url(2)); } ui::setBackButton('/users'); // Заголовок страницы if ($group = ormObjects::get(system::url(2))) { ui::setNaviBar($group->name); ui::setHeader(lang::right('userlist')); } // Выбираем пользователей $sel = new ormSelect('user'); if (system::issetUrl(2) && system::url(2) != 0) { $sel->where('parents', '=', system::url(2)); } $sel->orderBy('create_date', desc); // Строим таблицу $table = new uiTable($sel); $table->formatValues(true); $table->showSearch(true); $table->addColumn('login', lang::get('USERS_TABLE_FIELD_1'), 0, true); $table->addColumn('surname name', lang::get('USERS_TABLE_FIELD_2'), 0, true); $table->addColumn('create_date', lang::get('USERS_TABLE_FIELD_7'), 0, true, true, '', 1); $table->addColumn('last_visit', lang::get('USERS_TABLE_FIELD_3'), 0, true, true, '', 1); $table->addColumn('parents', lang::get('USERS_TABLE_FIELD_4'), 0, false, true); $table->defaultRight('user_upd'); $table->addRight('user_upd', 'edit', single); $table->addRight('user_act', 'active', multi); $table->addRight('user_del', 'drop', multi); $table->setDelMessage(lang::get('USERS_DEL_TITLE'), lang::get('USERS_DEL_TEXT')); $table->setMultiDelMessage(lang::get('USERS_DEL_TITLE_MULTI'), lang::get('USERS_DEL_TEXT_MULTI')); return $table->getHTML(); }
function proc_view() { // Говорим какой объект нужно изменить if (!($obj = ormObjects::get(system::POST('obj_id'), 'eshop_order'))) { system::redirect('/eshop/list'); } $order = new eShopOrder($obj); $order->setState(system::POST('state', isInt)); $order->is_payment = system::POST('is_payment', isBool); if (system::POST('is_payment', isBool)) { $order->payment_date = date('Y-m-d H:i:s'); } $order->delivery_name = system::POST('delivery_name', isString); $order->delivery_surname = system::POST('delivery_surname', isString); $order->delivery_phone = system::POST('delivery_phone', isString); $order->delivery_address = system::POST('delivery_address', isText); $order->delivery_notice = system::POST('delivery_notice', isText); $order->notice = system::POST('notice', isText); $form = new ormMultiForm('goods'); $form->withoutAdditions(); $form->process(); // Сохраняем изменения $obj_id = $order->save(); // Если объект не сохранился, выводим пользователю текст ошибки. if ($obj_id === false) { //system::savePostToSession(); ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $obj->getErrorListText()); ui::selectErrorFields($obj->getErrorFields()); system::redirect('/eshop/order_view/' . system::POST('obj_id')); } // Если данные изменились корректно перенаправляем на соответствующию страницу if ($_POST['parram'] == 'apply') { system::redirect('/eshop/order_view/' . $obj_id); } else { system::redirect('/eshop/list'); } }
public function getParent($class_name = '') { if (empty($class_name)) { if ($this instanceof ormPage) { return ormPages::get($this->getParentId()); } else { return ormObjects::get($this->getParentId()); } } else { if ($class = ormClasses::get($class_name)) { // Ищем родителя нужного класса $this->getParents(); reset($this->parents); while (list($obj_id, $val) = each($this->parents)) { if ($val['parent_class'] == $class->id()) { if ($class->isPage()) { return ormPages::get($obj_id); } else { return ormObjects::get($obj_id); } } } } } return false; }
public function del() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление $obj = ormObjects::get(system::url(2)); if ($obj->isInheritor('user') && $obj->id != user::get('id')) { $this->sendMailDel($obj); cache::delete('user' . $obj->id); $obj->toTrash(); echo 'delete'; } } else { if (isset($_POST['objects'])) { // Множественное удаление while (list($id, $val) = each($_POST['objects'])) { if (is_numeric($id)) { $obj = ormObjects::get($id); if ($obj->isInheritor('user') && $obj->id != user::get('id')) { $this->sendMailDel($obj); cache::delete('user' . $obj->id); $obj->toTrash(); } } } echo 'delete'; } } system::stop(); }
public function goodsList($order_id, $templ_name = 'goods_list') { $templ_file = '/eshop/' . $templ_name . '.tpl'; $TEMPLATE = page::getTemplate($templ_file); if (!is_array($TEMPLATE)) { return page::errorNotFound('eshop.goodsList', $templ_file); } if ($order = ormObjects::get($order_id, 'eshop_order')) { $fields = page::getFields('obj', $TEMPLATE['list']); $sel = new ormSelect('eshop_goods'); $sel->where('parents', '=', $order_id); $list = ''; $num = $cost = 0; while ($goods = $sel->getObject()) { if ($obj = ormPages::get($goods->goods_id, 'goods')) { $num++; if (isset($fields['obj'])) { while (list($key, $val) = each($fields['obj'])) { if ($val != 'url' && $val != 'class' && $val != 'num') { page::assign('obj.' . $val, $obj->__get($val)); } } } 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.name', $obj->name); page::assign('obj.cost', $goods->cost); page::assign('obj.count', $goods->count); page::assign('obj.url', $obj->url); $cost_all = $goods->cost * $goods->count; page::assign('obj.cost_all', $cost_all); $cost += $cost_all; $list .= page::parse($TEMPLATE['list']); } } if (!empty($list)) { page::assign('cost', $cost); page::assign('list', $list); return page::parse($TEMPLATE['frame']); } else { return page::parse($TEMPLATE['empty']); } } }
static function createCookie() { $remeber_me = md5(self::get('id') + rand(1000, 10000000)); $user = ormObjects::get(self::get('id'), 'user'); $user->remember_me = $remeber_me; $user->save(); return self::get('id') . '-' . self::browserHash() . '-' . $remeber_me; }
public function del() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление if ($obj = ormObjects::get(system::url(2))) { if ($obj->isInheritor('subscribe_msg')) { $obj->toTrash(); } } echo 'delete'; } else { if (isset($_POST['objects'])) { // Множественное удаление while (list($id, $val) = each($_POST['objects'])) { if ($obj = ormObjects::get($id)) { if ($obj->isInheritor('subscribe_msg')) { $obj->toTrash(); } } } echo 'delete'; } } system::stop(); }
public function del() { if (!isset($_POST['objects']) && system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление $obj = ormObjects::get(system::url(2)); if ($obj->isInheritor('user_group') && $obj->id != 32 && $obj->id != 48) { $obj->toTrash(); echo 'delete'; } } else { if (isset($_POST['objects'])) { // Множественное удаление while (list($id, $val) = each($_POST['objects'])) { if (is_numeric($id)) { $obj = ormObjects::get($id); if ($obj->isInheritor('user_group') && $obj->id != 32 && $obj->id != 48) { $obj->toTrash(); } } } echo 'delete'; } } system::stop(); }
// удаление объекта public function del() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление ormObjects::get(system::url(2))->toTrash(); echo 'delete'; } else { if (isset($_POST['objects'])) { // Множественное удаление while (list($id, $val) = each($_POST['objects'])) { ormObjects::get($id)->toTrash(); } echo 'delete'; } } system::stop();
function okAction() { if ($form_obj = ormObjects::get(system::url(2))) { page::globalVar('h1', lang::get('FEEDBACK_TITLE')); page::globalVar('title', lang::get('FEEDBACK_TITLE')); if ($form_obj->msg != '') { return $form_obj->msg; } else { return lang::get('FEEDBACK_MSG_1'); } } system::redirect('/'); }
public function getChild($with_trash = false) { $this->getChildren(-1, $with_trash); if (count($this->childr) > 0) { if (isset($this->childr[$this->child_num])) { $obj = ormPages::get($this->childr[$this->child_num]); if (!$obj instanceof ormObject) { $obj = ormObjects::get($this->childr[$this->child_num]); } if ($obj instanceof ormObject) { $this->child_num++; if ($this->child_num > count($this->childr)) { $this->child_num = 0; } return $obj; } } } }
static function delEmailById($user_id, $subscription_id) { if (($obj = ormObjects::get($user_id)) && !empty($subscription_id)) { if ($obj->isInheritor('subscribe_user')) { $parents = $obj->getParents(); if (count($parents) > 1) { $obj->delParent($subscription_id); } else { $obj->delete(); } return true; } } return false; }
protected function viewChildren($val, $obj) { if (!empty($val)) { $names = ''; while (list($key, $id) = each($val)) { $pre = empty($key) ? '' : ', '; $names .= $pre . ormObjects::get($id)->name; } return $names; } }
public function addlist() { // Устанавливаем кнопки для формы ui::setCancelButton('/subscription/user/' . system::url(2)); ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');"); if (file_exists(MODUL_DIR . '/subscription/template/add_userlist.tpl')) { include MODUL_DIR . '/subscription/template/add_userlist.tpl'; } // Добавляем поле "Подписан на рассылку" $html = ui::SelectBox('subscribes', ormObjects::getObjectsByClass('subscription'), system::url(2), 400, '', '', 'selectbox_multi_big'); page::assignArray(lang::get('SUBSCRIBE_TEXT')); page::assign('parent_id', system::url(2)); return page::parse($TEMPLATE['frame']); }
public function filter($section, $templ_name = 'filter_default') { $templ_file = '/structure/objects/' . $templ_name . '.tpl'; $TEMPLATE = page::getTemplate($templ_file); if (!is_array($TEMPLATE)) { return page::errorNotFound('structure.filter', $templ_file); } // Определяем текущий раздел $info = ormPages::getSectionByPath($section); $section_id = $info['section'] instanceof ormPage ? $info['section']->id : 'NULL'; $class_name = !empty($info['class']) ? $info['class'] : ''; // Определяем общий ORM-класс для всех объектов данного раздела. if (empty($class_name) && ($section_id != 'NULL' || is_array($info['section']))) { $sel = new ormSelect(); $sel->findInPages(); if (is_array($info['section'])) { $sel->where('parents', '=', $info['section']); } else { $sel->where('parents', '=', $section_id); } $class_name = $sel->getObjectsClass(); } // Получаем список полей $fields = !empty($class_name) ? ormClasses::get($class_name)->loadFields() : array(); $ind = is_array($info['section']) ? $info['section'] : $section_id; $prefix = md5($class_name . $ind); page::assign('section_id', $section_id); page::assign('class_name', $class_name); page::assign('target', $prefix); // Выводим список фильтров $num = 0; $list = ''; $all_count = count($fields); while (list($fname, $field) = each($fields)) { if ($field['f_filter'] && $field['f_type'] < 100) { $this->checkFilterPost($fname, $field, $prefix); $num++; page::assign('field.num', $num); page::assign('class-first', $num == 1 ? 'first' : ''); page::assign('class-last', $num == $all_count ? '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('field.id', $field['f_id']); page::assign('field.name', $field['f_name']); page::assign('field.sname', $field['f_sname']); $value = isset($_SESSION['filters'][$prefix][$fname]) ? $_SESSION['filters'][$prefix][$fname] : ''; $value2 = isset($_SESSION['filters'][$prefix][$fname . '_2']) ? $_SESSION['filters'][$prefix][$fname . '_2'] : ''; page::assign('field.value', $value); if ($field['f_type'] == 90 || $field['f_type'] == 95) { // Справочники $data = ormObjects::getObjectsByClass($field['f_list_id']); $list_vals = ''; if (isset($TEMPLATE['filter_relation_list_null'])) { page::assign('obj.selected', $value == 0 ? ' selected' : ''); $list_vals .= page::parse($TEMPLATE['filter_relation_list_null']); } while (list($k, $val) = each($data)) { page::assign('obj.id', $val['id']); page::assign('obj.name', $val['name']); page::assign('obj.selected', $value == $val['id'] ? ' selected' : ''); if (!empty($list_vals) && isset($TEMPLATE['filter_relation_separator'])) { $list_vals .= page::parse($TEMPLATE['filter_relation_separator']); } $list_vals .= page::parse($TEMPLATE['filter_relation_list']); } page::assign('list', $list_vals); $filter = page::parse($TEMPLATE['filter_relation']); } else { if ($field['f_type'] == 10 || $field['f_type'] == 15 || $field['f_type'] == 20 || $field['f_type'] == 30) { // Текстовые поля $filter = page::parse($TEMPLATE['filter_text']); } else { if ($field['f_type'] == 25 || $field['f_type'] == 35) { // Дата page::assign('field.value1', $value); page::assign('field.value2', $value2); $filter = page::parse($TEMPLATE['filter_beetwen_date']); } else { if ($field['f_type'] == 40 || $field['f_type'] == 45 || $field['f_type'] == 47) { // Числа и цены page::assign('field.value1', $value); page::assign('field.value2', $value2); $filter = page::parse($TEMPLATE['filter_beetwen_int']); } else { // Все остальные, как логические Есть \ нет page::assign('field.checked', system::checkVar($value, isBool) ? 'checked' : ''); $filter = page::parse($TEMPLATE['filter_boolean']); } } } } page::assign('filter', $filter); if ($num > 1 && isset($TEMPLATE['separator'])) { $list .= page::parse($TEMPLATE['separator']); } $list .= page::parse($TEMPLATE['list']); } } if (!empty($list)) { page::assign('list', $list); return page::parse($TEMPLATE['frame']); } else { return page::parse($TEMPLATE['empty']); } }
/** * @return null * @param string $callback - Имя php-функции для обработки добавления/изменения объектов. * @desc Сохраняет все пришедшие данные. Метод используется обработчиком формы. */ public function process($callback = '', $addit_parram = '') { if (isset($_POST['obj' . $this->form_name]) && isset($_POST['class_' . $this->form_name])) { $class = ormClasses::get($_POST['class_' . $this->form_name]); $mas = $class->loadFields(); while (list($id, $fields) = each($_POST['obj' . $this->form_name])) { $keys = array_keys($fields); if (is_numeric($id)) { $obj = ormObjects::get($id); } else { if (!$this->without_add && !empty($fields[$keys[0]])) { $obj = new ormObject(); $obj->setClass($class->getSName()); } } if (isset($obj) && $obj instanceof ormObject) { if (!$this->without_del && isset($_POST['delete_' . $obj->id])) { $obj->toTrash(); } else { reset($mas); while (list($key, $f_val) = each($mas)) { if ($f_val['f_type'] > 89 && $f_val['f_type'] < 101 && $f_val['f_relation'] == 2 && isset($fields[$key])) { // Справочник с типом "Выбор родителя" $obj->clearParents(); $ps = $obj->getParents(); $parents = $fields[$key]; if (!empty($parents)) { if (is_numeric($parents) && !empty($parents)) { $pos = isset($ps[$parents]) ? $ps[$parents]['position'] : 0; $obj->setNewParent($parents, $pos); } else { if (is_array($parents)) { while (list($key, $val) = each($parents)) { if (!empty($val)) { $pos = isset($ps[$val]) ? $ps[$val]['position'] : 0; $obj->setNewParent($val, $pos); } } } } } } else { if ($f_val['f_type'] == 50 && !isset($fields[$key])) { // Галочка $obj->__set($key, false); } else { if (isset($fields[$key])) { // Дополнительная проверка для файловых полей if ($f_val['f_type'] > 69 && $f_val['f_type'] < 86) { if (!empty($_FILES['file_obj' . $this->form_name]['tmp_name'][$id][$key])) { // Создаем переменную обманку, чтобы объект сам обработал файл $file = array('name' => $_FILES['file_obj' . $this->form_name]['name'][$id][$key], 'type' => $_FILES['file_obj' . $this->form_name]['type'][$id][$key], 'tmp_name' => $_FILES['file_obj' . $this->form_name]['tmp_name'][$id][$key], 'error' => $_FILES['file_obj' . $this->form_name]['error'][$id][$key], 'size' => $_FILES['file_obj' . $this->form_name]['size'][$id][$key]); $_FILES['file_' . $key] = $file; } } $obj->__set($key, $fields[$key]); } else { if (!empty($fields[$key . '_date']) && isset($fields[$key . '_time'])) { $datetime = $fields[$key . '_date'] . ' ' . $fields[$key . '_time'] . ':00'; $obj->__set($key, $datetime); } } } } } if (!empty($callback) && function_exists($callback)) { $is_ok = call_user_func($callback, $obj, $addit_parram); } else { $is_ok = true; } if ($is_ok) { $is_ok = $obj->save(); } if ($is_ok === false) { // echo $obj->getErrorListText(); system::savePostToSession(); ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $obj->getErrorListText()); //ui::selectErrorFields($obj->getErrorFields()); } unset($obj); } } } } }
function delete() { if (!empty($this->obj)) { if (($state = ormObjects::get($this->obj->state)) && $state->is_delete) { $this->obj->delete(); return true; } } return false; }
public function getObject() { if (!isset($this->cache['data'])) { $this->cache['data'] = $this->createQuery(1); } if (!isset($this->cache['num'])) { $this->reset(); } $this->cache['num']++; if ($this->cache['num'] < count($this->cache['data'])) { $obj_data = $this->cache['data'][$this->cache['num']]; if (($class = ormClasses::get($obj_data['o_class_id'])) && $class->isPage()) { return ormPages::get($obj_data); } else { return ormObjects::get($obj_data); } } }
public function history() { if (system::url(2) == 0) { system::redirect('/subscription'); } if ($obj = ormObjects::get(system::url(2))) { ui::setBackButton('/subscription'); ui::setNaviBar(lang::right('subscribe_history')); ui::setHeader($obj->name); return ui::getHistoryTable($obj->id); } system::redirect('/subscription'); }
public function getHTML($templ_name = 'filters') { if ($this->getCount() > 0 && file_exists(MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl')) { include MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl'; $items = ''; $num = 0; // Строим список фильтров reset($this->filters); while (list($key, $field) = each($this->filters)) { $num++; if (isset($this->new_filters[$num])) { if ($this->new_filters[$num][2]) { page::assign('field.name', $this->new_filters[$num][0]); page::assign('field.content', $this->new_filters[$num][1]); $items .= page::parse($TEMPLATE['field_spec']); } else { $items .= $this->new_filters[$num][1]; } } if (!isset($_SESSION['filters_' . $this->prefix][$field['f_sname']])) { $_SESSION['filters_' . $this->prefix][$field['f_sname']] = ''; } if (isset($this->show_filters[$field['f_sname']]) && !empty($this->show_filters[$field['f_sname']][0])) { $field['f_name'] = $this->show_filters[$field['f_sname']][0]; } page::assign('field.name', $field['f_name']); if ($field['f_type'] == 50 || $field['f_type'] > 69 && $field['f_type'] < 96) { // Выпадающий список $data = array(); if ($field['f_type'] == 50) { $data = lang::get('FILTER_BOOL'); } else { if ($field['f_type'] > 69 && $field['f_type'] < 86) { $data = lang::get('FILTER_ISSET'); } else { if ($field['f_type'] == 90 || $field['f_type'] == 95) { $data = ormObjects::getObjectsByClass($field['f_list_id']); } } } $element = ui::SelectBox($field['f_sname'], $data, $_SESSION['filters_' . $this->prefix][$field['f_sname']], 172, ' ', '', 'selectbox_mini'); page::assign('element', $element); $items .= page::parse($TEMPLATE['field_select']); } else { if (isset($this->show_filters[$field['f_sname']]) && $this->show_filters[$field['f_sname']][1] || ($field['f_type'] == 25 || $field['f_type'] == 30 || $field['f_type'] == 32) && (!isset($this->show_filters[$field['f_sname']]) || $this->show_filters[$field['f_sname']][1] !== false)) { // Выбор промежутка для чисел или дат if (!isset($_SESSION['filters_' . $this->prefix][$field['f_sname'] . '_2'])) { $_SESSION['filters_' . $this->prefix][$field['f_sname'] . '_2'] = ''; } page::assign('field.sname', $field['f_sname']); page::assign('field.value', $_SESSION['filters_' . $this->prefix][$field['f_sname']]); page::assign('field.value2', $_SESSION['filters_' . $this->prefix][$field['f_sname'] . '_2']); $items .= page::parse($TEMPLATE['field_period']); } else { // Обычный фильтр - текстовое поле page::assign('field.sname', $field['f_sname']); page::assign('field.value', $_SESSION['filters_' . $this->prefix][$field['f_sname']]); $items .= page::parse($TEMPLATE['field']); } } } $all_count = $num + count($this->new_filters); while ($num < $all_count) { $num++; if (isset($this->new_filters[$num])) { if ($this->new_filters[$num][2]) { page::assign('field.name', $this->new_filters[$num][0]); page::assign('field.content', $this->new_filters[$num][1]); $items .= page::parse($TEMPLATE['field_spec']); } else { $items .= $this->new_filters[$num][1]; } } } page::assign('fields', $items); return page::parse($TEMPLATE['frame']); } }
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'])); } } } } } } } } } page::assign('field.id', $field['f_id']); page::assign('field.name', $field['f_name']); page::assign('field.hint', $field['f_hint']); page::assign('field.sname', $field['f_sname']); page::fParse('field.dotted', !empty($field['f_hint']) ? 'dotted' : ''); if (empty($field['f_max_size'])) { $field['f_max_size'] = $field['f_type'] == 60 ? 200 : 100; } page::assign('field.max_size', $field['f_max_size']); // Генерируем яву (создаем правила проверки для элементов формы) if ($field['f_required'] && ($field['f_type'] == 35 && $this->obj->id == '' || $field['f_type'] != 35)) { $msg = str_replace('%title%', $field['f_name'], lang::get('CONSTR_BASE_FIELD_E2')); if ($field['f_type'] == 60) { // HTML - редактор $this->addit_function .= page::parse(' function checkValue%field.sname%(){ var value = CKEDITOR.instances["%field.sname%"].getData(); return (value != "") ? true : [[ "cke_%field.sname%", "' . $msg . '" ]]; } '); $this->java .= page::parse('rules.push("function,checkValue%field.sname%");'); } else { if ($field['f_type'] == 100) { // Выбор объекта $this->addit_function .= page::parse(' function checkObjectLinks%field.sname%(){ var count = $("#objectsLinkList_%field.sname% > li").length; return (count > 0) ? true : [[ %field.sname%, "' . $msg . '" ]]; } '); $this->java .= page::parse('rules.push("function,checkObjectLinks%field.sname%");'); } else { if ($field['f_type'] == 32) { // Каледарь и время $this->java .= page::parse('rules.push("required,%field.sname%_date,' . $msg . '");'); } else { $this->java .= page::parse('rules.push("required,%field.sname%,' . $msg . '");'); } } } $zvezd = 'chek'; } else { $zvezd = ''; } page::assign('field.zvezd', $zvezd); if ($field['f_type'] == 15) { $this->java .= page::parse('rules.push("valid_email,%field.sname%,' . lang::get('CONSTR_BASE_FIELD_E3') . '");'); } if ($field['f_type'] == 20) { $this->java .= page::parse('rules.push("reg_exp,%field.sname%,^(((f|ht){1}tp:/)*/[-a-zA-Z0-9@:%_\\+.~#?&//=]+)*$|^\\/{1}, ' . lang::get('CONSTR_BASE_FIELD_E4') . '");'); } if ($field['f_type'] == 40) { $this->java .= page::parse('rules.push("digits_only,%field.sname%,' . lang::get('CONSTR_BASE_FIELD_E6') . '");'); } if ($field['f_type'] == 45) { $this->java .= page::parse('rules.push("float_only,%field.sname%,' . lang::get('CONSTR_BASE_FIELD_E7') . '");'); } if ($field['f_type'] == 47) { $this->java .= page::parse('rules.push("price_only,%field.sname%,' . lang::get('CONSTR_BASE_FIELD_E8') . '");'); } if (isset($TEMPLATE['field_' . $field['f_type']])) { return page::parse($TEMPLATE['field_' . $field['f_type']]); } else { return str_replace('%title%', $field['f_sname'], lang::get('CONSTR_BASE_FIELD_E5')); } }
public function del() { if (system::issetUrl(2) && is_numeric(system::url(2))) { // Одиночное удаление if ($obj = ormObjects::get(system::url(2), 'eshop_delivery_method')) { $obj->toTrash(); echo 'delete'; } } else { if (isset($_POST['objects'])) { // Множественное удаление while (list($id, $val) = each($_POST['objects'])) { if ($obj = ormObjects::get($val, 'eshop_delivery_method')) { $obj->toTrash(); } } echo 'delete'; } } system::stop(); }
static function checkObjectLinks() { if (system::url(0) == 'getObjectLinksTree') { if (file_exists(MODUL_DIR . '/mpanel/template/objectLinks.tpl')) { include MODUL_DIR . '/mpanel/template/objectLinks.tpl'; } $tree = new ormTree(457, 0); $tree->miniStyle(); $tree->setClass('ormPage'); $tree->setRoot(0, reg::getKey(ormPages::getPrefix() . '/title_prefix')); $tree->setRightAjaxLoad('tree'); page::assign('tree', $tree->getHTML()); page::assign('parram', system::url(1)); echo page::parse($TEMPLATE['tree_frame']); system::stop(); } else { if (system::url(0) == 'getObjectLinks') { if (file_exists(MODUL_DIR . '/mpanel/template/objectLinks.tpl')) { include MODUL_DIR . '/mpanel/template/objectLinks.tpl'; if (!($obj = ormPages::get(system::url(1)))) { $obj = ormObjects::get(system::url(1)); } if ($obj instanceof ormObject && !$obj->issetErrors()) { page::assign('id', $obj->id); page::assign('name', $obj->name); page::assign('url', $obj->url); page::assign('field_name', system::url(2)); page::assign('field_id', system::url(3)); if ($obj->getClass()->isPage()) { echo page::parse($TEMPLATE['new_object_link']); } else { echo page::parse($TEMPLATE['object_link']); } } } system::stop(); } else { if (system::url(0) == 'findObjectLinks' && isset($_POST['query'])) { // Формируем список подсказок $sel = new ormSelect(); $sel->findInPages(); $sel->fields('name'); $sel->where('name', 'LIKE', '%' . $_POST['query'] . '%'); $list = $list2 = ''; while ($obj = $sel->getObject()) { $zapi = $sel->getObjectNum() != 0 ? ', ' : ''; $list .= $zapi . "'" . $obj->name . "'"; $list2 .= $zapi . " ['" . $obj->id . "', '" . system::url(1) . "' ]"; } echo "{ query:'" . $_POST['query'] . "', suggestions:[" . $list . "], data:[" . $list2 . "] }"; system::stop(); } } } }