/**
  * 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;
 }
Ejemplo n.º 2
0
 /**
 * 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
 }
Ejemplo n.º 5
0
 /**
  * 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();
 }
Ejemplo n.º 6
0
 /**
  * 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