function DelExclusiveLead() { $log =& LoggerManager::getLogger('ClickATell'); $log->debug('Update exclusive counts start.'); $tablePrefix = 'vtiger_'; $assigned_user_id = trim($_REQUEST['assigned_user_id']); $record = trim($_REQUEST['record']); $userid = $assigned_user_id ? $assigned_user_id : $_SESSION['authenticated_user_id']; $leadid = $record ? $record : ''; $result = array('success' => false, 'message' => ''); if (!empty($userid)) { $adb = PearDatabase::getInstance(); $leadCfSQL = "UPDATE vtiger_leadscf "; $leadCfSQL .= "LEFT JOIN " . $tablePrefix . "lead_exclusives ON vtiger_leadscf.leadid=" . $tablePrefix . "lead_exclusives.leadid "; $leadCfSQL .= "SET vtiger_leadscf.cf_833='未独占' "; $leadCfSQL .= "WHERE userid=" . $userid . " AND datediff(NOW(), " . $tablePrefix . "lead_exclusives.created) >=" . MAX_TTME; $resultLeadCf = $adb->query($leadCfSQL); if ($resultLeadCf) { $log->debug('Update vtiger_leadscf status success.' . $leadCfSQL); $sql = "DELETE FROM " . $tablePrefix . "lead_exclusives WHERE userid=" . $userid . " AND leadid=" . $leadid; $result = $adb->query($sql); if ($result) { $log->debug('Update exclusive counts success .' . json_encode($result)); } $counts = GetExclusiveCounts($userid); $result = array('success' => true, 'message' => $counts); } else { $log->debug('Update vtiger_leadscf status failed.' . $leadCfSQL); $counts = GetExclusiveCounts($userid); $result = array('success' => false, 'message' => $counts); } } $log->debug('Update exclusive counts end. SQL:' . $sql); return $result; }
function AddExclusiveLead() { $log =& LoggerManager::getLogger('ClickATell'); $log->debug('Update exclusive counts start.'); $tablePrefix = 'vtiger_'; $assigned_user_id = trim($_REQUEST['assigned_user_id']); $record = trim($_REQUEST['record']); $userid = $assigned_user_id ? $assigned_user_id : $_SESSION['authenticated_user_id']; $leadid = $record ? $record : ''; $created = date('Y-m-d H:i:s'); $result = array('success' => false, 'message' => ''); if (!empty($userid)) { $counts = GetExclusiveCounts($userid); $adb = PearDatabase::getInstance(); if ($counts <= MAX_COUNTS) { $sql = "SELECT id FROM " . $tablePrefix . "lead_exclusives WHERE exclusive = 1 AND userid = " . $userid; $result = $adb->query($sql); $result = $adb->num_rows($result); if ($result < 1) { $sql = 'INSERT INTO ' . $tablePrefix . 'lead_exclusives ('; $sql .= 'userid, '; $sql .= 'leadid, '; $sql .= 'exclusive, '; $sql .= 'created '; $sql .= ') VALUES ('; $sql .= "{$userid}, "; $sql .= "{$leadid}, "; $sql .= "1, "; $sql .= "'{$created}'"; $sql .= ')'; $result = $adb->query($sql); } else { $result = true; } if ($result) { $result = array('success' => true, 'message' => $counts); $log->debug('Update exclusive counts .' . json_encode($result)); } } else { $modifySQL = "UPDATE vtiger_leadscf SET cf_833='未独占' WHERE leadid=" . $leadid; $result = $adb->query($modifySQL); if ($result) { $log->debug('Update vtiger_leadscf exclusive status success .'); } $counts = GetExclusiveCounts($userid); $result = array('success' => true, 'message' => $counts); } } $log->debug('Update exclusive counts end. SQL:' . $sql); return $result; }
public function process(Vtiger_Request $request) { if (isset($_SESSION['authenticated_user_id'])) { $user_id = $_SESSION['authenticated_user_id']; } $fieldValue = $request->get('fieldValue'); $companyName = $request->get('companyName'); $response = new Vtiger_Response(); $response->setEmitType(Vtiger_Response::$EMIT_JSON); if (isset($user_id) && !empty($companyName) && '已独占' == $fieldValue) { $db = PearDatabase::getInstance(); $sql = "SELECT leadid FROM vtiger_leaddetails WHERE company LIKE '%{$companyName}%' limit 1"; $result = $db->query($sql); $data = $db->fetch_array($result); if (!empty($data['leadid'])) { $sql = "SELECT id FROM vtiger_lead_exclusives WHERE leadid={$data['leadid']} AND userid != {$user_id}"; $result = $db->query($sql); $data = $db->fetch_array($result); if (!empty($data['id'])) { $response->setResult(array('success' => false, 'message' => 'repeat')); $response->emit(); exit; } } } if (isset($user_id)) { $result = GetExclusiveCounts($_SESSION['authenticated_user_id']); } else { $result = false; } if ($result !== false) { $response->setResult(array('success' => true, 'message' => $result)); } else { $response->setResult(array('success' => false, 'message' => vtranslate('LBL_PLEASE_LOGIN'))); } $response->emit(); }