本文整理汇总了PHP中X2Model::save方法的典型用法代码示例。如果您正苦于以下问题:PHP X2Model::save方法的具体用法?PHP X2Model::save怎么用?PHP X2Model::save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类X2Model
的用法示例。
在下文中一共展示了X2Model::save方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: handleWebleadFormSubmission
private function handleWebleadFormSubmission(X2Model $model, $extractedParams)
{
$newRecord = $model->isNewRecord;
if (isset($_POST['Contacts'])) {
$model->createEvent = false;
$model->setX2Fields($_POST['Contacts'], true);
// Extra sanitizing
$p = Fields::getPurifier();
foreach ($model->attributes as $name => $value) {
if ($name != $model->primaryKey() && !empty($value)) {
$model->{$name} = $p->purify($value);
}
}
$now = time();
//require email field, check format
/*if(preg_match(
"/[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/",
$_POST['Contacts']['email']) == 0) {
$this->renderPartial('application.components.views.webFormSubmit',
array (
'type' => 'weblead',
'error' => Yii::t('contacts', 'Invalid Email Address')
)
);
return;
}*/
$model->visibility = 1;
$model->validate(null, false);
if (!$model->hasErrors()) {
$model->assignedTo = $this->controller->getNextAssignee();
$model->createDate = $now;
$model->lastUpdated = $now;
$model->updatedBy = 'admin';
$success = $model->save();
//TODO: upload profile picture url from webleadfb
if ($success) {
if ($extractedParams['generateLead']) {
self::generateLead($model, $extractedParams['leadSource']);
}
if ($extractedParams['generateAccount']) {
self::generateAccount($model);
}
self::addTags($model);
$tags = !isset($_POST['tags']) || empty($_POST['tags']) ? array() : explode(',', $_POST['tags']);
if ($newRecord) {
X2Flow::trigger('WebleadTrigger', array('model' => $model, 'tags' => $tags));
}
//use the submitted info to create an action
Actions::associateAction($model, array('actionDescription' => Yii::t('contacts', 'Web Lead') . "\n\n" . Yii::t('contacts', 'Name') . ': ' . CHtml::decode($model->firstName) . " " . CHtml::decode($model->lastName) . "\n" . Yii::t('contacts', 'Email') . ": " . CHtml::decode($model->email) . "\n" . Yii::t('contacts', 'Phone') . ": " . CHtml::decode($model->phone) . "\n" . Yii::t('contacts', 'Background Info') . ": " . CHtml::decode($model->backgroundInfo), 'type' => 'note'));
// create a notification if the record is assigned to someone
$event = new Events();
$event->associationType = 'Contacts';
$event->associationId = $model->id;
$event->user = $model->assignedTo;
$event->type = 'weblead_create';
$event->save();
if ($model->assignedTo != 'Anyone' && $model->assignedTo != '') {
$notif = new Notification();
$notif->user = $model->assignedTo;
$notif->createdBy = 'API';
$notif->createDate = time();
$notif->type = 'weblead';
$notif->modelType = 'Contacts';
$notif->modelId = $model->id;
$notif->save();
$profile = Profile::model()->findByAttributes(array('username' => $model->assignedTo));
/* send user that's assigned to this weblead an email if the user's email
address is set and this weblead has a user email template */
if ($profile !== null && !empty($profile->emailAddress)) {
$subject = Yii::t('marketing', 'New Web Lead');
$message = Yii::t('marketing', 'A new web lead has been assigned to you: ') . CHtml::link($model->firstName . ' ' . $model->lastName, array('/contacts/contacts/view', 'id' => $model->id)) . '.';
$address = array('to' => array(array('', $profile->emailAddress)));
$emailFrom = Credentials::model()->getDefaultUserAccount(Credentials::$sysUseId['systemNotificationEmail'], 'email');
if ($emailFrom == Credentials::LEGACY_ID) {
$emailFrom = array('name' => $profile->fullName, 'address' => $profile->emailAddress);
}
$status = $this->controller->sendUserEmail($address, $subject, $message, null, $emailFrom);
}
}
} else {
$errMsg = 'Error: WebListenerAction.php: model failed to save';
/**/
AuxLib::debugLog($errMsg);
Yii::log($errMsg, '', 'application.debug');
}
$this->controller->renderPartial('application.components.views.webFormSubmit', array('type' => 'weblead', 'redirectUrl' => $extractedParams['redirectUrl']));
Yii::app()->end();
// success!
}
}
$sanitizedGetParams = self::sanitizeGetParams();
$this->controller->renderPartial('application.components.views.webForm', array_merge(array('type' => 'weblead'), $sanitizedGetParams));
}