/** * 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; }
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(); }
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(); }
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(); }
/** * 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; }
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; }
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); }
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; }
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; }
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; }
/** * 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; }
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; }
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); }
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; }
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'); }
/** * 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; }
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); }
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; }
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; }
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); }
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]; }
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; }
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; }
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; }