Example #1
0
 public function contentflagsAction()
 {
     // Get all POST-parameters
     $posts = $this->_request->getPost();
     // Get models for the job
     $contentflagmodel = new Default_Model_ContentFlags();
     $commentflagmodel = new Default_Model_CommentFlags();
     $contentmodel = new Default_Model_Content();
     $commentmodel = new Default_Model_Comments();
     // Get cache from registry
     $cache = Zend_Registry::get('cache');
     $cachePosts = array();
     if ($handle = opendir(APPLICATION_PATH . '/../tmp')) {
         while (false !== ($file = readdir($handle))) {
             if (strcmp(substr($file, 0, 24), "zend_cache---IndexPosts_") == 0) {
                 $cachePosts[] = $file;
             }
         }
         closedir($handle);
     }
     // Recent posts id
     if ($posts) {
         // Remove content
         if ($posts['rm'] == "content") {
             foreach ($posts as $key => $post) {
                 if ($key != "rm" && $key != "selectall") {
                     // Remove content and all dependign stuff
                     $content = new Default_Model_Content();
                     $contentRemoveChecker = $content->removeContentAndDepending($key);
                     if (isset($cachePosts)) {
                         // Remove recent post cache
                         foreach ($cachePosts as $cachePost) {
                             $cache->remove(mb_substr($cachePost, 13));
                         }
                     }
                 }
             }
         }
         // Unpublish content
         if ($posts['rm'] == "pubflag") {
             foreach ($posts as $key => $post) {
                 if ($key != "rm" && $key != "selectall") {
                     // Flags from content_flags_cfl
                     $cfl_ids = $contentflagmodel->getFlagsByContentId($key);
                     foreach ($cfl_ids as $cfl_id) {
                         $contentflagmodel->removeFlag($cfl_id);
                     }
                     // Unpublish
                     $contentmodel->publishContent($key, 0);
                     if (isset($cachePosts)) {
                         // Remove recent post cache
                         foreach ($cachePosts as $cachePost) {
                             $cache->remove(mb_substr($cachePost, 13));
                         }
                     }
                 }
             }
         }
         // Remove flags
         if ($posts['rm'] == "flag") {
             foreach ($posts as $key => $post) {
                 if ($key != "rm" && $key != "selectall") {
                     // Flags from content_flags_cfl
                     $cfl_ids = $contentflagmodel->getFlagsByContentId($key);
                     foreach ($cfl_ids as $cfl_id) {
                         $contentflagmodel->removeFlag($cfl_id);
                     }
                 }
             }
         }
     }
     // Awesome algorithm for counting how many flags each flagged content has
     $flagItems = $contentflagmodel->getAllFlags();
     $tmpCount = array();
     foreach ($flagItems as $flagItem) {
         $tmpCount[$flagItem['id_content_cfl']]++;
     }
     arsort($tmpCount);
     $data = array();
     $count = 0;
     // Loop and re-arrange our variables
     foreach ($tmpCount as $cnt_id => $cnt_count) {
         $content = $contentmodel->getById($cnt_id);
         $data[$count]['id'] = $cnt_id;
         $data[$count]['ctype'] = $content['Content']['Data']['id_cty_cnt'];
         $data[$count]['title'] = $content['Content']['Data']['title_cnt'];
         $data[$count]['lead'] = $content['Content']['Data']['lead_cnt'];
         $data[$count]['body'] = $content['Content']['Data']['body_cnt'];
         $data[$count]['count'] = $cnt_count;
         $data[$count]['url'] = $this->_urlHelper->url(array('controller' => 'view', 'action' => $cnt_id, 'language' => $this->view->language), 'lang_default', true);
         $count++;
     }
     // Go!
     $this->view->contents = $data;
 }
Example #2
0
 /**
  * adminunlinkAction
  *
  * Shows contents which are linket to campaign. Campaign(group) admin can select and remove link.
  *
  * @author Mikko Korpinen
  */
 public function adminunlinkAction()
 {
     // Get authentication
     $auth = Zend_Auth::getInstance();
     // If user has identity
     if ($auth->hasIdentity()) {
         // Get requests
         $params = $this->getRequest()->getParams();
         $relatestoid = $params['relatestoid'];
         $groupId = $params['groupid'];
         if (!isset($relatestoid) && !isset($groupId)) {
             $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($redirectUrl);
         }
         $groupAdminsModel = new Default_Model_GroupAdmins();
         $groupAdmins = $groupAdminsModel->getGroupAdmins($groupId);
         $user = $auth->getIdentity();
         if (!$groupAdminsModel->userIsAdmin($groupId, $user->user_id)) {
             $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($redirectUrl);
         }
         $campaignModel = new Default_Model_Campaigns();
         $campaignexists = $campaignModel->campaignExists($relatestoid);
         if ($campaignexists) {
             $relatesToCampaign = $campaignModel->getCampaignById($relatestoid);
             $this->view->relatesToCampaignName = $relatesToCampaign['name_cmp'];
             $campaignContents = $campaignModel->getAllContentsInCampaign($relatestoid);
             $campaignFlagContents = array();
             $campaignNormalContents = array();
             $contentflagmodel = new Default_Model_ContentFlags();
             // Check if content is flaged
             foreach ($campaignContents as $content) {
                 $cfl_ids = $contentflagmodel->getFlagsByContentId($content['id_cnt']);
                 if (!empty($cfl_ids)) {
                     $campaignFlagContents[] = $content;
                 } else {
                     $campaignNormalContents[] = $content;
                 }
             }
         }
         $this->view->campaignexists = $campaignexists;
         $this->view->relatesToId = $relatestoid;
         $this->view->contents = $campaignNormalContents;
         $this->view->flagcontents = $campaignFlagContents;
         $this->view->userIsGroupAdmin = $this->checkIfArrayHasKeyWithValue($groupAdmins, 'id_usr', $user->user_id);
     } else {
         // If not logged, redirecting to system message page
         $message = 'content-link-not-logged';
         $url = $this->_urlHelper->url(array('controller' => 'msg', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
         $this->flash($message, $url);
     }
 }
Example #3
0
 public function flagAction()
 {
     // Set an empty layout for view
     $this->_helper->layout()->setLayout('empty');
     // Get requests
     $params = $this->getRequest()->getParams();
     $flaggedId = $params['flaggedid'];
     // Models for the job
     $auth = Zend_Auth::getInstance()->getIdentity();
     $userId = $auth->user_id;
     $flagmodel = new Default_Model_ContentFlags();
     $flagExists = $flagmodel->flagExists($flaggedId, $userId);
     $contentmodel = new Default_Model_Content();
     $contentExists = $contentmodel->checkIfContentExists($flaggedId);
     if ($contentExists == true) {
         if ($flagExists == true) {
             $success = 0;
         } elseif ($flagExists == false) {
             $success = 1;
             $flagmodel->addFlag($flaggedId, $userId);
         }
     } elseif ($contentExists == false) {
         $success = 0;
     }
     $this->view->success = $success;
 }
Example #4
0
 /**
  *   removeContent
  *   Removes specified content from the database and all related stuff
  *
  *   @param int id_cnt The id of content to be removed
  *   @return boolean array $contentRemoveChecker
  *   @author Mikko Korpinen
  */
 public function removeContentAndDepending($id_cnt = 0)
 {
     $contentRemoveChecker = array('removeContentFromCampaign' => true, 'removeContentFromContent' => true, 'removeContentFromFutureinfoClasses' => true, 'removeContentFromIndustries' => true, 'removeContentFromInnovationTypes' => true, 'removeContentFromRelatedCompanies' => true, 'removeContentRelatedCompanies' => true, 'removeContentFromTags' => true, 'removeContentTags' => true, 'removeContentFromUser' => true, 'removeContentViews' => true, 'removeContentFlags' => true, 'removeContentCommentFlags' => true, 'removeContentRatings' => true, 'removeContentFiles' => true, 'removeUserFromFavorites' => true, 'removeContent' => true, 'removeContentComments' => true);
     // cnt_has_cmp
     $cmpHasCnt = new Default_Model_CampaignHasContent();
     if (!$cmpHasCnt->removeContentCampaignLinks($id_cnt)) {
         $contentRemoveChecker['removeContentFromCampaign'] = false;
     }
     // cnt_has_cnt
     $cntHasCnt = new Default_Model_ContentHasContent();
     if (!$cntHasCnt->removeContentFromContents($id_cnt)) {
         $contentRemoveChecker['removeContentFromContent'] = false;
     }
     // cnt_has_fic
     /* not used
                 $cntHasFic = new Default_Model_ContentHasFutureinfoClasses();
                 if (!$cntHasFic->removeFutureinfoClassesFromContent($id_cnt))
                     $contentRemoveChecker['removeContentFromFutureinfoClasses'] = false;
     			*/
     // cnt_has_grp
     // Not used?
     // cnt_has_ind
     /* not used
        $cntHasInd = new Default_Model_ContentHasIndustries();
        if (!$cntHasInd->removeIndustriesFromContent($id_cnt))
            $contentRemoveChecker['removeContentFromIndustries'] = false;
        */
     // cnt_has_ivt
     /* not used
        $cntHasIvt = new Default_Model_ContentHasInnovationTypes();
        if (!$cntHasIvt->removeInnovationTypesFromContent($id_cnt))
            $contentRemoveChecker['removeContentFromInnovationTypes'] = false;
        */
     // related_companies_rec and cnt_has_rec
     $cntHasRec = new Default_Model_ContentHasRelatedCompany();
     $recs = $cntHasRec->getContentRelComps($id_cnt);
     $rec = new Default_Model_RelatedCompanies();
     foreach ($recs as $id_rec) {
         if (!$cntHasRec->checkIfOtherContentHasRelComp($id_rec['id_rec'], $id_cnt)) {
             if (!$rec->removeRelComp($id_rec['id_rec'])) {
                 $contentRemoveChecker['removeRelatedCompanies'] = false;
             }
         }
     }
     if (!$cntHasRec->removeContentRelComps($id_cnt)) {
         $contentRemoveChecker['removeContentFromRelatedCompanies'] = false;
     }
     // tags_tag and cnt_has_tag
     $cntHasTag = new Default_Model_ContentHasTag();
     $tags = $cntHasTag->getContentTags($id_cnt);
     $tag = new Default_Model_Tags();
     foreach ($tags as $id_tag) {
         if (!$cntHasTag->checkIfOtherContentHasTag($id_tag['id_tag'], $id_cnt)) {
             if (!$tag->removeTag($id_tag['id_tag'])) {
                 $contentRemoveChecker['removeTags'] = false;
             }
         }
     }
     if (!$cntHasTag->removeContentTags($id_cnt)) {
         $contentRemoveChecker['removeContentFromTags'] = false;
     }
     // cnt_has_usr
     $cntHasUsr = new Default_Model_ContentHasUser();
     if (!$cntHasUsr->removeUserFromContent($id_cnt)) {
         $contentRemoveChecker['removeContentFromUser'] = false;
     }
     // cnt_publish_times_pbt
     // Not used?
     // cnt_views_vws
     $cntWiewsVws = new Default_Model_ContentViews();
     if (!$cntWiewsVws->removeContentViews($id_cnt)) {
         $contentRemoveChecker['removeContentViews'] = false;
     }
     // Flags from content_flags_cfl
     $contentflagmodel = new Default_Model_ContentFlags();
     $cnfl_ids = $contentflagmodel->getFlagsByContentId($id_cnt);
     if (is_array($cnfl_ids)) {
         foreach ($cnfl_ids as $cfl_id) {
             if (!$contentflagmodel->removeFlag($cfl_id)) {
                 $contentRemoveChecker['removeContentFlags'] = false;
             }
         }
     }
     // Flags from comment_flags_cfl
     $commentflagmodel = new Default_Model_CommentFlags();
     $cmfl_ids = $commentflagmodel->getFlagsByContentId($id_cnt);
     if (is_array($cmfl_ids)) {
         foreach ($cmfl_ids as $cfl_id) {
             if (!$commentflagmodel->removeFlag($cfl_id)) {
                 $contentRemoveChecker['removeContentCommentFlags'] = false;
             }
         }
     }
     // content_ratings_crt
     $contentRatingRct = new Default_Model_ContentRatings();
     if (!$contentRatingRct->removeContentRatings($id_cnt)) {
         $contentRemoveChecker['removeContentRatings'] = false;
     }
     // files_fil
     $files = new Default_Model_Files();
     if (!$files->removeFiles($id_cnt, "content")) {
         $contentRemoveChecker['removeContentFiles'] = false;
     }
     // links_lnk
     // Not used?
     // usr_has_fvr
     $usrHasFvr = new Default_Model_UserHasFavourites();
     if (!$usrHasFvr->removeAllContentFromFavouritesByContentId($id_cnt)) {
         $contentRemoveChecker['removeUserFromFavorites'] = false;
     }
     // contents_cnt
     $contentmodel = new Default_Model_Content();
     if (!$contentmodel->removeContent($id_cnt)) {
         $contentRemoveChecker['removeContent'] = false;
     }
     // coments_cmt
     $commentmodel = new Default_Model_Comments();
     if (!$commentmodel->removeAllContentComments($id_cnt)) {
         $contentRemoveChecker['removeContentComments'] = false;
     }
     return $contentRemoveChecker;
 }