Exemple #1
0
 private function _show_groups()
 {
     if (!$this->show_groups || empty($this->contact_details['id'])) {
         return;
     }
     $mc = org_openpsa_contacts_member_dba::new_collector('uid', $this->contact_details['id']);
     $mc->add_constraint('gid.orgOpenpsaObtype', '>=', org_openpsa_contacts_group_dba::ORGANIZATION);
     $mc->add_value_property('gid');
     $mc->add_value_property('extra');
     $mc->execute();
     $memberships = $mc->list_keys();
     if ($memberships) {
         foreach ($memberships as $guid => $empty) {
             try {
                 $group = org_openpsa_contacts_group_dba::get_cached($mc->get_subkey($guid, 'gid'));
             } catch (midcom_error $e) {
                 $e->log();
                 continue;
             }
             echo "<li class=\"org\">";
             if ($mc->get_subkey($guid, 'extra')) {
                 echo "<span class=\"title\">" . $mc->get_subkey($guid, 'extra') . "</span>, ";
             }
             if ($group->official) {
                 $group_label = $group->official;
             } else {
                 $group_label = $group->name;
             }
             if ($this->link_contacts) {
                 if (!self::$_contacts_url) {
                     $this->link_contacts = false;
                 } else {
                     $group_label = "<a href=\"" . self::$_contacts_url . "group/{$group->guid}/\">{$group_label}</a>";
                 }
             }
             echo "<span class=\"organization-name\">{$group_label}</span>";
             echo "</li>\n";
         }
     }
 }
Exemple #2
0
 /**
  * List customer contact's groups
  */
 private function _populate_schema_customers_for_contact($contact_id)
 {
     $fields =& $this->_schemadb['default']->fields;
     $organizations = array();
     $member_mc = org_openpsa_contacts_member_dba::new_collector('uid', $contact_id);
     $member_mc->add_constraint('gid.orgOpenpsaObtype', '>', org_openpsa_contacts_group_dba::MYCONTACTS);
     $groups = $member_mc->get_values('gid');
     foreach ($groups as $group) {
         try {
             $organization = org_openpsa_contacts_group_dba::get_cached($group);
             $organizations[$organization->id] = $organization->official;
         } catch (midcom_error $e) {
         }
     }
     //Fill the customer field to DM
     $fields['customer']['type_config']['options'] = $organizations;
 }
Exemple #3
0
 /**
  * Prepares user data for JSON display
  */
 public function get_row(midcom_core_dbaobject $user)
 {
     $prefix = midcom_core_context::get()->get_key(MIDCOM_CONTEXT_ANCHORPREFIX);
     $entry = array();
     $entry['id'] = $user->id;
     $lastname = trim($user->lastname);
     if (empty($lastname)) {
         $lastname = $this->_l10n->get('person') . ' #' . $user->id;
     }
     $entry['lastname'] = "<a href='" . $prefix . 'view/' . $user->guid . "/'>" . $lastname . "</a>";
     $entry['index_lastname'] = $user->lastname;
     $entry['firstname'] = "<a href='" . $prefix . 'view/' . $user->guid . "/' >" . $user->firstname . "</a>";
     $entry['index_firstname'] = $user->firstname;
     $account = new midcom_core_account($user);
     $entry['username'] = $account->get_username();
     $entry['groups'] = array();
     //get groups
     $mc_member = org_openpsa_contacts_member_dba::new_collector('uid', $user->id);
     $mc_member->add_constraint('gid.orgOpenpsaObtype', '<', org_openpsa_contacts_group_dba::MYCONTACTS);
     $mc_member->add_order('gid.official');
     $mc_member->add_order('gid.name');
     $gids = $mc_member->get_values('gid');
     foreach ($gids as $gid) {
         try {
             $group = org_openpsa_contacts_group_dba::get_cached($gid);
             $entry['groups'][] = '<a href="' . $prefix . 'group/' . $group->guid . '/">' . $group->get_label() . '</a>';
         } catch (midcom_error $e) {
             $e->log();
         }
     }
     $entry['groups'] = implode(', ', $entry['groups']);
     return $entry;
 }