public function edit()
 {
     if ($this->isPost()) {
         $module = $_POST['module'];
         $module_id = intval($_POST['module_id']);
         $m_comment = M('Comment');
         $m_comment->create();
         $m_comment->update_time = time();
         if ($m_comment->save()) {
             $m_id = $module . '_id';
             if (intval($_POST['message_alert']) == 1) {
                 sendMessage($_POST['to_role_id'], L('THE MAIN CONTENTS ARE AS FOLLOWS', array(createCommentAlertInfo($module, $module_id), chr(10), $_POST['content'])), 1);
             }
             if (intval($_POST['email_alert']) == 1) {
                 $email_result = sysSendEmail($_POST['to_role_id'], createCommentAlertInfo($module, $module_id), L('THE MAIN CONTENT', array($_POST['content'])));
                 if (!$email_result) {
                     alert('error', L('EMAIL NOTIFICATION OF FAILURE THE OTHER PARTY IS NOT SET EFFECTIVE EMAIL'), $_SERVER['HTTP_REFERER']);
                 }
             }
             if (intval($_POST['sms_alert']) == 1) {
                 $sms_result = sysSendSms($_POST['to_role_id'], createCommentAlertInfo($module, $module_id));
                 if (100 == $sms_result) {
                     alert('error', L('SMS NOTIFICATION OF FAILURE THE OTHER PARTY IS NOT SET EFFECTIVE PHONE'), $_SERVER['HTTP_REFERER']);
                 } elseif ($sms_result < 0) {
                     alert(L('SMS SEND FAILS AN ERROR CODE PLEASE CONTACT THE ADMINISTRATOR CONFIRMATION MESSAGE INTERFACE CONFIGURATION'), array(error, $sms_result), $_SERVER['HTTP_REFERER']);
                 }
             }
             alert('success', L('MODIFY COMMENTS SUCCESS'), $_SERVER['HTTP_REFERER']);
         } else {
             alert('error', L('MODIFY COMMENTS FAILED'), $_SERVER['HTTP_REFERER']);
         }
     } elseif ($_GET['id']) {
         $this->comment = M('Comment')->where('comment_id =%d', $_GET['id'])->find();
         $this->display();
     } else {
         alert('error', L('PARAMETER ERROR'), $_SERVER['HTTP_REFERER']);
     }
 }
 public function batchAssign()
 {
     $leads_ids = $_POST['leads_id'];
     $owner_role_id = $_POST['owner_id'];
     $message = empty($_POST['message']) ? 0 : $_POST['message'];
     $sms = empty($_POST['sms']) ? 0 : $_POST['sms'];
     $email = empty($_POST['email']) ? 0 : $_POST['email'];
     if (empty($leads_ids)) {
         alert('error', L('NOT CHOOSE ANY'), $_SERVER['HTTP_REFERER']);
     }
     $m_leads = M('Leads');
     $m_config = M('Config');
     $title = L('NEW_LEADS_MESSAGE_NOTICE_TITLE');
     $content = '';
     $success_leads_name = '';
     $error_leads_name = '';
     foreach ($leads_ids as $v) {
         $leads = $m_leads->where('leads_id = %d', $v)->find();
         $config = $m_config->where(array('name' => 'leads_outdays'))->find();
         if (time() - $leads['have_time'] > $config['value'] * 86400 || $leads['owner_role_id'] == 0) {
             $a = $m_leads->where('leads_id = %d', $v)->setField('owner_role_id', $owner_role_id);
             $b = $m_leads->where('leads_id = %d', $v)->setField('have_time', time());
             if ($a || $b) {
                 $d = array('leads_id' => $v, 'owner_role_id' => $owner_role_id, 'start_time' => time());
                 M('LeadsRecord')->data($d)->add();
                 $url = U('leads/view', 'id=' . $v);
                 $success_leads_name .= '<a href="' . $url . '">' . $leads['name'] . '</a>、';
             } else {
                 $error_leads_name .= $leads['name'] . '、';
             }
         } else {
             alert('error', L('RECEIVED_BY_SOMEONE', array($leads['name'])), $_SERVER['HTTP_REFERER']);
         }
     }
     if ($success_leads_name) {
         $content = L('ASSIGE_LEADS_MESSAGE_NOTICE_CONTENT', array(session('name'), $success_leads_name));
         if ($message == 1) {
             sendMessage($owner_role_id, $content, 1);
         }
         if ($email == 1) {
             $email_result = sysSendEmail($owner_role_id, $title, $content);
             if (!$email_result) {
                 alert('error', L('MAIL_NOTIFICATION_FAILS_FOR_NOT_SET_EMAIL'), $_SERVER['HTTP_REFERER']);
             }
         }
         if ($sms == 1) {
             $sms_result = sysSendSms($owner_role_id, $content);
             if (100 == $sms_result) {
                 alert('error', L('SMS_NOTIFICATION_FAILS_FOR_NOT_VALIDATE_NUMBER'), $_SERVER['HTTP_REFERER']);
             } elseif ($sms_result < 0) {
                 alert('error', L('SMS_NOTIFICATION_FAILS_CODE', array($sms_result)), $_SERVER['HTTP_REFERER']);
             }
         }
     }
     if ($error_leads_name) {
         alert('error', L('BATCH_ASSIGN_LEADS_TO_SOMEONE_FAILED', array($error_leads_name)), $_SERVER['HTTP_REFERER']);
     } else {
         alert('success', L('BATCH_ASSIGN_LEADS_SUCCESSFULLY'), $_SERVER['HTTP_REFERER']);
     }
 }
Esempio n. 3
0
 public function add()
 {
     if ($this->isPost()) {
         $m_task = M('Task');
         if ($task = $m_task->create()) {
             $task['create_date'] = time();
             $task['update_date'] = time();
             $task['due_date'] = isset($_POST['due_date']) ? strtotime($_POST['due_date']) : time();
             if ($task['status'] == '完成') {
                 $task['finish_date'] = time();
             }
             $task['owner_role_id'] = $_POST['owner_role_id_str'];
             if (!$_POST['subject']) {
                 alert('error', L('NEED_TASK_TITLE'), $_SERVER['HTTP_REFERER']);
             }
             $send_email_array = $_POST['owner_role_id_str'] . $_POST['about_roles'];
             if ($send_email_array) {
                 $owner_role_id_array = explode(',', $send_email_array);
                 $creator = getUserByRoleId(session('role_id'));
                 if ($task_id = $m_task->add($task)) {
                     $message_content = L('MESSAGE_CONTENT', array(U('task/view', 'id=' . $task_id), $_POST['subject'], $creator['user_name'], $creator['department_name'], $creator['role_name'], $_POST['due_date'], $_POST['priority'], $_POST['description']));
                     $email_content = L('EMAIL_CONTENT', array($_POST['subject'], $creator['user_name'], $creator['department_name'], $creator['role_name'], $_POST['due_date'], $_POST['priority'], $_POST['description']));
                     $module = isset($_POST['module']) ? $_POST['module'] : '';
                     if ($module != '') {
                         switch ($module) {
                             case 'contacts':
                                 $m_r = M('RContactsTask');
                                 $module_id = 'contacts_id';
                                 break;
                             case 'leads':
                                 $m_r = M('RLeadsTask');
                                 $module_id = 'leads_id';
                                 break;
                             case 'customer':
                                 $m_r = M('RCustomerTask');
                                 $module_id = 'customer_id';
                                 break;
                             case 'product':
                                 $m_r = M('RProductTask');
                                 $module_id = 'product_id';
                                 break;
                             case 'business':
                                 $m_r = M('RBusinessTask');
                                 $module_id = 'business_id';
                                 break;
                         }
                         if ($_POST['module_id']) {
                             $data[$module_id] = intval($_POST['module_id']);
                             $data['task_id'] = $task_id;
                             $rs = $m_r->add($data);
                             if ($rs <= 0) {
                                 alert('error', L('RELATED_FAILED'), $_SERVER['HTTP_REFERER']);
                             }
                         }
                     }
                     foreach (array_unique($owner_role_id_array) as $k => $v) {
                         if ($v && $v != session('role_id')) {
                             if (intval($_POST['message_alert']) == 1) {
                                 sendMessage($v, $message_content, 1);
                             }
                             if (intval($_POST['email_alert']) == 1) {
                                 sysSendEmail($v, L('EMAIL_TITLE'), $email_content);
                             }
                         }
                     }
                 } else {
                     alert('error', L('FAILED_ADD'), $_SERVER['HTTP_REFERER']);
                 }
                 $refer_url = $_POST['refer_url'];
                 if ($_POST['submit'] == L('SAVE')) {
                     if ($refer_url) {
                         alert('success', L('SUCCESS_ADD'), $refer_url);
                     } else {
                         alert('success', L('SUCCESS_ADD'), U('task/index'));
                     }
                 } elseif ($_POST['submit'] == L('SAVE AND NEW')) {
                     alert('success', L('SUCCESS_ADD'), U('task/add'));
                 } else {
                     if ($refer_url) {
                         alert('success', L('SUCCESS_ADD'), $refer_url);
                     } else {
                         alert('success', L('SUCCESS_ADD'), U('task/index'));
                     }
                 }
             } else {
                 $this->error(L('SELECT_TASK_EXECUTOR'));
             }
         } else {
             $this->error(L('ADDING FAILS CONTACT THE ADMINISTRATOR', array(L('TASK'))));
         }
     } elseif ($_GET['r'] && $_GET['module'] && $_GET['id']) {
         $this->r = $_GET['r'];
         $this->module = $_GET['module'];
         $this->id = $_GET['id'];
         $this->refer_url = $_SERVER['HTTP_REFERER'];
         $this->display('Task:add_dialog');
     } else {
         $this->alert = parseAlert();
         $this->display();
     }
 }
 public function receive()
 {
     $m_customer = M('Customer');
     $m_config = M('Config');
     $m_customer_record = M('customer_record');
     if (!empty($_POST['owner_role_id'])) {
         $owner_role_id = $_POST['owner_role_id'];
     } elseif (!empty($_POST['owner_role'])) {
         $owner_role_id = $_POST['owner_role'];
     } else {
         $owner_role_id = session('role_id');
     }
     $data['owner_role_id'] = $owner_role_id;
     $data['update_time'] = time();
     //是否是分配需要提醒
     $need_alert = false;
     //单个领取
     if ($this->isGet()) {
         $customer_id = isset($_GET['customer_id']) ? intval(trim($_GET['customer_id'])) : 0;
         //判断是否符合领取条件
         $customer_limit_counts = $m_config->where('name = "customer_limit_counts"')->getField('value');
         $customer_record_count = $this->check_customer_limit(session('user_id'), 1);
         if ($customer_record_count < $customer_limit_counts) {
             $contacts = M('rContactsCustomer')->where('customer_id = %d', $customer_id)->select();
             foreach ($contacts as $k => $v) {
                 M('contacts')->where('contacts_id = %d', $v['contacts_id'])->setField('owner_role_id', $owner_role_id);
             }
             if ($m_customer->where('customer_id = %d', $customer_id)->save($data)) {
                 $info['customer_id'] = $customer_id;
                 $info['user_id'] = session('user_id');
                 $info['start_time'] = time();
                 $info['type'] = 1;
                 $m_customer_record->add($info);
                 alert('success', L('GET_THE_SUCCESS'), $_SERVER['HTTP_REFERER']);
             } else {
                 alert('error', L('GET_THE_FAILURE'), $_SERVER['HTTP_REFERER']);
             }
         } else {
             alert('error', L('GET_THE_FAILURE_OVER_GET'), $_SERVER['HTTP_REFERER']);
         }
     } else {
         $customer_name = array();
         $customer_ids = $_POST['customer_id'];
         //是否批量操作 否的话是单个分配
         if (!$_POST['customer_id']) {
             alert('error', L('NO_CHANCE_CUSTOMER'), $_SERVER['HTTP_REFERER']);
         }
         if (is_array($customer_ids)) {
             //检查用户是否符合领取客户池资源资格
             //判断领取或分配  operating_type  receive:领取  assign:分配
             $customer_limit_counts = $m_config->where('name = "customer_limit_counts"')->getField('value');
             $customer_record_count = $this->check_customer_limit(session('user_id'), 1);
             if (sizeof($customer_ids) + $customer_record_count <= $customer_limit_counts) {
                 if ($_POST['operating_type'] == 'receive') {
                     if ($customer_record_count >= $customer_limit_counts) {
                         alert('error', L('GET_THE_FAILURE_OVER_GET'), $_SERVER['HTTP_REFERER']);
                     }
                 }
             } else {
                 alert('error', L('GET_THE_FAILURE_OVER_GET_LIMIT', array($customer_limit_counts)), $_SERVER['HTTP_REFERER']);
             }
             $where['update_time'] = array('lt', time() - 86400);
             $where['customer_id'] = array('in', implode(',', $customer_ids));
             $where['owner_role_id'] = array('gt', 0);
             $contacts = M('rContactsCustomer')->where('customer_id in (%s)', implode(',', $customer_ids))->select();
             foreach ($contacts as $k => $v) {
                 M('contacts')->where('contacts_id = %d', $v['contacts_id'])->setField('owner_role_id', $owner_role_id);
             }
             $updated_owner = $m_customer->where($where)->save($data);
             unset($where['update_time']);
             $where['owner_role_id'] = array('eq', 0);
             $customer_name = $m_customer->where($data)->getField('name', true);
             $updated_time = $m_customer->where($where)->save($data);
             //是否操作成功
             if ($updated_owner || $updated_time) {
                 //增加customer_record记录
                 $m_user = M('user');
                 $user_id = $m_user->where('role_id = %d', $owner_role_id)->getField('user_id');
                 $info['start_time'] = time();
                 foreach ($customer_ids as $v) {
                     $info['customer_id'] = $v;
                     if ($_POST['operating_type'] == 'receive') {
                         $info['user_id'] = session('user_id');
                         $info['type'] = 1;
                     } else {
                         $info['user_id'] = $user_id;
                         $info['type'] = 2;
                     }
                     $m_customer_record->add($info);
                 }
                 //是分配还是领取
                 if ($_POST['owner_role']) {
                     $title = L('you_have_new_customer');
                     $content = L('THE_CUSTOMER_RESOURCES', array(session('name'), implode(',', $customer_name)));
                     $need_alert = true;
                 } else {
                     alert('success', L('BATCH_TO_GET_SUCCESS'), $_SERVER['HTTP_REFERER']);
                 }
             } else {
                 if ($_POST['owner_role']) {
                     alert('error', L('BATCH_ALLOCATION_FAILURE'), $_SERVER['HTTP_REFERER']);
                 } else {
                     alert('error', L('BATCH_ALLOCATION_FAILURE'), $_SERVER['HTTP_REFERER']);
                 }
             }
         } else {
             $where['update_time'] = array('lt', time() - 86400);
             $where['customer_id'] = intval($customer_ids);
             $where['owner_role_id'] = array('gt', 0);
             $contacts = M('rContactsCustomer')->where('customer_id = %d', $customer_ids)->select();
             foreach ($contacts as $k => $v) {
                 M('contacts')->where('contacts_id = %d', $v['contacts_id'])->setField('owner_role_id', $owner_role_id);
             }
             $updated_owner = $m_customer->where($where)->save($data);
             unset($where['update_time']);
             $where['owner_role_id'] = array('eq', 0);
             $updated_time = $m_customer->where($where)->save($data);
             if ($updated_owner || $updated_time) {
                 $customer = $m_customer->where('customer_id = %d', intval($customer_ids))->find();
                 $title = L('you_have_new_customer');
                 $content = L('THE_CUSTOMER_RESOURCES', array(session('name'), U('Customer/view', 'id=' . $customer_ids), $customer['name']));
                 $need_alert = true;
             } else {
                 alert('error', L('ASSIGNMENT_FAILURE'), $_SERVER['HTTP_REFERER']);
             }
         }
         //分配需要提醒
         if ($need_alert) {
             if (intval($_POST['message_alert']) == 1) {
                 sendMessage($owner_role_id, $content, 1);
             }
             if (intval($_POST['email_alert']) == 1) {
                 $email_result = sysSendEmail($owner_role_id, $title, $content);
                 if (!$email_result) {
                     alert('error', L('EMAIL_FAILURE_NOT_SET_EFFECTIVE_MAILBOX'), $_SERVER['HTTP_REFERER']);
                 }
             }
             if (intval($_POST['sms_alert']) == 1) {
                 $sms_result = sysSendSms($owner_role_id, $content);
                 if (100 == $sms_result) {
                     alert('error', L('MESSAGE_FAILURE_NOT_SET_EFFECTIVE_MOBILE'), $_SERVER['HTTP_REFERER']);
                 } elseif ($sms_result < 0) {
                     alert('error', L('MESSAGE_FAILURE_ERRORCODE', array($sms_result)), $_SERVER['HTTP_REFERER']);
                 }
             }
             alert('success', L('DISTRIBUTION_OF_SUCCESS'), $_SERVER['HTTP_REFERER']);
         }
     }
 }
Esempio n. 5
0
 /**
  *任务日志
  *
  **/
 public function tasklog()
 {
     $value = unserialize(M('config')->where('name = "defaultinfo"')->getField('value'));
     if ($this->isPost()) {
         $module = $_POST['module'];
         $task_id = $_POST['task_id'];
         $m_log = M('Log');
         $m_file = M('File');
         $m_log->create();
         $m_log->category_id = 1;
         $m_log->create_date = time();
         $m_log->update_date = time();
         if (array_sum($_FILES['file']['size'])) {
             //如果有文件上传 上传附件
             import('@.ORG.UploadFile');
             //导入上传类
             $upload = new UploadFile();
             //设置上传文件大小
             $upload->maxSize = 20000000;
             //设置附件上传目录
             $dirname = './Uploads/' . date('Ym', time()) . '/' . date('d', time()) . '/';
             $upload->allowExts = explode(',', $value['allow_file_type']);
             // 设置附件上传类型
             if (!is_dir($dirname) && !mkdir($dirname, 0777, true)) {
                 $this->error(L('ATTACHMENTS TO UPLOAD DIRECTORY CANNOT WRITE'));
             }
             $upload->savePath = $dirname;
             if (!$upload->upload()) {
                 // 上传错误提示错误信息
                 alert('error', $upload->getErrorMsg(), $_SERVER['HTTP_REFERER']);
             } else {
                 // 上传成功 获取上传文件信息
                 $info = $upload->getUploadFileInfo();
             }
         }
         if (empty($_POST['content'])) {
             alert('error', '内容描述不能为空!', $_SERVER['HTTP_REFERER']);
         }
         if ($log_id = $m_log->add()) {
             $taskList = M('Task')->where('task_id = %d', $task_id)->find();
             M('Task')->where('task_id = %d', $task_id)->setField('about_roles', $taskList['about_roles'] . $_POST['about_roles']);
             M('Task')->where('task_id = %d', $task_id)->setField('status', $_POST['status']);
             $send_email_array = $taskList['about_roles'] . $taskList['owner_role_id'];
             $data['log_id'] = $log_id;
             $data['task_id'] = $task_id;
             $send_email_str = explode(',', $send_email_array);
             $creator = getUserByRoleId(session('role_id'));
             $email_content = "发件人:" . $creator['user_name'] . "<br>" . "部门:" . $creator['department_name'] . "<br>" . '岗位:' . $creator['role_name'] . "<br>" . '内容:' . "<pre>" . $_POST['content'] . "</pre>" . "<br>" . '发件时间:' . date('Y-m-d H:i:s', time());
             if ($send_email_str) {
                 foreach ($send_email_str as $k => $v) {
                     if ($v != "" && $v != session('role_id')) {
                         if (intval($_POST['email_alert']) == 1) {
                             sysSendEmail($v, $taskList['subject'], $email_content);
                         }
                         if (intval($_POST['message_alert']) == 1) {
                             sendMessage($v, $email_content, 1);
                         }
                     }
                 }
             }
             if (M('RLogTask')->add($data)) {
                 foreach ($info as $key => $value) {
                     $data['name'] = $value['name'];
                     $data['file_path'] = $value['savepath'] . $value['savename'];
                     $data['role_id'] = $_POST['role_id'];
                     $data['size'] = $value['size'];
                     $data['create_date'] = time();
                     if ($file_id = $m_file->add($data)) {
                         $temp = array();
                         $temp['file_id'] = $file_id;
                         $temp['log_id'] = $log_id;
                         if (!M('RFileLog')->add($temp)) {
                             alert('error', '部分文件上传失败,请联系管理员!', $_SERVER['HTTP_REFERER']);
                         }
                     } else {
                         alert('error', L('ADD_ATTACHMENTS_FAIL'), $_SERVER['HTTP_REFERER']);
                     }
                 }
                 alert('success', L('ADD SUCCESS', array(L('LOG'))), $_SERVER['HTTP_REFERER']);
             } else {
                 alert('error', L('ADD_LOG_FAILED'), $_SERVER['HTTP_REFERER']);
             }
         } else {
             alert('error', L('ADD_LOG_FAILED'), $_SERVER['HTTP_REFERER']);
         }
     } elseif ($_GET['id']) {
         $this->allowExts = $value['allow_file_type'];
         $this->model_id = $_GET['id'];
         $status = M('Task')->where('task_id = %d', $_GET['id'])->getField('status');
         $this->status = $status;
         $this->display();
     } else {
         alert('error', L('PARAMETER_ERROR'), $_SERVER['HTTP_REFERER']);
     }
 }