Ejemplo n.º 1
0
	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) );
	}
Ejemplo n.º 2
0
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'));
}
Ejemplo n.º 3
0
 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));
 }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
 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);
 }