public function getPublication()
 {
     $publication = CI_Publication::getById($this->publication)[0];
     $myPublication = new stdClass();
     $myPublication->id = $publication->id;
     $myPublication->title = $publication->title;
     $myPublication->description = $publication->description;
     return $myPublication;
 }
 public function end_post()
 {
     //checkIsLoggedIn($this);
     $status = 200;
     $return["result"] = "OK";
     $datestring = "%Y/%m/%d %H:%i:%s";
     $currentDate = mdate($datestring, now());
     $arrOptions['userFromId'] = $this->post('userFromId');
     $arrOptions['userToId'] = $this->post('userToId');
     $arrOptions['publicationId'] = $this->post('publicationId');
     $arrOptions['publicationType'] = $this->post('publicationType');
     $arrOptions['objectId'] = $this->post('objectId');
     $arrOptions['comments'] = $this->post('comments');
     $arrOptions['quantity'] = $this->post('quantity');
     $processState = $arrOptions['publicationType'] == "money" ? "F" : "W";
     try {
         $donation = new CI_Donation();
         $donation->setUserId($arrOptions['userFromId']);
         $donation->setPublicationId($arrOptions['publicationId']);
         $donation->setDonationDate($currentDate);
         $donation->setProcessState($processState);
         $donationId = $donation->save();
         if ($donationId) {
             $donatedObject = new CI_DonatedObject();
             $donatedObject->setDonationId($donationId);
             $donatedObject->setObjectId($arrOptions['objectId']);
             $donatedObject->setQuantity($arrOptions['quantity']);
             $donatedObjectId = $donatedObject->save();
             $message = new CI_Message();
             $message->setUserFrom($arrOptions['userFromId']);
             $message->setUserTo($arrOptions['userToId']);
             $message->setPublication($arrOptions['publicationId']);
             $message->setText($arrOptions['comments']);
             $message->save();
         }
     } catch (Exception $ex) {
         $status = 500;
         $return["result"] = "NOOK";
     }
     if ($status == 200) {
         if ($arrOptions['publicationType'] == "money") {
             $request = CI_Request::getById($arrOptions['publicationId'])[0];
             $amountCollected = $request->amountCollected[0]->quan;
             $quantityGoal = $request->quantity;
             if ($amountCollected >= $quantityGoal) {
                 CI_Publication::pause($arrOptions['publicationId']);
             }
             $return["data"]['amountCollected'] = $amountCollected;
             $return["data"]['quantityGoal'] = $quantityGoal;
         } else {
             CI_Publication::pause($arrOptions['publicationId']);
         }
     }
     $this->response($return, $status);
 }
 public static function getInstance($row)
 {
     if (!$row instanceof stdClass) {
         show_error("El row debe ser una instancia de stdClass.");
     }
     $offer = parent::getInstance($row);
     $offer->processStateOffer = CI_ProcessState::getById($row->process_state_offer);
     $offer->type = CI_OfferType::getById($row->offer_type_id);
     $offer->quantityUsersToPaused = isset($row->quantity_users_to_paused) ? $row->quantity_users_to_paused : '';
     $offer->favorites = CI_Offer::getFavorite($row->publication_id);
     return $offer;
 }
 public function index_get()
 {
     $publication = $this->get("publicationId") ? CI_Publication::getById($this->get("publicationId"))[0] : '';
     $status = 404;
     $return["result"] = "NOOK";
     if ($publication) {
         $status = 200;
         $return["result"] = "OK";
         $return["data"] = "";
         $myPublication = new stdClass();
         $myPublication->id = $publication->id;
         $myPublication->userId = $publication->userId;
         $myPublication->title = $publication->title;
         $myPublication->description = $publication->description;
         $myPublication->creationDate = $publication->creationDate;
         $myPublication->expirationDate = $publication->expirationDate;
         $return["data"][0] = $myPublication;
     }
     $this->response($return, $status);
 }
 public static function getInstance($row)
 {
     if (!$row instanceof stdClass) {
         show_error("El row debe ser una instancia de stdClass.");
     }
     $request = parent::getInstance($row);
     $request->votes = CI_Request::getVote($row->publication_id);
     $request->favorites = CI_Request::getFavorite($row->publication_id);
     $request->amountCollected = CI_Request::getAmountCollectedById($row->publication_id);
     $request->quantityDonated = CI_Request::getQuantityDonatedById($row->publication_id);
     $request->sponsors = CI_Sponsor::getByPublicationId($row->publication_id);
     if (isset($row->isVote)) {
         $request->isVote = $row->isVote;
     }
     return $request;
 }
 public function cancelHelp_get()
 {
     $status = 404;
     $return['result'] = 'NOOK';
     $return['data'] = '';
     $id = $this->get('id');
     $donation = CI_Donation::getById($id)[0];
     if ($donation) {
         $donation->setProcessState("C");
         if ($donation->save()) {
             if (CI_Publication::resume($donation->getPublicationId())) {
                 $status = 200;
                 $return['result'] = 'OK';
                 $return['data'] = $donation;
             }
         }
     }
     $this->response($return, $status);
 }