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 function image_post()
 {
     $uploadFail = false;
     $status = 500;
     $return["data"] = "";
     $return["result"] = "NOOK";
     $publicationId = $this->post('publicationId');
     foreach ($_FILES as $key => $file) {
         $uploadDir = DIR_UPLOADS . 'publication-images/' . $publicationId . '/';
         if (!file_exists($uploadDir)) {
             mkdir($uploadDir, 0777, true);
         }
         $uploadFile = $uploadDir . basename($file['name']);
         if (move_uploaded_file($file['tmp_name'], $uploadFile)) {
             $imageUrl = '/ayudaresfacil/api/uploads/publication-images/' . $publicationId . '/' . basename($file['name']);
             CI_Request::saveImage($publicationId, $imageUrl);
         } else {
             $uploadFail = true;
         }
     }
     if (!$uploadFail) {
         $status = 200;
         $return["result"] = "OK";
         $return["data"] = "";
     }
     $this->response($return, $status);
 }
 public static function getHelpsByUser($userId)
 {
     $CI =& get_instance();
     $CI->load->model('request_model');
     $results = $CI->request_model->getHelpsByUser($userId);
     $return = array();
     if (!empty($results)) {
         foreach ($results as $result) {
             $return[] = CI_Request::getInstance($result);
         }
     }
     return $return;
 }
 public function notify_post()
 {
     $status = 404;
     $return['result'] = 'NOOK';
     $return['data'] = '';
     $id = $this->input->post('id');
     $donations = CI_Donation::getById($id);
     if (empty($donations)) {
         $this->response($return, $status);
     }
     $donation = $donations[0];
     $publication = CI_Request::getById($donation->getPublicationId())[0];
     $publicationId = $donation->getPublicationId();
     $userIdTo = $donation->getUserId();
     $userIdFrom = $publication->userId;
     $ownerPublication = CI_User::getById($userIdFrom)[0];
     $ownerDonation = CI_User::getById($userIdTo)[0];
     $options['donatedObjects'] = $donation->getDonatedObjects();
     $options['nameOwnerPublication'] = $ownerPublication->getName();
     $options['nameOwnerDonation'] = $ownerDonation->getName();
     $options['publicationTitle'] = $publication->title;
     $options['personalDataOwnerDonation'] = $ownerDonation->getPersonalData();
     $notifyMessage = new CI_Message();
     $notifyMessage->setUserIdTo($userIdTo);
     $notifyMessage->setUserIdFrom($userIdFrom);
     $notifyMessage->setPublicationId($publicationId);
     $notifyMessage->setCommonState('N');
     $notifyMessage->setNotifyText($options);
     if ($notifyMessage->save()) {
         $status = 200;
         $return['result'] = 'OK';
         $return['data'] = $donation;
     }
     $this->response($return, $status);
 }