Exemple #1
0
 private function _getListAction($path)
 {
     $xml = new SimpleXMLElement("<addresses></addresses>");
     @($p_page = DevblocksPlatform::importGPC($_REQUEST['p'], 'integer', 0));
     list($addresses, $null) = DAO_Address::search(array(), array(), 50, $p_page, SearchFields_Address::EMAIL, true, false);
     $this->_renderResults($addresses, SearchFields_Address::getFields(), 'address', 'addresses');
 }
Exemple #2
0
 function showAddressPeekAction()
 {
     @($id = DevblocksPlatform::importGPC($_REQUEST['id'], 'integer', ''));
     @($address_id = DevblocksPlatform::importGPC($_REQUEST['address_id'], 'integer', 0));
     @($email = DevblocksPlatform::importGPC($_REQUEST['email'], 'string', ''));
     @($view_id = DevblocksPlatform::importGPC($_REQUEST['view_id'], 'string', ''));
     @($org_id = DevblocksPlatform::importGPC($_REQUEST['org_id'], 'string', ''));
     $tpl = DevblocksPlatform::getTemplateService();
     $tpl->assign('path', $this->_TPL_PATH);
     if (!empty($address_id)) {
         $email = '';
         if (null != ($addy = DAO_Address::get($address_id))) {
             @($email = $addy->email);
         }
     }
     $tpl->assign('email', $email);
     if (!empty($email)) {
         list($addresses, $null) = DAO_Address::search(array(), array(new DevblocksSearchCriteria(SearchFields_Address::EMAIL, DevblocksSearchCriteria::OPER_EQ, $email)), 1, 0, null, null, false);
         $address = array_shift($addresses);
         $tpl->assign('address', $address);
         $id = $address[SearchFields_Address::ID];
         list($open_tickets, $open_count) = DAO_Ticket::search(array(), array(new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_CLOSED, '=', 0), new DevblocksSearchCriteria(SearchFields_Ticket::REQUESTER_ID, '=', $address[SearchFields_Address::ID])), 1);
         $tpl->assign('open_count', $open_count);
         list($closed_tickets, $closed_count) = DAO_Ticket::search(array(), array(new DevblocksSearchCriteria(SearchFields_Ticket::TICKET_CLOSED, '=', 1), new DevblocksSearchCriteria(SearchFields_Ticket::REQUESTER_ID, '=', $address[SearchFields_Address::ID])), 1);
         $tpl->assign('closed_count', $closed_count);
     }
     if (!empty($org_id)) {
         $org = DAO_ContactOrg::get($org_id);
         $tpl->assign('org_name', $org->name);
         $tpl->assign('org_id', $org->id);
     }
     // Custom fields
     $custom_fields = DAO_CustomField::getBySource(ChCustomFieldSource_Address::ID);
     $tpl->assign('custom_fields', $custom_fields);
     $custom_field_values = DAO_CustomFieldValue::getValuesBySourceIds(ChCustomFieldSource_Address::ID, $id);
     if (isset($custom_field_values[$id])) {
         $tpl->assign('custom_field_values', $custom_field_values[$id]);
     }
     $types = Model_CustomField::getTypes();
     $tpl->assign('types', $types);
     // Display
     $tpl->assign('id', $id);
     $tpl->assign('view_id', $view_id);
     $tpl->display('file:' . $this->_TPL_PATH . 'contacts/addresses/address_peek.tpl');
 }
Exemple #3
0
 function doBulkUpdate($filter, $do, $ids = array())
 {
     @set_time_limit(600);
     // [TODO] Temp!
     $change_fields = array();
     $custom_fields = array();
     // Make sure we have actions
     if (empty($do)) {
         return;
     }
     // Make sure we have checked items if we want a checked list
     if (0 == strcasecmp($filter, "checks") && empty($ids)) {
         return;
     }
     if (is_array($do)) {
         foreach ($do as $k => $v) {
             switch ($k) {
                 case 'org_id':
                     $change_fields[DAO_Address::CONTACT_ORG_ID] = intval($v);
                     break;
                 case 'banned':
                     $change_fields[DAO_Address::IS_BANNED] = intval($v);
                     break;
                 default:
                     // Custom fields
                     if (substr($k, 0, 3) == "cf_") {
                         $custom_fields[substr($k, 3)] = $v;
                     }
             }
         }
     }
     $pg = 0;
     if (empty($ids)) {
         do {
             list($objects, $null) = DAO_Address::search(array(), $this->params, 100, $pg++, SearchFields_Address::ID, true, false);
             $ids = array_merge($ids, array_keys($objects));
         } while (!empty($objects));
     }
     $batch_total = count($ids);
     for ($x = 0; $x <= $batch_total; $x += 100) {
         $batch_ids = array_slice($ids, $x, 100);
         DAO_Address::update($batch_ids, $change_fields);
         // Custom Fields
         self::_doBulkSetCustomFields(ChCustomFieldSource_Address::ID, $custom_fields, $batch_ids);
         unset($batch_ids);
     }
     unset($ids);
 }