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']); } }
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']); } } }
/** *任务日志 * **/ 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']); } }