/** * Shows the loaded campaign. */ public function _show_view($handler_id, array &$data) { $data['view_campaign'] = $this->_datamanager->get_content_html(); // List members of this campaign $qb = new org_openpsa_qbpager_direct('org_openpsa_campaign_member', 'campaign_members'); $qb->add_constraint('campaign', '=', $data['campaign']->id); $qb->add_constraint('orgOpenpsaObtype', '<>', org_openpsa_directmarketing_campaign_member_dba::TESTER); $qb->add_constraint('orgOpenpsaObtype', '<>', org_openpsa_directmarketing_campaign_member_dba::UNSUBSCRIBED); $qb->add_constraint('person.metadata.deleted', '=', false); // Set the order $qb->add_order('person.lastname', 'ASC'); $qb->add_order('person.firstname', 'ASC'); $qb->add_order('person.email', 'ASC'); $qb->add_order('person.id', 'ASC'); $data['campaign_members_qb'] =& $qb; $data['memberships'] = $qb->execute_unchecked(); $data['campaign_members_count'] = $qb->count_unchecked(); $data['campaign_members'] = array(); if (!empty($data['memberships'])) { foreach ($data['memberships'] as $k => $membership) { $data['campaign_members'][$k] = new org_openpsa_contacts_person_dba($membership->person); } } midcom_show_style('show-campaign'); }
/** * Trash view * * @param mixed $handler_id The ID of the handler. * @param Array $args The argument list. * @param Array &$data The local request data. * @return boolean Indicating success. */ public function _handler_trash_type($handler_id, array $args, array &$data) { midcom::get('auth')->require_admin_user(); midcom::get('cache')->content->no_cache(); $this->type = $args[0]; $data['view_title'] = midgard_admin_asgard_plugin::get_type_label($this->type); midcom::get('head')->set_pagetitle($data['view_title']); $dummy = new $this->type(); $data['midcom_dba_classname'] = midcom::get('dbclassloader')->get_midcom_class_name_for_mgdschema_object($dummy); $data['type'] = $this->type; $data['reflector'] = midcom_helper_reflector::get($data['type']); $data['label_property'] = $data['reflector']->get_label_property(); if (isset($_POST['undelete']) && !isset($_POST['purge']) && is_array($_POST['undelete'])) { $this->_undelete(); return new midcom_response_relocate("__mfa/asgard/trash/{$this->type}/"); } if (isset($_POST['purge']) && is_array($_POST['undelete'])) { $this->_purge(); return new midcom_response_relocate("__mfa/asgard/trash/{$this->type}/"); } $qb = new org_openpsa_qbpager_direct($data['type'], "{$data['type']}_trash"); $qb->include_deleted(); $qb->add_constraint('metadata.deleted', '=', true); $qb->add_order('metadata.revised', 'DESC'); $data['qb'] =& $qb; $data['trash'] = $qb->execute_unchecked(); // Set the breadcrumb data $this->add_breadcrumb('__mfa/asgard/', $this->_l10n->get('midgard.admin.asgard')); $this->add_breadcrumb("__mfa/asgard/{$this->type}/", $data['view_title']); $this->add_breadcrumb("__mfa/asgard/trash/{$this->type}/", sprintf($this->_l10n->get('%s trash'), midgard_admin_asgard_plugin::get_type_label($data['type']))); }