/** * Pre-Process the data prior a delete operation. * * @ORM\PreRemove * @see MUBoard_Entity_Base_Posting::performPreRemoveCallback() * @return void. */ public function preRemoveCallback() { $uid = $this->getCreatedUserId(); $userrepository = MUBoard_Util_Model::getUserRepository(); $where = 'tbl.userid = \'' . DataUtil::formatForStore($uid) . '\''; $user = $userrepository->selectWhere($where); if (count($user) == 1) { $user = $userrepository->selectById($user[0]['id']); $serviceManager = ServiceUtil::getManager(); $entityManager = $serviceManager->getService('doctrine.entitymanager'); $numberPostings = $user->getNumberPostings() - 1; $user->setNumberPostings($numberPostings); $entityManager->flush(); } $this->performPreRemoveCallback(); }
/** * Command event handler. * * This event handler is called when a command is issued by the user. */ public function handleCommand(Zikula_Form_View $view, &$args) { $result = parent::handleCommand($view, $args); if ($result === false) { return $result; } if ($args['commandName'] == 'create') { // we need the userid $userid = UserUtil::getVar('uid'); // we need a userrepository $repository = MUBoard_Util_Model::getUserRepository(); // we get the user entity $boarduser = $repository->selectById($userid); $userrank = $boarduser->getRank(); } return $this->view->redirect($this->getRedirectUrl($args, $entity, $repeatCreateAction)); }
/** * */ public static function actualPostings($userid) { if (UserUtil::isLoggedIn() == true) { // we get a repository for users $userrepository = MUBoard_Util_Model::getUserRepository(); $where = 'tbl.userid = \'' . DataUtil::formatForStore($userid) . '\''; $user = $userrepository->selectWhere($where); // we get the datetime of the last visit of muboard $lastVisit = $user[0]['lastVisit']; // we get the timestamp $lastVisit = $lastVisit->getTimestamp(); // we format for $lastVisit = date('Y-m-d H:i:s', $lastVisit); $date = DateUtil::getDatetime(); // we get a repository for postings $postingrepository = MUBoard_Util_Model::getPostingRepository(); $where = 'tbl.createdDate > \'' . $lastVisit . '\''; $postings = $postingrepository->selectWhere($where); $forumids = array(); $postingids = array(); foreach ($postings as $posting) { // get forum id $forum = $posting->getForum(); $forumid = $forum->getId(); if (!in_array($forumid, $forumids)) { $forumids[] = $forumid; } // get posting id $parent = $posting->getParent(); if (!is_null($parent)) { $parentid = $parent->getId(); if ($parentid != NULL) { if (!in_array($parentid, $postingids)) { $postingids[] = $parentid; } } } else { $id = $posting->getId(); if (!in_array($id, $postingids)) { $postingids[] = $id; } } } //SessionUtil::setVar('muboardforumids', $forumids); SessionUtil::setVar('muboardpostingids', $postingids); } }