コード例 #1
0
ファイル: Notification.php プロジェクト: tymiles003/X2CRM
 public function getMessage()
 {
     if (empty($this->modelId) || empty($this->modelType)) {
         // skip if there is no association
         $record = null;
     } else {
         if (class_exists($this->modelType)) {
             $record = X2Model::model($this->modelType)->findByPk($this->modelId);
         } else {
             return 'Error: unknown record <b>' . $this->modelType . '</b>';
         }
         if ($record === null) {
             $this->delete();
             return null;
         }
     }
     if (!isset($record) && $this->type !== 'lead_failure' && $this->type !== 'custom') {
         // return var_dump($this->attributes);
         return null;
     }
     $passive = $this->createdBy === 'API' || empty($this->createdBy);
     switch ($this->type) {
         case 'action_complete':
             if ($passive) {
                 return Yii::t('actions', 'Action completed: {action}', array('{action}' => $record->getLink()));
             } else {
                 return Yii::t('actions', '{user} completed an action: {action}', array('{user}' => User::getUserLinks($record->completedBy), '{action}' => $record->getLink(20)));
             }
         case 'action_reminder':
             return Yii::t('actions', '<b>Reminder!</b> The following action is due: {action}', array('{action}' => $record->getLink()));
             // case 'workflow_complete':
             // if($passive)
             // return Yii::t('actions','Stage {n}: {stage} was completed for {record}',array('{record}'=>$record->getLink()));
             // else
             // return Yii::t('actions','{user} completed stage {n}: {stage} was completed for {record}',array('{record}'=>$record->getLink()));
         // case 'workflow_complete':
         // if($passive)
         // return Yii::t('actions','Stage {n}: {stage} was completed for {record}',array('{record}'=>$record->getLink()));
         // else
         // return Yii::t('actions','{user} completed stage {n}: {stage} was completed for {record}',array('{record}'=>$record->getLink()));
         case 'create':
             return Yii::t('app', 'New record assigned to you: {link}.', array('{link}' => $record->getLink()));
         case 'change':
             if ($this->comparison == 'change') {
                 $msg = $passive ? '{record}\'s {field} was changed to {value}' : '{user} changed {record}\'s {field} to {value}';
                 return Yii::t('app', $msg, array('{field}' => $record->getAttributeLabel($this->fieldName), '{value}' => $record->renderAttribute($this->fieldName, true, true), '{record}' => $record->getLink(), '{user}' => Yii::app()->user->getName() == $this->createdBy ? CHtml::link('You', array('/profile/view', 'id' => Yii::app()->user->getId())) : User::getUserLinks($this->createdBy)));
             } else {
                 // > < =
                 $msg = $passive ? '{record}\'s {field} was changed to {value}' : '{user} changed {record}\'s {field} to {value}';
                 return Yii::t('app', $msg, array('{field}' => $record->getAttributeLabel($this->fieldName), '{value}' => $record->renderAttribute($this->fieldName, true, true), '{record}' => $record->getLink(), '{user}' => Yii::app()->user->getName() == $this->createdBy ? CHtml::link('You', array('/profile/view', 'id' => Yii::app()->user->getId())) : User::getUserLinks($this->createdBy)));
             }
         case 'lead_failure':
             return Yii::t('app', 'A lead failed to come through Lead Capture. Check {link} to recover it.', array('{link}' => CHtml::link(Yii::t('app', 'here'), Yii::app()->controller->createUrl('/contacts/contacts/cleanFailedLeads'))));
         case 'assignment':
             if ($passive) {
                 return Yii::t('app', 'You have been assigned a record: {record}', array('{record}' => $record->getLink()));
             } else {
                 return Yii::t('app', '{user} assigned a record to you: {record}', array('{user}' => User::getUserLinks($this->createdBy), '{record}' => $record->getLink()));
             }
         case 'delete':
             if ($passive) {
                 return Yii::t('app', 'Record deleted: {record}', array('{record}' => $this->modelType . ' ' . $this->modelId));
             } else {
                 return Yii::t('app', '{user} deleted a record: {record}', array('{user}' => User::getUserLinks($this->createdBy), '{record}' => $this->modelType . ' ' . $this->modelId));
             }
         case 'event_broadcast':
             return Yii::t('app', '{user} broadcast an event: {event}', array('{user}' => User::getUserLinks($record->user), '{event}' => $record->getText()));
         case 'update':
             if ($passive) {
                 return Yii::t('app', 'Record updated: {record}', array('{record}' => $record->getLink()));
             } else {
                 return Yii::t('app', '{user} updated a record: {record}', array('{user}' => User::getUserLinks($this->createdBy), '{record}' => $record->getLink()));
             }
         case 'dup_discard':
             if ($passive) {
                 return Yii::t('app', 'A record has been marked as a duplicate and hidden to everyone but the admin: {record}', array('{record}' => $record->getLink()));
             } else {
                 return Yii::t('app', '{user} marked a record as a duplicate. This record is hidden to everyone but the admin: {record}', array('{user}' => User::getUserLinks($this->createdBy), '{record}' => $record->getLink()));
             }
         case 'email_clicked':
             return Yii::t('app', '{record} clicked an email link: {campaign}', array('{record}' => $record->getLink(), '{campaign}' => $this->value));
         case 'email_opened':
             return Yii::t('app', '{record} opened an email: {campaign}', array('{record}' => $record->getLink(), '{campaign}' => $this->value));
         case 'email_unsubscribed':
             return Yii::t('app', '{record} unsubscribed from a campaign: {campaign}', array('{record}' => $record->getLink(), '{campaign}' => $this->value));
         case 'social_post':
             return Yii::t('app', '{user} posted on {link}', array('{user}' => User::getUserLinks($this->createdBy), '{link}' => $record->getLink()));
         case 'social_comment':
             return Yii::t('app', '{user} replied on {link}', array('{user}' => User::getUserLinks($this->createdBy), '{link}' => $record->getLink()));
         case 'voip_call':
             return Yii::t('app', 'Incoming call from <b>{phone}</b> ({record}) {time}', array('{record}' => $record->getLink(), '{phone}' => $this->value, '{time}' => Formatter::formatDateDynamic($this->createDate)));
         case 'weblead':
             return Yii::t('app', 'New web lead: {link}.', array('{link}' => $record->getLink()));
         case 'webactivity':
             if ($record instanceof Actions) {
                 if ($link = $record->getAssociationLink()) {
                     return Yii::t('app', '{name} is currently on {url}', array('{name}' => $link, '{url}' => $record->actionDescription));
                 }
             } elseif ($record instanceof Contacts) {
                 return Yii::t('app', '{name} is currently on your website.', array('{name}' => $record->getLink()));
             }
             return null;
         case 'escalateCase':
             return Yii::t('app', '{user} escalated a Service Case to you: {record}', array('{user}' => User::getUserLinks($this->createdBy), '{record}' => $record->createLink()));
         case 'custom':
             return $this->text;
         default:
             return 'Error: unknown type <b>' . $this->type . '</b>';
     }
 }
コード例 #2
0
ファイル: X2Html.php プロジェクト: shuvro35/X2CRM
 public static function dynamicDate($date)
 {
     return '<span title="' . CHtml::encode(Formatter::formatCompleteDate($date)) . '">' . CHtml::encode(Formatter::formatDateDynamic($date)) . '</span>';
 }