本文整理汇总了PHP中waContact::load方法的典型用法代码示例。如果您正苦于以下问题:PHP waContact::load方法的具体用法?PHP waContact::load怎么用?PHP waContact::load使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类waContact
的用法示例。
在下文中一共展示了waContact::load方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getContactInfo
/** Using $this->id get waContact and save it in $this->contact;
* Load vars into $this->view specific to waContact. */
protected function getContactInfo()
{
$system = wa();
if ($this->id == $system->getUser()->getId()) {
$this->contact = $system->getUser();
$this->view->assign('own_profile', true);
} else {
$this->contact = new waContact($this->id);
$this->view->assign('own_profile', false);
}
$exists = $this->contact->exists();
if ($exists) {
$this->view->assign('contact', $this->contact);
// who created this contact and when
$this->view->assign('contact_create_time', waDateTime::format('datetime', $this->contact['create_datetime'], $system->getUser()->getTimezone()));
if ($this->contact['create_contact_id']) {
try {
$author = new waContact($this->contact['create_contact_id']);
if ($author['name']) {
$this->view->assign('author', $author);
}
} catch (Exception $e) {
// Contact not found. Ignore silently.
}
}
$this->view->assign('top', $this->contact->getTopFields());
// Main contact editor data
$fieldValues = $this->contact->load('js', true);
$m = new waContactModel();
if (isset($fieldValues['company_contact_id'])) {
if (!$m->getById($fieldValues['company_contact_id'])) {
$fieldValues['company_contact_id'] = 0;
$this->contact->save(array('company_contact_id' => 0));
}
}
$contactFields = waContactFields::getInfo($this->contact['is_company'] ? 'company' : 'person', true);
// Only show fields that are allowed in own profile
if (!empty($this->params['limited_own_profile'])) {
$allowed = array();
foreach (waContactFields::getAll('person') as $f) {
if ($f->getParameter('allow_self_edit')) {
$allowed[$f->getId()] = true;
}
}
$fieldValues = array_intersect_key($fieldValues, $allowed);
$contactFields = array_intersect_key($contactFields, $allowed);
}
contactsHelper::normalzieContactFieldValues($fieldValues, $contactFields);
$this->view->assign('contactFields', $contactFields);
$this->view->assign('contactFieldsOrder', array_keys($contactFields));
$this->view->assign('fieldValues', $fieldValues);
// Contact categories
$cm = new waContactCategoriesModel();
$this->view->assign('contact_categories', array_values($cm->getContactCategories($this->id)));
} else {
$this->view->assign('contact', array('id' => $this->id));
}
return $exists;
}
示例2: getContactInfo
/** Using $this->id get waContact and save it in $this->contact;
* Load vars into $this->view specific to waContact. */
protected function getContactInfo()
{
$system = wa();
if ($this->id == $system->getUser()->getId()) {
$this->contact = $system->getUser();
$this->view->assign('own_profile', TRUE);
} else {
$this->contact = new waContact($this->id);
}
//
// Load vars into view
//
$this->view->assign('contact', $this->contact);
// who created this contact and when
$this->view->assign('contact_create_time', waDateTime::format('datetime', $this->contact['create_datetime'], $system->getUser()->getTimezone()));
if ($this->contact['create_contact_id']) {
try {
$author = new waContact($this->contact['create_contact_id']);
if ($author['name']) {
$this->view->assign('author', $author);
}
} catch (Exception $e) {
// Contact not found. Ignore silently.
}
}
// Info above tabs
$fields = array('email', 'phone', 'im');
$top = array();
foreach ($fields as $f) {
if ($v = $this->contact->get($f, 'top,html')) {
$top[] = array('id' => $f, 'name' => waContactFields::get($f)->getName(), 'value' => is_array($v) ? implode(', ', $v) : $v);
}
}
$this->view->assign('top', $top);
// Main contact editor data
$fieldValues = $this->contact->load('js', TRUE);
$contactFields = waContactFields::getInfo($this->contact['is_company'] ? 'company' : 'person', TRUE);
$this->view->assign('contactFields', $contactFields);
$this->view->assign('fieldValues', $fieldValues);
// Contact categories
$cm = new waContactCategoriesModel();
$this->view->assign('contact_categories', array_values($cm->getContactCategories($this->id)));
}
示例3: execute
public function execute()
{
if (!$this->getRequest()->request('json', 0)) {
$action = new contactsContactsInfoAction();
echo $action->display();
return;
}
$m = new waContactModel();
$contact_id = $this->getRequest()->request('id', 0, 'int');
$contact = new waContact($contact_id);
$values = $contact->load('js', true);
if (isset($values['company_contact_id'])) {
if (!$m->getById($values['company_contact_id'])) {
$values['company_contact_id'] = 0;
$contact->save(array('company_contact_id' => 0));
}
}
$values['photo_url_96'] = $contact->getPhoto(96);
$values['photo_url_20'] = $contact->getPhoto(20);
$fields = waContactFields::getInfo($contact['is_company'] ? 'company' : 'person', true);
echo json_encode(array('fields' => $fields, 'values' => $values, 'top' => $contact->getTopFields()));
}
示例4: execute
public function execute()
{
$this->prepare();
if ($query = trim(waRequest::post('query'), '/')) {
if (strpos($query, '/') === false) {
$h = $hash = 'search/' . $query;
} else {
$h = $hash = $query;
if (substr($hash, 0, 14) == 'import/results') {
$h = str_replace('import/results', 'import', $hash);
}
}
} else {
$h = $hash = '';
}
$h_parts = explode('/', $h, 2);
$add_fields = array();
if ($h_parts[0] == 'explore') {
$collection = new contactsCollection();
$event_params = array('collection' => $collection, 'hash' => $h_parts[1]);
$result = wa()->event('explore', $event_params);
if ($result) {
$result = reset($result);
$add_fields = ifset($result['fields']);
$this->response['add_fields'] = $add_fields;
$this->response['name'] = $result['name'];
}
} else {
$collection = new contactsCollection($h);
}
$this->response['fields'] = array();
$fields = '*,photo_url_32,photo_url_96';
if ($h_parts[0] === 'users') {
$fields .= ',_access';
$this->response['fields']['_access'] = array('id' => '_access', 'name' => _w('Access'), 'type' => 'Access', 'vertical' => true);
}
$collection->orderBy($this->sort, $this->order);
$this->response['count'] = $collection->count();
$view = waRequest::post('view');
if ($view == 'list') {
// Preload info to cache to avoid excess DB access
$cm = new waCountryModel();
$cm->preload();
}
$this->response['contacts'] = array_values($collection->getContacts($fields, $this->offset, $this->limit));
$this->workupContacts($this->response['contacts']);
$this->response['total_count'] = $collection->count();
foreach ($this->response['contacts'] as $i => &$c) {
$c['offset'] = $this->offset + $i;
}
unset($c);
if ($view == 'list') {
// Need to format field values correctly for this view.
foreach ($this->response['contacts'] as &$cdata) {
$c = new waContact($cdata['id']);
$c->setCache($cdata);
$data = $c->load('list,js') + $cdata;
contactsHelper::normalzieContactFieldValues($data, waContactFields::getInfo($c['is_company'] ? 'company' : 'person', true));
if (isset($data['photo'])) {
$data['photo'] = $c->getPhoto();
}
$c->removeCache(array_keys($cdata));
$cdata = $data;
}
$this->response['fields'] = array_merge($this->response['fields'], contactsHelper::getFieldsDescription(array('title', 'name', 'photo', 'firstname', 'middlename', 'lastname', 'locale', 'timezone', 'jobtitle', 'company', 'sex', 'company_contact_id'), true));
unset($cdata);
}
// for companies set name to company name
// for contacts with empty name, set it to <no name>
foreach ($this->response['contacts'] as &$c) {
if (isset($c['name']) && trim($c['name'])) {
continue;
}
if (isset($c['company']) && trim($c['company'])) {
$c['name'] = $c['company'];
unset($c['company']);
continue;
}
$c['name'] = '<' . _w('no name') . '>';
}
unset($c);
$title = $collection->getTitle();
$hm = new contactsHistoryModel();
if ($hash) {
$type = explode('/', $hash);
$hash = substr($hash, 0, 1) == '/' ? $hash : '/contacts/' . $hash;
$type = $type[0];
// if search query looks like a quick search then remove field name from header
if ($type == 'search' && preg_match('~^/contacts/search/(name\\*=[^/]*|email\\*=[^/]*@[^/]*)/?$~i', $hash)) {
$title = preg_replace("~^[^=]+=~", '', $title);
}
// save history
if ($type == 'search') {
$hm->save($hash, $title, $type, $this->response['count']);
$this->logAction('search');
}
// Information about system category in categories view
if (substr($hash, 0, 19) === '/contacts/category/') {
$category_id = (int) substr($hash, 19);
$cm = new waContactCategoryModel();
//.........这里部分代码省略.........
示例5: execute
public function execute()
{
$this->prepare();
if ($query = trim(waRequest::post('query'), '/')) {
if (strpos($query, '/') === false) {
$h = $hash = 'search/' . $query;
} else {
$h = $hash = $query;
if (substr($hash, 0, 14) == 'import/results') {
$h = str_replace('import/results', 'import', $hash);
}
}
} else {
$h = $hash = '';
}
$collection = $this->getCollection($h);
$collection->orderBy($this->sort, $this->order);
$this->response['count'] = $collection->count();
$view = waRequest::post('view');
switch ($view) {
case 'list':
$fields = '*';
break;
case 'thumbs':
$fields = 'id,name,photo';
break;
case 'table':
default:
$fields = waRequest::post('fields');
}
if ($view == 'list') {
// Preload info to cache to avoid excess DB access
$cm = new waCountryModel();
$cm->preload();
}
if ($hash && $fields != '*') {
if ($wf = $collection->getWhereFields()) {
$fields = $fields . "," . implode(",", $wf);
}
$this->response['fields'] = explode(',', $fields);
}
$this->response['contacts'] = array_values($collection->getContacts($fields, $this->offset, $this->limit));
if ($view == 'list') {
// Need to format field values correctly for this view.
foreach ($this->response['contacts'] as &$cdata) {
$c = new waContact($cdata['id']);
$c->setCache($cdata);
$data = $c->load('list,js') + $cdata;
if (isset($data['photo'])) {
$data['photo'] = $c->getPhoto();
}
$c->removeCache(array_keys($cdata));
$cdata = $data;
}
unset($cdata);
}
// for companies set name to company name
// for contacts with empty name, set it to <no name>
foreach ($this->response['contacts'] as &$c) {
if (isset($c['name']) && trim($c['name'])) {
continue;
}
if (isset($c['company']) && trim($c['company'])) {
$c['name'] = $c['company'];
unset($c['company']);
continue;
}
$c['name'] = '<' . _w('no name') . '>';
}
unset($c);
$title = $collection->getTitle();
if ($hash) {
$type = explode('/', $hash);
$hash = substr($hash, 0, 1) == '/' ? $hash : '/contacts/' . $hash;
$type = $type[0];
// if search query looks like a quick search then remove field name from header
if ($type == 'search' && preg_match('~^/contacts/search/(name\\*=[^/]*|email\\*=[^/]*@[^/]*)/?$~i', $hash)) {
$title = preg_replace("~^[^=]+=~", '', $title);
}
// save history
if ($type == 'search' || $type == 'import') {
$history = new contactsHistoryModel();
if ($history->save($hash, $title, $type, $this->response['count'])) {
// new search performed, save to statistics log
$this->log('search', 1);
}
}
// Information about system category in categories view
if (substr($hash, 0, 19) === '/contacts/category/') {
$category_id = (int) substr($hash, 19);
$cm = new waContactCategoryModel();
$category = $cm->getById($category_id);
if ($category && $category['system_id']) {
$this->response['system_category'] = $category['system_id'];
}
}
}
// Update history in user's browser
$historyModel = new contactsHistoryModel();
$this->response['history'] = $historyModel->get();
//.........这里部分代码省略.........