晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/akaindir/public_html/crm/modules/com_vtiger_workflow/tasks/ |
Upload File : |
<?php
/*+**********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
************************************************************************************/
require_once('modules/com_vtiger_workflow/tasks/VTEmailTask.inc');
class VTSendNotificationTask extends VTEmailTask {
public function doTask($entity) {
global $adb, $current_user;
$util = new VTWorkflowUtils();
$admin = $util->adminUser();
$module = $entity->getModuleName();
$taskContents = Zend_Json::decode($this->getContents($entity));
$fromEmail = $taskContents['fromEmail'];
$fromName = $taskContents['fromName'];
$toEmail = $taskContents['toEmail'];
$cc = $taskContents['ccEmail'];
$bcc = $taskContents['bccEmail'];
$subject = $taskContents['subject'];
$content = $taskContents['content'];
//Storing the details of emails
$entityIdDetails = vtws_getIdComponents($entity->getId());
$entityId = $entityIdDetails[1];
$moduleName = 'Emails';
$userId = $current_user->id;
$emailFocus = CRMEntity::getInstance($moduleName);
$dateTime = new DateTimeField(null);
$emailFocus->column_fields['assigned_user_id'] = $userId;
$emailFocus->column_fields['subject'] = $subject;
$emailFocus->column_fields['description'] = $content;
$emailFocus->column_fields['from_email'] = $fromEmail;
$emailFocus->column_fields['saved_toid'] = $toEmail;
$emailFocus->column_fields['ccmail'] = $cc;
$emailFocus->column_fields['bccmail'] = $bcc;
$emailFocus->column_fields['parent_id'] = $entityId."@$userId|";
$emailFocus->column_fields['email_flag'] = 'SENT';
$emailFocus->column_fields['activitytype'] = $moduleName;
$emailFocus->column_fields['date_start'] = date($dateTime->getDisplayDate($current_user));
$emailFocus->column_fields['time_start'] = date($dateTime->getDisplayTime($current_user));
$emailFocus->column_fields['mode'] = '';
$emailFocus->column_fields['id'] = '';
$emailFocus->save($moduleName);
//Including email tracking details
global $site_URL, $application_unique_key;
$emailId = $emailFocus->id;
$trackURL = "$site_URL/modules/Emails/actions/TrackAccess.php?record=$entityId&mailid=$emailId&app_key=$application_unique_key";
$content = "<img src='$trackURL' alt='' width='1' height='1'>$content";
if (stripos($content, '<img src="cid:logo" />')) {
$logo = 1;
}
$status = send_mail($module, $toEmail, $fromName, $fromEmail, $subject, $content, $cc, $bcc, '', '', $logo);
if(!empty($emailId)) {
$emailFocus->setEmailAccessCountValue($emailId);
}
if(!$status) {
//If mail is not sent then removing the details about email
$emailFocus->trash($moduleName, $emailId);
}
$util->revertUser();
}
/**
* Function to get contents of this task
* @param <Object> $entity
* @return <Array> contents
*/
public function getContents($entity) {
if (!$this->contents) {
$util = new VTWorkflowUtils();
$admin = $util->adminUser();
$entityCache = new VTEntityCache($admin);
$entityOwnerId = $entity->get('assigned_user_id');
$entityId = $entity->getId();
$entity = $entityCache->forId($entityId);
list($referenceEntityId, $ownerId) = vtws_getIdComponents($entityOwnerId);
$referenceEntity = $entityCache->forId($entityOwnerId);
if($referenceEntity->getModuleName() === 'Groups') {
require_once('include/utils/GetGroupUsers.php');
$groupModel = new GetGroupUsers();
$groupModel->getAllUsersInGroup($ownerId);
//Clearing static cache for sub groups
GetGroupUsers::$groupIdsList = array();
$usersList = $groupModel->group_users;
if ($usersList) {
$ownerId = $usersList[0];
}
}
if ($ownerId) {
$ownerFocus = CRMEntity::getInstance('Users');
$ownerFocus->retrieve_entity_info($ownerId, 'Users');
$dateTime = new DateTimeField($entity->get('date_start') .' '. $entity->get('time_start'));
$entity->set('date_start', $dateTime->getDisplayDate($ownerFocus));
$entity->set('time_start', $dateTime->getDisplayTime($ownerFocus));
$dateTime = new DateTimeField($entity->get('due_date') .' '. $entity->get('time_end'));
$entity->set('due_date', $dateTime->getDisplayDate($ownerFocus));
$entity->set('time_end', $dateTime->getDisplayTime($ownerFocus));
}
$entityCache->cache[$entityId] = $entity;
$this->contents = parent::getContents($entity, $entityCache);
$util->revertUser();
}
return $this->contents;
}
}
?>