/** * Отрисовать печать по шаблону * * @param array $item */ private function renderMenuItemPrint(array $item) { // кнопка печати по шаблону echo '<div class="menu_item_container">'; echo '<a href="' . WEB_ROOT . '_modules/_print/?action=ShowForms&template=' . $item['template'] . '" asu-action="flow">'; $formset = CPrintManager::getFormset($item["template"]); if (!is_null($formset)) { $var = $formset->computeTemplateVariables(); foreach ($var as $key => $value) { echo '<div asu-type="flow-property" name="' . $key . '" value="' . $value . '"></div>'; } } echo '<div><img src="' . WEB_ROOT . 'images/' . ICON_THEME . '/32x32/' . $item['icon'] . '"></div>'; echo $item['title']; echo '</a>'; echo '</div>'; self::$childContainers++; }
public function actionDelete() { $formset = CPrintManager::getFormset(CRequest::getInt("id")); $formset->remove(); $this->redirect("?action=index"); }
/** * Подготоваливает к вывод данные для печати группы * записей по указанному шаблону * * @param $template */ public static function printGroupOnTemplate($template) { $formset = CPrintManager::getFormset($template); if (!is_null($formset)) { $forms = $formset->activeForms; $variables = $formset->computeTemplateVariables(); echo "<ul>"; foreach ($forms->getItems() as $form) { echo '<li><a href="#" onclick="printWithTemplate('; echo "'" . $variables['manager'] . "'"; echo ", '" . $variables['method'] . "'"; echo ", '" . $form->getId() . "'"; echo '); return false;">' . $form->title . '</a></li>'; } echo "</ul>"; } }
public function actionImport() { $import_data = CRequest::getString("export_data"); // $import_data = stripsplashes($import_data); $import_data = unserialize($import_data); /** * Первый проход * Добавляем или обновляем описатели без учета иерархии */ foreach ($import_data as $field_arr) { $field = CPrintManager::getField($field_arr["alias"]); if (is_null($field)) { $field = new CPrintField(); $field->alias = $field_arr["alias"]; } /** * Обновляем данными из массива */ $field->description = $field_arr["description"]; $field->value_evaluate = $field_arr["value_evaluate"]; $field->parent_node = $field_arr["parent_node"]; $field->title = $field_arr["title"]; /** * Привязываем к набору форм */ $formset = CPrintManager::getFormset($field_arr["formset"]); if (is_null($formset)) { trigger_error("Не могу найти набор форм " . $field_arr["formset"] . ". Продолжение невозможно", E_USER_ERROR); } $field->formset_id = $formset->getId(); $field->save(); } /** * Второй проход * Выстраиваем иерархию */ foreach ($import_data as $field_arr) { if (array_key_exists("parent", $field_arr)) { $parent = CPrintManager::getField($field_arr["parent"]); if (is_null($parent)) { trigger_error("Не могу найти описатель с псевдонимом " . $field_arr["parent"] . ". Импортируйте сначала его", E_USER_ERROR); } $field = CPrintManager::getField($field_arr["alias"]); $field->parent_id = $parent->getId(); $field->save(); } } /** * Возвращаемся обратно */ $this->redirect("?action=index"); }
public function actionShowForms() { $formsetName = CRequest::getString("template"); $formset = CPrintManager::getFormset($formsetName); if (!is_null($formset)) { $forms = new CArrayList(); foreach ($formset->forms->getItems() as $form) { $forms->add($form->getId(), $form->title); } $this->showPickList($forms, get_class($this), "PrePrintWithTemplate"); } }