本文整理汇总了PHP中Contacts::validate方法的典型用法代码示例。如果您正苦于以下问题:PHP Contacts::validate方法的具体用法?PHP Contacts::validate怎么用?PHP Contacts::validate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Contacts
的用法示例。
在下文中一共展示了Contacts::validate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: actionCreateRecords
public function actionCreateRecords()
{
$contact = new Contacts();
$account = new Accounts();
$opportunity = new Opportunity();
$users = User::getNames();
if (isset($_POST['Contacts']) && isset($_POST['Accounts']) && isset($_POST['Opportunity'])) {
$contact->setX2Fields($_POST['Contacts']);
$account->setX2Fields($_POST['Accounts']);
$opportunity->setX2Fields($_POST['Opportunity']);
$validAccount = true;
if ($account->validate() == false) {
$validAccount = false;
// validate other models so that the user gets feedback
$contact->validate();
$opportunity->validate();
}
if ($validAccount) {
$allValid = true;
$a = $this->createAccount($account, $account->attributes, '1');
// Contact and Opportunity require Account id for lookup field
$contact->company = Fields::nameId($account->name, $account->id);
if ($contact->validate() == false) {
$allValid = false;
}
$c = $this->createContact($contact, $contact->attributes, '1');
$opportunity->accountName = Fields::nameId($account->name, $account->id);
$opportunity->contactName = Fields::nameId($contact->name, $contact->id);
if ($opportunity->validate() == false) {
$allValid = false;
}
$o = $this->createOpportunity($opportunity, $opportunity->attributes, '1');
if ($allValid && $c && $a && $o) {
// all records created?
Relationships::create('Contacts', $contact->id, 'Accounts', $account->id);
Relationships::create('Opportunity', $opportunity->id, 'Contacts', $contact->id);
Relationships::create('Opportunity', $opportunity->id, 'Accounts', $account->id);
if (isset($_GET['ret'])) {
if ($_GET['ret'] == 'contacts') {
$this->redirect(array("/contacts/contacts/view", 'id' => $contact->id));
} else {
if ($_GET['ret'] == 'accounts') {
$this->redirect(array("/accounts/accounts/view", 'id' => $account->id));
} else {
if ($_GET['ret'] == 'opportunities') {
$this->redirect(array("/opportunities/opportunities/view", 'id' => $opportunity->id));
}
}
}
} else {
$this->redirect(array("/contacts/contacts/view", $contact->id));
}
} else {
// otherwise clean up
$types = array('account' => 'Accounts', 'contact' => 'Contacts', 'opportunity' => 'Opportunity');
foreach ($types as $model => $type) {
if (${$model} && isset(${$model}->id)) {
$modelId = ${$model}->id;
${$model}->delete();
// delete all new actions and events from creating/deleting records
foreach (array('Actions', 'Events') as $meta) {
X2Model::model($meta)->deleteAllByAttributes(array('associationId' => $modelId, 'associationType' => $type));
}
}
}
}
}
}
$this->render('createRecords', array('contact' => $contact, 'account' => $account, 'opportunity' => $opportunity, 'users' => $users));
}
示例2: add_company
/**
* Add company
*
* @param void
* @return null
*/
function add_company() {
if (logged_user()->isGuest()) {
flash_error(lang('no access permissions'));
ajx_current("empty");
return;
}
$notAllowedMember = '';
if(!Contact::canAdd(logged_user(),active_context(),$notAllowedMember)) {
if (str_starts_with($notAllowedMember, '-- req dim --')) flash_error(lang('must choose at least one member of', str_replace_first('-- req dim --', '', $notAllowedMember, $in)));
else flash_error(lang('no context permissions to add',lang("contacts"), $notAllowedMember));
ajx_current("empty");
return;
} // if
$company = new Contact();
$company->setIsCompany(1);
$company_data = array_var($_POST, 'company');
if(!is_array($company_data)) {
$company_data = array(
'timezone' => logged_user()->getTimezone(),
); // array
} // if
tpl_assign('company', $company);
tpl_assign('company_data', $company_data);
if (is_array(array_var($_POST, 'company'))) {
$company->setFromAttributes($company_data);
$company->setObjectName();
try {
Contacts::validate($company_data);
DB::beginWork();
$company->save();
if($company_data['address'] != "")
$company->addAddress($company_data['address'], $company_data['city'], $company_data['state'], $company_data['country'], $company_data['zipcode'], 'work', true);
if($company_data['phone_number'] != "") $company->addPhone($company_data['phone_number'], 'work', true);
if($company_data['fax_number'] != "") $company->addPhone($company_data['fax_number'], 'fax', true);
if($company_data['homepage'] != "") $company->addWebpage($company_data['homepage'], 'work');
if($company_data['email'] != "") $company->addEmail($company_data['email'], 'work' , true);
$object_controller = new ObjectController();
$object_controller->add_subscribers($company);
$member_ids = json_decode(array_var($_POST, 'members'));
if (!is_null($member_ids)) {
$object_controller->add_to_members($company, $member_ids);
}
$object_controller->link_to_new_object($company);
$object_controller->add_custom_properties($company);
ApplicationLogs::createLog($company, ApplicationLogs::ACTION_ADD);
DB::commit();
flash_success(lang('success add client', $company->getObjectName()));
evt_add("company added", array("id" => $company->getObjectId(), "name" => $company->getObjectName()));
ajx_current("back");
} catch(Exception $e) {
DB::rollback();
ajx_current("empty");
flash_error($e->getMessage());
} // try
} // if
} // add_company
示例3: add_company
/**
* Add company
*
* @param void
* @return null
*/
function add_company()
{
if (logged_user()->isGuest()) {
flash_error(lang('no access permissions'));
ajx_current("empty");
return;
}
$notAllowedMember = '';
if (!Contact::canAdd(logged_user(), active_context(), $notAllowedMember)) {
if (str_starts_with($notAllowedMember, '-- req dim --')) {
flash_error(lang('must choose at least one member of', str_replace_first('-- req dim --', '', $notAllowedMember, $in)));
} else {
trim($notAllowedMember) == "" ? flash_error(lang('you must select where to keep', lang('the contact'))) : flash_error(lang('no context permissions to add', lang("contacts"), $notAllowedMember));
}
ajx_current("empty");
return;
}
// if
$company = new Contact();
$company->setIsCompany(1);
$company_data = array_var($_POST, 'company');
if (!is_array($company_data)) {
// set layout for modal form
if (array_var($_REQUEST, 'modal')) {
$this->setLayout("json");
tpl_assign('modal', true);
}
$company_data = array('timezone' => logged_user()->getTimezone());
// array
}
// if
tpl_assign('company', $company);
tpl_assign('company_data', $company_data);
// telephone types
$all_telephone_types = TelephoneTypes::getAllTelephoneTypesInfo();
tpl_assign('all_telephone_types', $all_telephone_types);
// address types
$all_address_types = AddressTypes::getAllAddressTypesInfo();
tpl_assign('all_address_types', $all_address_types);
// webpage types
$all_webpage_types = WebpageTypes::getAllWebpageTypesInfo();
tpl_assign('all_webpage_types', $all_webpage_types);
// email types
$all_email_types = EmailTypes::getAllEmailTypesInfo();
tpl_assign('all_email_types', $all_email_types);
$company_data['all_phones'] = array();
$company_data['all_addresses'] = array();
$company_data['all_webpages'] = array();
if (is_array(array_var($_POST, 'company'))) {
foreach ($company_data as $k => &$v) {
$v = remove_scripts($v);
}
$company->setFromAttributes($company_data);
$company->setObjectName();
try {
$company_data['contact_type'] = 'company';
Contacts::validate($company_data);
DB::beginWork();
if (isset($_SESSION['new_contact_picture']) && $_SESSION['new_contact_picture']) {
$company->setPictureFile($_SESSION['new_contact_picture']);
$_SESSION['new_contact_picture'] = null;
}
$company->save();
// save phones, addresses and webpages
$this->save_phones_addresses_webpages($company_data, $company);
if ($company_data['email'] != "") {
$company->addEmail($company_data['email'], 'work', true);
}
// save additional emails
$this->save_non_main_emails($company_data, $company);
$object_controller = new ObjectController();
$object_controller->add_subscribers($company);
$member_ids = json_decode(array_var($_POST, 'members'));
if (!is_null($member_ids)) {
$object_controller->add_to_members($company, $member_ids);
}
$object_controller->link_to_new_object($company);
$object_controller->add_custom_properties($company);
DB::commit();
ApplicationLogs::createLog($company, ApplicationLogs::ACTION_ADD);
flash_success(lang('success add client', $company->getObjectName()));
evt_add("company added", array("id" => $company->getObjectId(), "name" => $company->getObjectName()));
ajx_current("back");
if (array_var($_REQUEST, 'modal')) {
evt_add("reload current panel");
}
} catch (Exception $e) {
DB::rollback();
ajx_current("empty");
if (array_var($_REQUEST, 'modal')) {
ajx_extra_data(array('error' => $e->getMessage()));
} else {
flash_error($e->getMessage());
}
//.........这里部分代码省略.........