/** * Return default contact IM type * * @access public * @param Contact $contact * @return ImType */ function getDefaultContactImType(Contact $contact) { $contact_im_values_table = ContactImValues::instance()->getTableName(true); $im_types_table = ImTypes::instance()->getTableName(true); $sql = "SELECT {$im_types_table}.* FROM {$im_types_table}, {$contact_im_values_table} WHERE {$im_types_table}.`id` = {$contact_im_values_table}.`im_type_id` AND {$contact_im_values_table}.`is_default` = '1' AND {$contact_im_values_table}.`contact_id` = ?"; $row = DB::executeOne($sql, $contact->getId()); if (is_array($row)) { return ImTypes::instance()->loadFromRow($row); } // if return null; }
/** * Return main contact IM type * * @access public * @param Contact $contact * @return ImType */ function getContactMainImType(Contact $contact) { $contact_im_values_table = ContactImValues::instance()->getTableName(true); $im_types_table = ImTypes::instance()->getTableName(true); $sql = "SELECT $im_types_table.* FROM $im_types_table, $contact_im_values_table WHERE $im_types_table.`id` = $contact_im_values_table.`im_type_id` AND $contact_im_values_table.`is_main` = '1' AND $contact_im_values_table.`contact_id` = ?"; $row = DB::executeOne($sql, $contact->getId()); if(is_array($row)) { return ImTypes::instance()->loadFromRow($row); } // if return null; } // getContactMainImType
/** * Return manager instance * * @access protected * @param void * @return ContactImValues */ function manager() { if (!$this->manager instanceof ContactImValues) { $this->manager = ContactImValues::instance(); } return $this->manager; }
/** * This function will return paginated result. Result is an array where first element is * array of returned object and second populated pagination object that can be used for * obtaining and rendering pagination data using various helpers. * * Items and pagination array vars are indexed with 0 for items and 1 for pagination * because you can't use associative indexing with list() construct * * @access public * @param array $arguments Query arguments (@see find()) Limit and offset are ignored! * @param integer $items_per_page Number of items per page * @param integer $current_page Current page number * @return array */ function paginate($arguments = null, $items_per_page = 10, $current_page = 1) { if (isset($this) && instance_of($this, 'ContactImValues')) { return parent::paginate($arguments, $items_per_page, $current_page); } else { return ContactImValues::instance()->paginate($arguments, $items_per_page, $current_page); //$instance =& ContactImValues::instance(); //return $instance->paginate($arguments, $items_per_page, $current_page); } // if }
/** * Delete this object * * @param void * @return boolean */ function delete() { // dont delete owner company and account owner if ($this->isOwnerCompany() || $this->isAccountOwner()) { return false; } if ($this->isUser() && logged_user() instanceof Contact && !can_manage_security(logged_user())) { return false; } $this->deletePicture(); ContactEmails::clearByContact($this); ContactAddresses::clearByContact($this); ContactTelephones::clearByContact($this); ContactWebpages::clearByContact($this); ContactImValues::clearByContact($this); return parent::delete(); }
/** * Clear all IM values * * @access public * @param void * @return boolean */ function clearImValues() { return ContactImValues::instance()->clearByContact($this); }
/** * Return manager instance * * @access protected * @param void * @return ContactImValues */ function manager() { if(!($this->manager instanceof ContactImValues)) $this->manager = ContactImValues::instance(); return $this->manager; } // manager