Beispiel #1
0
 /**
  * Test if a specific rule / command already exists on the system.
  *
  * @access	public
  * @param	string	$command	The command name to test for.
  * @return	boolean	True if exists, false otherwise.
  **/
 public function exists($command)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT COUNT(1) FROM ' . $db->nameQuote($this->_tbl) . ' ' . 'WHERE ' . $db->nameQuote('command') . '=' . $db->Quote($command);
     $db->setQuery($query);
     return $db->loadResult() > 0;
 }
Beispiel #2
0
 protected function getInput()
 {
     $mainframe = JFactory::getApplication();
     $doc = JFactory::getDocument();
     $db = DiscussHelper::getDBO();
     $options = array();
     $attr = '';
     $tagsList = array();
     // Initialize some field attributes.
     $attr .= $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : '';
     // To avoid user's confusion, readonly="true" should imply disabled="true".
     if ((string) $this->element['readonly'] == 'true' || (string) $this->element['disabled'] == 'true') {
         $attr .= ' disabled="disabled"';
     }
     $attr .= $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : '';
     $attr .= $this->multiple ? ' multiple="multiple"' : '';
     // Initialize JavaScript field attributes.
     $attr .= $this->element['onchange'] ? ' onchange="' . (string) $this->element['onchange'] . '"' : '';
     $query = 'SELECT `id`, `title` FROM `#__discuss_tags`';
     $query .= ' WHERE `published` = ' . $db->Quote('1');
     $db->setQuery($query);
     $data = $db->loadObjectList();
     if (count($data) > 0) {
         $optgroup = JHTML::_('select.optgroup', 'Select tag', 'id', 'title');
         array_push($tagsList, $optgroup);
         foreach ($data as $row) {
             $opt = new stdClass();
             $opt->id = $row->id;
             $opt->title = '(' . $row->id . ') ' . $row->title;
             array_push($tagsList, $opt);
         }
     }
     $html = JHTML::_('select.genericlist', $tagsList, $this->name, trim($attr), 'id', 'title', $this->value);
     return $html;
 }
 public function getAllRuleItems()
 {
     $db = DiscussHelper::getDBO();
     $query = 'select * from `#__discuss_category_acl_item` order by id';
     $db->setQuery($query);
     return $db->loadObjectList();
 }
 public function getCustomFieldsAcl()
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT * FROM ' . $db->nameQuote('#__discuss_customfields_acl') . ' ORDER BY ' . $db->nameQuote('id');
     $db->setQuery($query);
     return $db->loadObjectList();
 }
Beispiel #5
0
 public function getTotalUsers($badgeId)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT COUNT(1) FROM ' . $db->nameQuote('#__discuss_badges_users') . ' ' . 'WHERE ' . $db->nameQuote('badge_id') . '=' . $db->Quote($badgeId);
     $db->setQuery($query);
     return $db->loadResult();
 }
Beispiel #6
0
 private static function isLock($post_id)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT `islock` FROM `#__discuss_posts` WHERE `id` = ' . $db->quote($post_id);
     $db->setQuery($query);
     return $db->loadResult();
 }
 /**
  * Load by post id. Return Only ONE latest record
  */
 public function load($keys = null, $reset = true)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT id FROM `#__discuss_assignment_map` WHERE `post_id` = ' . $db->quote($keys) . ' ORDER BY `created` DESC LIMIT 0, 1';
     $db->setQuery($query);
     $result = $db->loadResult();
     return parent::load($result, $reset);
 }
 public function updateTopicPostType($oldValue)
 {
     $db = DiscussHelper::getDBO();
     $query = 'update `#__discuss_posts` set `post_type` = ' . $db->Quote($this->alias);
     $query .= ' where `post_type` = ' . $db->Quote($oldValue);
     $db->setQuery($query);
     $db->query();
 }
Beispiel #9
0
 /**
  * Retrieve a list of points for the specific command
  *
  * @access	private
  * @param	string	$command	The action string.
  * @param	int		$userId		The actor's id.
  *
  * @return	Array	An array of BadgesHistory object.
  **/
 public function getPoints($command)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT a.* FROM ' . $db->nameQuote('#__discuss_points') . ' AS a ' . 'INNER JOIN ' . $db->nameQuote('#__discuss_rules') . ' AS b ' . 'ON b.' . $db->nameQuote('id') . '= a.' . $db->nameQuote('rule_id') . ' ' . 'WHERE b.' . $db->nameQuote('command') . '=' . $db->Quote($command) . ' ' . 'AND a.' . $db->nameQuote('published') . '=' . $db->Quote(1);
     $db->setQuery($query);
     $points = $db->loadObjectList();
     return $points;
 }
Beispiel #10
0
 public function setuped($type)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT COUNT(1) FROM ' . $db->nameQuote('#__discuss_oauth') . ' ' . 'WHERE ' . $db->nameQuote('type') . '=' . $db->Quote($type) . ' ' . 'AND ' . $db->nameQuote('access_token') . ' IS NOT NULL';
     $db->setQuery($query);
     $exists = $db->loadResult();
     return $exists > 0;
 }
Beispiel #11
0
 public function loadByKey($key)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT * FROM ' . $db->nameQuote($this->_tbl) . ' WHERE ' . $db->nameQuote('key') . '=' . $db->Quote($key);
     $db->setQuery($query);
     $data = $db->loadObject();
     return parent::bind($data);
 }
Beispiel #12
0
 public function getSuffix($alias = null)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT `suffix` FROM ' . $db->nameQuote('#__discuss_post_types') . ' WHERE ' . $db->nameQuote('alias') . '=' . $db->quote($alias) . ' AND ' . $db->nameQuote('published') . '=' . $db->quote(1);
     $db->setQuery($query);
     $result = $db->loadResult();
     return $result;
 }
Beispiel #13
0
 public function getRuleDescription($action)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT `description` FROM ' . $db->nameQuote('#__discuss_acl') . ' ' . 'WHERE `action`=' . $db->Quote($action);
     $db->setQuery($query);
     $description = $db->loadResult();
     return $description;
 }
Beispiel #14
0
 public function exists($postId, $oauthId)
 {
     $postId = (int) $postId;
     $db = DiscussHelper::getDBO();
     $query = 'SELECT COUNT(1) FROM ' . $db->nameQuote($this->_tbl) . ' ' . 'WHERE ' . $db->nameQuote('post_id') . '=' . $db->Quote($postId) . ' ' . 'AND ' . $db->nameQuote('oauth_id') . '=' . $db->Quote($oauthId);
     $db->setQuery($query);
     $result = $db->loadResult();
     return $result > 0;
 }
Beispiel #15
0
 /**
  * Delete the outdated entries.
  */
 function clear()
 {
     $db = DiscussHelper::getDBO();
     $date = DiscussHelper::getDate();
     $query = 'DELETE FROM `#__discuss_captcha` WHERE `created` <= DATE_SUB( ' . $db->Quote($date->toMySQL()) . ', INTERVAL 12 HOUR )';
     $db->setQuery($query);
     $db->query();
     return true;
 }
Beispiel #16
0
 public function getUnreadPosts()
 {
     // Read/Unread
     $db = DiscussHelper::getDBO();
     $query = 'SELECT ' . $db->nameQuote('status') . ' FROM' . ' ' . $db->nameQuote('#__discuss_unread') . ' ' . 'WHERE ' . $db->nameQuote('post_id') . ' = ' . $db->quote($post->id);
     $db->setQuery($query);
     $result = $db->loadResult();
     return $result;
 }
Beispiel #17
0
 public function removeLog($command, $userId, $content_id)
 {
     $db = DiscussHelper::getDBO();
     $table = DiscussHelper::getTable('History');
     $query = 'SELECT id' . ' FROM ' . $db->nameQuote('#__discuss_users_history') . ' WHERE ' . $db->nameQuote('command') . '=' . $db->Quote($command) . ' AND ' . $db->nameQuote('user_id') . '=' . $db->Quote($userId) . ' AND ' . $db->nameQuote('content_id') . '=' . $db->Quote($content_id);
     $db->setQuery($query);
     $result = $db->loadResult();
     $table->delete($result);
 }
Beispiel #18
0
 public function getTotalTopicCreated($userId)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT COUNT(1) AS CNT FROM `#__discuss_posts`';
     $query .= ' WHERE `user_id` = ' . $db->Quote($userId);
     $query .= ' AND `parent_id` = 0';
     $db->setQuery($query);
     $result = $db->loadResult();
     return $result;
 }
Beispiel #19
0
 public function purge()
 {
     JRequest::checkToken() or jexit('Invalid Token');
     $db = DiscussHelper::getDBO();
     $query = 'DELETE FROM ' . $db->nameQuote('#__discuss_mailq');
     $db->setQuery($query);
     $db->Query();
     DiscussHelper::setMessageQueue(JText::_('COM_EASYDISCUSS_MAILS_PURGED'), DISCUSS_QUEUE_SUCCESS);
     $this->setRedirect('index.php?option=com_easydiscuss&view=spools');
 }
Beispiel #20
0
 /**
  * return false if the user already likes something
  * else return the existing id
  */
 function exists()
 {
     $db = DiscussHelper::getDBO();
     $query = 'select `id` from `#__discuss_likes`';
     $query .= ' where `type` = ' . $db->Quote($this->type);
     $query .= ' and `content_id` = ' . $db->Quote($this->content_id);
     $query .= ' and `created_by` = ' . $db->Quote($this->created_by);
     $db->setQuery($query);
     $result = $db->loadResult();
     return empty($result) ? false : $result;
 }
 public function load($key = null, $customLoad = false)
 {
     if ($customLoad == false) {
         parent::load($key);
     }
     $db = DiscussHelper::getDBO();
     $query = 'SELECT * FROM ' . $db->nameQuote('#__discuss_customfields_rule') . ' WHERE ' . $db->nameQuote('field_id') . '=' . $db->Quote($key);
     $db->setQuery($query);
     $results = $db->loadObjectList();
     return !$results ? false : $results;
 }
Beispiel #22
0
 public function loadByUser($id)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT * FROM ' . $db->nameQuote($this->_tbl) . ' ' . 'WHERE ' . $db->nameQuote('user_id') . '=' . $db->Quote($id);
     $db->setQuery($query);
     $result = $db->loadObject();
     if (!$result) {
         return false;
     }
     return parent::bind($result);
 }
Beispiel #23
0
 function &_getParams($key = 'config')
 {
     static $params = null;
     if (is_null($params)) {
         $db = DiscussHelper::getDBO();
         $query = 'SELECT ' . $db->nameQuote('params') . ' ' . 'FROM ' . $db->nameQuote('#__discuss_configs') . ' ' . 'WHERE ' . $db->nameQuote('name') . '=' . $db->Quote($key);
         $db->setQuery($query);
         $params = $db->loadResult();
     }
     return $params;
 }
Beispiel #24
0
 function deletePostTag($postId)
 {
     $db = DiscussHelper::getDBO();
     $query = ' DELETE FROM ' . $db->nameQuote('#__discuss_posts_tags') . ' WHERE ' . $db->nameQuote('post_id') . ' =  ' . $db->quote($postId);
     $db->setQuery($query);
     $result = $db->Query();
     if ($db->getErrorNum()) {
         JError::raiseError(500, $db->stderr());
     }
     return $result;
 }
 public function loadByExtension($referenceId, $extension)
 {
     $db = DiscussHelper::getDBO();
     $query = 'SELECT * FROM ' . $db->nameQuote($this->_tbl) . ' ' . 'WHERE ' . $db->nameQuote('reference_id') . '=' . $db->Quote($referenceId) . ' ' . 'AND ' . $db->nameQuote('extension') . '=' . $db->Quote($extension);
     $db->setQuery($query);
     $result = $db->loadObject();
     if (!$result) {
         return false;
     }
     parent::bind($result);
     return true;
 }
Beispiel #26
0
 public function loadByType($type)
 {
     $type = (string) $type;
     $db = DiscussHelper::getDBO();
     $query = 'SELECT * FROM ' . $db->nameQuote($this->_tbl) . ' ' . 'WHERE ' . $db->nameQuote('type') . '=' . $db->Quote($type);
     $db->setQuery($query);
     $result = $db->loadObject();
     if (!$result) {
         return false;
     }
     return parent::bind($result);
 }
Beispiel #27
0
 public static function getChildCategories($parentId, $isPublishedOnly = false, $includePrivate = true)
 {
     static $categories = array();
     $sig = $parentId . '-' . (int) $isPublishedOnly . '-' . (int) $includePrivate;
     if (!array_key_exists($sig, $categories)) {
         $db = DiscussHelper::getDBO();
         $my = JFactory::getUser();
         $config = DiscussHelper::getConfig();
         $mainframe = JFactory::getApplication();
         $sortConfig = $config->get('layout_ordering_category', 'latest');
         $query = 'SELECT a.`id`, a.`title`, a.`alias`, a.`private`,a.`default`, a.`container`';
         $query .= ' FROM `#__discuss_category` as a';
         $query .= ' WHERE a.parent_id = ' . $db->Quote($parentId);
         if ($isPublishedOnly) {
             $query .= ' AND a.`published` = ' . $db->Quote('1');
         }
         if (!$mainframe->isAdmin()) {
             if (!$includePrivate) {
                 //check categories acl here.
                 $catIds = DiscussHelper::getAclCategories(DISCUSS_CATEGORY_ACL_ACTION_VIEW, $my->id, $parentId);
                 if (count($catIds) > 0) {
                     $strIds = '';
                     foreach ($catIds as $cat) {
                         $strIds = empty($strIds) ? $cat->id : $strIds . ', ' . $cat->id;
                     }
                     $query .= ' AND a.id NOT IN (';
                     $query .= $strIds;
                     $query .= ')';
                 }
             }
         }
         switch ($sortConfig) {
             case 'alphabet':
                 $orderBy = ' ORDER BY a.`title` ';
                 break;
             case 'ordering':
                 $orderBy = ' ORDER BY a.`lft` ';
                 break;
             case 'latest':
                 $orderBy = ' ORDER BY a.`created` ';
                 break;
             default:
                 $orderBy = ' ORDER BY a.`lft` ';
                 break;
         }
         $sort = $config->get('layout_sort_category', 'asc');
         $query .= $orderBy . $sort;
         $db->setQuery($query);
         $result = $db->loadObjectList();
         $categories[$sig] = $result;
     }
     return $categories[$sig];
 }
Beispiel #28
0
    function fetchElement($name, $value, &$node, $control_name)
    {
        $mainframe = JFactory::getApplication();
        $db = DiscussHelper::getDBO();
        $doc = JFactory::getDocument();
        $query = 'SELECT `id`, `title` FROM `#__discuss_posts`';
        $query .= ' WHERE `published` = ' . $db->Quote('1');
        $query .= ' AND `parent_id` = ' . $db->Quote('0');
        $query .= ' ORDER BY `id` DESC';
        $db->setQuery($query);
        $data = $db->loadObjectList();
        ob_start();
        ?>
		<select name="<?php 
        echo $control_name;
        ?>
[<?php 
        echo $name;
        ?>
]">
			<option value="0"<?php 
        echo $value == 0 ? ' selected="selected"' : '';
        ?>
><?php 
        echo JText::_('COM_EASYDISCUSS_SELECT_A_POST');
        ?>
</option>
		<?php 
        if (count($data) > 0) {
            foreach ($data as $post) {
                $selected = $post->id == $value ? ' selected="selected"' : '';
                ?>
			<option value="<?php 
                echo $post->id;
                ?>
"<?php 
                echo $selected;
                ?>
><?php 
                echo '(' . $post->id . ') ' . $post->title;
                ?>
</option>
		<?php 
            }
        }
        ?>
		</select>
		<?php 
        $html = ob_get_contents();
        ob_end_clean();
        return $html;
    }
Beispiel #29
0
 public function load($userId = null, $postId = null, $key = null)
 {
     if ($userId && $postId == null) {
         return parent::load($key);
     }
     $db = DiscussHelper::getDBO();
     $query = ' SELECT ' . $db->nameQuote('id') . ' FROM ' . $db->nameQuote('#__discuss_unread');
     $query .= ' WHERE ' . $db->nameQuote('user_id') . ' = ' . $db->quote($userId);
     $query .= ' AND ' . $db->nameQuote('post_id') . ' = ' . $db->quote($postId);
     $db->setQuery($query);
     $result = $db->loadResult();
     return $result;
 }
Beispiel #30
0
 public function deleteAllFavourites($id)
 {
     if (!$id) {
         return false;
     }
     $db = DiscussHelper::getDBO();
     $query = 'DELETE FROM ' . $db->nameQuote('#__discuss_favourites') . ' WHERE ' . $db->nameQuote('post_id') . '=' . $db->Quote($id);
     $db->setQuery($query);
     if (!$db->query()) {
         return false;
     }
     return true;
 }