Пример #1
0
 /**
  * Cache lead on MongoDb
  */
 public function cacheLead($lead_id)
 {
     $select = $this->select();
     if ($lead_id) {
         $select->where("lead_id = ?", $lead_id);
         $lead = $this->fetchRow($select);
         if ($lead) {
             $lead = $lead->toArray();
             $lead["owner"] = $this->ownerModel->find($lead["lead_id"])->toArray();
             $lead["chat_request"] = $this->chatRequestModel->getChatRequestForCaching($lead["chat_request_id"]);
             try {
                 $mongoDb = Db_Mongo::instantiate();
                 $leadsCollection = $mongoDb->getCollection("leads_cached");
                 $leadResult = $leadsCollection->findOne(array("lead_id" => $lead["lead_id"]));
                 if ($leadResult) {
                     $criteria = array("_id" => new MongoId($leadResult["_id"]));
                     $leadsCollection->update($criteria, $lead, array("upsert" => true));
                 } else {
                     $leadsCollection->insert($lead);
                 }
                 return true;
             } catch (Exception $e) {
                 return false;
             }
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
Пример #2
0
 public function processApproveAction()
 {
     if ($this->getRequest()->isXmlHttpRequest()) {
         $lead_id = $this->getRequest()->getPost("lead_id");
         if ($lead_id) {
             $lead = $this->leadModel->find($lead_id)->toArray();
             if ($lead) {
                 $owner_id = $lead["owner_id"];
                 if ($this->ownerModel->hasSufficientCredit($owner_id) && $this->ownerModel->isBulkSubscriber($owner_id)) {
                     $this->leadModel->approve($lead_id);
                 } else {
                     $this->view->result = array("success" => false, "error" => "Has no sufficient credit");
                 }
             }
         } else {
             $this->view->result = $this->_invalidRequest();
         }
     } else {
         $this->view->result = $this->_invalidRequest();
     }
     $this->_helper->layout->setLayout("plain");
     $this->_helper->viewRenderer("json");
 }