function movemessages () { $app = JFactory::getApplication (); $db = JFactory::getDBO (); if (! JRequest::checkToken ()) { $app->enqueueMessage ( JText::_ ( 'COM_KUNENA_ERROR_TOKEN' ), 'error' ); $app->redirect ( KunenaRoute::_($this->baseurl, false) ); } $path = KPATH_SITE.'/lib/kunena.moderation.class.php'; require_once ($path); $kunena_mod = CKunenaModeration::getInstance(); $cid = JRequest::getVar ( 'cid', array (), 'post', 'array' ); $path = KPATH_SITE.'/lib/kunena.moderation.class.php'; require_once ($path); $kunena_mod = CKunenaModeration::getInstance(); $uid = JRequest::getVar( 'uid', '', 'post' ); if ($uid) { $db->setQuery ( "SELECT id,thread FROM #__kunena_messages WHERE hold=0 AND userid IN ('$uid')" ); $idusermessages = $db->loadObjectList (); if (KunenaError::checkDatabaseError()) return; if ( !empty($idusermessages) ) { foreach ($idusermessages as $id) { $kunena_mod->moveMessage($id->id, $cid[0], $TargetSubject = '', $TargetMessageID = 0); } } } else { $app->enqueueMessage ( JText::_('COM_KUNENA_PROFILE_NO_USER'), 'error' ); $app->redirect ( KunenaRoute::_($this->baseurl, false) ); } $app->enqueueMessage ( JText::_('COM_A_KUNENA_USERMES_MOVED_DONE') ); $app->redirect ( KunenaRoute::_($this->baseurl, false) ); }
function deleteitemsnow($option, $cid) { $kunena_app =& JFactory::getApplication(); $kunena_db =& JFactory::getDBO(); $path = KUNENA_PATH_LIB . '/kunena.moderation.class.php'; require_once $path; $kunena_mod = CKunenaModeration::getInstance(); JArrayHelper::toInteger($cid); $cids = implode(',', $cid); if ($cids) { foreach ($cid as $id) { $kunena_db->setQuery("SELECT a.parent, a.id, b.threadid FROM #__kunena_messages AS a INNER JOIN #__kunena_polls AS b ON b.threadid=a.id WHERE threadid='{$id}'"); $mes = $kunena_db->loadObjectList(); if (KunenaError::checkDatabaseError()) { return; } if (!empty($mes[0])) { if ($mes[0]->parent == '0' && !empty($mes[0]->threadid)) { //remove of poll require_once KUNENA_PATH_LIB . '/' . 'kunena.poll.class.php'; $poll = CKunenaPolls::getInstance(); $poll->delete_poll($mes[0]->threadid); } } } $kunena_db->setQuery('SELECT userid FROM #__kunena_messages WHERE id IN (' . $cids . ')'); $userids = $kunena_db->loadObjectList(); if (KunenaError::checkDatabaseError()) { return; } $kunena_db->setQuery('DELETE FROM #__kunena_messages WHERE id IN (' . $cids . ')'); $kunena_db->query(); if (KunenaError::checkDatabaseError()) { return; } $kunena_db->setQuery('DELETE FROM #__kunena_messages_text WHERE mesid IN (' . $cids . ')'); $kunena_db->query(); if (KunenaError::checkDatabaseError()) { return; } foreach ($userids as $line) { if ($line->userid > 0) { $userid_array[] = $line->userid; } } JArrayHelper::toInteger($userid_array); $userids = implode(',', $userid_array); if (count($userid_array) > 0) { $kunena_db->setQuery('UPDATE #__kunena_users SET posts=posts-1 WHERE userid IN (' . $userids . ')'); $kunena_db->query(); if (KunenaError::checkDatabaseError()) { return; } } foreach ($cid as $MessageID) { $kunena_mod->deleteAttachments($MessageID); } } while (@ob_end_clean()) { } $kunena_app->redirect(JURI::base() . "index.php?option={$option}&task=showtrashview", JText::_('COM_KUNENA_TRASH_DELETE_DONE')); }
protected function domoderate() { if (!$this->load()) { return false; } if ($this->tokenProtection()) { return false; } if ($this->moderatorProtection()) { return false; } if ($this->isUserBanned()) { return false; } if ($this->isIPBanned()) { return false; } require_once KUNENA_PATH_LIB . '/kunena.moderation.class.php'; $mode = JRequest::getVar('mode', KN_MOVE_MESSAGE); $targetSubject = JRequest::getString('subject', ''); $targetCat = JRequest::getInt('targetcat', 0); $targetId = JRequest::getInt('targetid', 0); if (!$targetId) { $targetId = JRequest::getInt('targettopic', 0); } $shadow = JRequest::getInt('shadow', 0); $changesubject = JRequest::getInt('changesubject', 0); $moderation = CKunenaModeration::getInstance(); $success = $moderation->move($this->id, $targetCat, $targetSubject, $targetId, $mode, $shadow, $changesubject); if (!$success) { $this->_app->enqueueMessage($moderation->getErrorMessage()); } else { $this->_app->enqueueMessage(JText::_('COM_KUNENA_POST_SUCCESS_MOVE')); } while (@ob_end_clean()) { } $this->_app->redirect(CKunenaLink::GetMessageURL($this->id, $this->catid, 0, false)); }
function KUndelete() { $kunena_app = JFactory::getApplication(); $kunena_db = JFactory::getDBO(); $backUrl = $kunena_app->getUserState("com_kunena.ActionBulk"); if (!JRequest::checkToken()) { $kunena_app->enqueueMessage(JText::_('COM_KUNENA_ERROR_TOKEN'), 'error'); while (@ob_end_clean()) { } $kunena_app->redirect($backUrl); } require_once KUNENA_PATH_LIB . '/kunena.moderation.class.php'; $kunena_mod = CKunenaModeration::getInstance(); $items = KGetArrayInts("cb"); // start iterating here foreach ($items as $id => $value) { // Need to get hold value to check if the message is right deleted $query = "SELECT MAX(IF(`hold`=2 OR `hold`=3, 1, 0)) FROM #__kunena_messages WHERE `thread`={$kunena_db->quote($id)} GROUP BY `thread`;"; $kunena_db->setQuery($query); $messageHold = $kunena_db->loadResult(); KunenaError::checkDatabaseError(); if ($messageHold) { $delete = $kunena_mod->UndeleteThread($id, true); if (!$delete) { $kunena_app->enqueueMessage($kunena_mod->getErrorMessage(), 'notice'); } else { $kunena_app->enqueueMessage(JText::_('COM_KUNENA_POST_SUCCESS_UNDELETE')); } // Last but not least update forum stats CKunenaTools::reCountBoards(); // Activity integration $activity = KunenaFactory::getActivityIntegration(); $activity->onAfterUndelete($this); } } //end foreach while (@ob_end_clean()) { } $kunena_app->redirect($backUrl); }
public function DeleteMessage() { if ($this->_checkToken()) { return false; } $backUrl = JRequest::getVar('HTTP_REFERER', JURI::base(true), 'server'); require_once JPATH_SITE . '/components/com_kunena/class.kunena.php'; $items = KGetArrayInts("cb"); require_once KUNENA_PATH_LIB . '/kunena.moderation.class.php'; $kunena_mod = CKunenaModeration::getInstance(); $message = ''; foreach ($items as $id => $value) { // Permission checks inside: $delete = $kunena_mod->deleteMessage($id, false); if (!$delete) { $this->app->enqueueMessage($kunena_mod->getErrorMessage(), 'notice'); } else { $this->app->enqueueMessage(JText::_('COM_KUNENA_POST_SUCCESS_DELETE')); } } //end foreach while (@ob_end_clean()) { } $this->app->redirect($backUrl); }