Example #1
0
 /**
  * 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');
 }
Example #2
0
 /**
  * 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'])));
 }