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'); }
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'); }
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); }