/** * Looks up an campaign to display. */ public function _handler_view($handler_id, array $args, array &$data) { $this->_campaign = $this->_master->load_campaign($args[0]); $this->_load_datamanager(); $this->_datamanager->autoset_storage($this->_campaign); $this->set_active_leaf('campaign_' . $this->_campaign->id); $this->_request_data['campaign'] =& $this->_campaign; $this->_request_data['datamanager'] =& $this->_datamanager; org_openpsa_widgets_contact::add_head_elements(); $this->_populate_toolbar(); $schemadb_message = midcom_helper_datamanager2_schema::load_database($this->_config->get('schemadb_message')); foreach ($schemadb_message as $name => $schema) { $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => "message/create/{$this->_campaign->guid}/{$name}/", MIDCOM_TOOLBAR_LABEL => sprintf($this->_l10n->get('new %s'), $this->_l10n->get($schema->description)), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/' . org_openpsa_directmarketing_viewer::get_messagetype_icon($schema->customdata['org_openpsa_directmarketing_messagetype']), MIDCOM_TOOLBAR_ENABLED => $this->_campaign->can_do('midgard:create'))); } // Populate calendar events for the campaign $this->bind_view_to_object($this->_campaign, $this->_datamanager->schema->name); midcom::get('metadata')->set_request_metadata($this->_campaign->metadata->revised, $this->_campaign->guid); midcom::get('head')->set_pagetitle($this->_campaign->title); }
/** * Shows the loaded message. */ public function _show_list($handler_id, array &$data) { $qb = new org_openpsa_qbpager('org_openpsa_directmarketing_campaign_message_dba', 'campaign_messages'); $qb->results_per_page = 10; $qb->add_order('metadata.created', 'DESC'); $qb->add_constraint('campaign', '=', $this->_campaign->id); $ret = $qb->execute(); $data['qbpager'] =& $qb; midcom_show_style("show-message-list-header"); if (count($ret) > 0) { foreach ($ret as $message) { $this->_datamanager->autoset_storage($message); $data['message'] =& $message; $data['message_array'] = $this->_datamanager->get_content_html(); $data['message_class'] = org_openpsa_directmarketing_viewer::get_messagetype_css_class($message->orgOpenpsaObtype); midcom_show_style('show-message-list-item'); } } midcom_show_style("show-message-list-footer"); }