/** * Public function that creates a single instance */ public static function getInstance() { if (!isset(self::$_instance)) { self::$_instance = new self(); } return self::$_instance; }
/** * Handle drawing list of forms. * * @param array $tag_params * @param array $children */ public function tag_FormList($tag_params, $children) { $conditions = array(); $manager = ContactForm_FormManager::getInstance(); // get params $selected = isset($tag_params['selected']) ? fix_id($tag_params['selected']) : 0; // load template $template = $this->loadTemplate($tag_params, 'forms_list_item.xml'); $template->registerTagHandler('cms:fields', $this, 'tag_FieldList'); // get items from database $items = $manager->getItems($manager->getFieldNames(), $conditions); if (count($items) > 0) { foreach ($items as $item) { $params = array('id' => $item->id, 'text_id' => $item->text_id, 'name' => $item->name, 'action' => $item->action, 'template' => $item->template, 'use_ajax' => $item->use_ajax, 'show_submit' => $item->show_submit, 'show_reset' => $item->show_reset, 'show_cancel' => $item->show_cancel, 'selected' => $selected == $item->id, 'item_fields' => url_MakeHyperlink($this->getLanguageConstant('fields'), window_Open('contact_form_fields_' . $item->id, 350, $this->getLanguageConstant('title_form_fields'), true, false, url_Make('transfer_control', 'backend_module', array('module', $this->name), array('backend_action', 'fields_manage'), array('form', $item->id)))), 'item_change' => url_MakeHyperlink($this->getLanguageConstant('change'), window_Open('contact_forms_edit', 400, $this->getLanguageConstant('title_forms_edit'), false, false, url_Make('transfer_control', 'backend_module', array('module', $this->name), array('backend_action', 'forms_edit'), array('id', $item->id)))), 'item_delete' => url_MakeHyperlink($this->getLanguageConstant('delete'), window_Open('contact_forms_delete', 400, $this->getLanguageConstant('title_forms_delete'), false, false, url_Make('transfer_control', 'backend_module', array('module', $this->name), array('backend_action', 'forms_delete'), array('id', $item->id))))); $template->restoreXML(); $template->setLocalParams($params); $template->parse(); } } }