/** * @Created By : Mahipal Singh Adhikari * @Created On : 27-Jan-2011 * @Description : Report Journal/Wall and other items as abuse to admin */ public function reportAbuseAction() { $this->view->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); //get request parameters $item_id = $this->_getParam('item_id'); $item_type = $this->_getParam('item_type'); //get logged in user ID $usersNs = new Zend_Session_Namespace('members'); $user_id = $usersNs->userId; if ($user_id == "" || $user_id == 0) { $JsonResultArray = array('error' => 1, 'response' => "Please login to report abuse."); echo Zend_Json::encode($JsonResultArray); exit; } if ($item_id == "" || $item_id == 0) { $JsonResultArray = array('error' => 2, 'response' => "No item is selected to report abuse."); echo Zend_Json::encode($JsonResultArray); exit; } if ($item_type == "") { $JsonResultArray = array('error' => 2, 'response' => "No item type is selected to report abuse."); echo Zend_Json::encode($JsonResultArray); exit; } //Get user report abuse info for item $modelM = new Application_Model_ReportAbuse(); $modelRes = $modelM->fetchRow("item_id={$item_id} AND item_type='{$item_type}' AND user_id={$user_id}"); if ($modelRes && $modelRes->getStatus() == 1) { $JsonResultArray = array('error' => 2, 'response' => "You've already reported this as abuse."); echo Zend_Json::encode($JsonResultArray); exit; } else { $params["itemId"] = $item_id; $params["itemType"] = $item_type; $params["userId"] = $user_id; $params["comment"] = ""; $params["status"] = 1; $modelM->setOptions($params); $dbRes = $modelM->save(); if ($dbRes) { //get item type information $itemTitle = ""; $authorId = ""; $author = ""; if ($item_type == 'blog') { $blogM = new Application_Model_Blog(); $blogRes = $blogM->find($item_id); $itemTitle = $blogRes->getTitle(); $authorId = $blogRes->getUserId(); $blog_url = Zend_Registry::get('siteurl') . "/journal/view-post/blog_id/" . $item_id; $itemTitle = "<a href='" . $blog_url . "' target='_blank'>" . $itemTitle . "</a>"; } else { if ($item_type == 'wall') { $wallM = new Application_Model_Wall(); $wallRes = $wallM->find($item_id); $itemTitle = $wallRes->getStatus(); $authorId = $wallRes->getUserId(); } else { if ($item_type == 'photo') { $objModelAlbumPhoto = new Album_Model_AlbumPhoto(); $albumPhotoRes = $objModelAlbumPhoto->find($item_id); $itemTitle = $albumPhotoRes->getName(); $authorId = $albumPhotoRes->getUserId(); } } } //get Blog/Wall owner/author user information if ($authorId != "") { $useAuthor = new Application_Model_User(); $authorRes = $useAuthor->find($authorId); $author = ucfirst($authorRes->getFirstName()) . " " . ucfirst($authorRes->getLastName()) . " (" . $authorRes->getUsername() . ")"; } //get user information who is reporting abuse item $userM = new Application_Model_User(); $userR = $userM->find($user_id); $reporterName = ucfirst($userR->getFirstName()) . " " . ucfirst($userR->getLastName()) . " (" . $userR->getUsername() . ")"; $reporterEmail = $userR->getEmail(); //Now send report abuse email to Administrator $settings = new Admin_Model_GlobalSettings(); $admin_email = $settings->settingValue('report_abuse'); //$admin_email = "*****@*****.**"; $mailOptions['receiver_email'] = $admin_email; $mailOptions['item_type'] = ucfirst($item_type); $mailOptions['item_title'] = $itemTitle; $mailOptions['item_author'] = $author; $mailOptions['reporter_name'] = $reporterName; $mailOptions['reporter_email'] = $reporterEmail; //create mail class object and send the email $Mail = new Base_Mail(); $Mail->sendReportAbuseEmail($mailOptions); //send response $JsonResultArray = array('error' => 3, 'response' => "Consider it reported!"); } else { $JsonResultArray = array('error' => 2, 'response' => "Error occured, please try again later."); } } echo Zend_Json::encode($JsonResultArray); exit; }
private function setModel($row) { $model = new Application_Model_ReportAbuse(); $model->setId($row->id)->setItemId($row->item_id)->setItemType($row->item_type)->setUserId($row->user_id)->setComment($row->comment)->setStatus($row->status)->setAddedon($row->addedon)->setUpdatedon($row->updatedon); return $model; }