public static function showSettings() { $db = JCommentsFactory::getDBO(); $config = JCommentsFactory::getConfig(); // check current site template for afterDisplayContent event if (JCOMMENTS_JVERSION == '1.5') { $db->setQuery('SELECT template FROM #__templates_menu WHERE client_id = 0 AND menuid = 0', 0, 1); $template = $db->loadResult(); $articleTemplate = JPATH_SITE . '/templates/' . $template . '/html/com_content/article/default.php'; if (is_file($articleTemplate)) { $tmpl = implode('', file($articleTemplate)); if (strpos($tmpl, 'afterDisplayContent') === false && !(strpos($tmpl, 'include') !== false || strpos($tmpl, 'require') !== false)) { JError::raiseWarning(500, JText::_('A_WARNINGS_TEMPLATE_EVENT')); } } } $joomfish = JOOMLATUNE_JPATH_SITE . '/components/com_joomfish/joomfish.php'; if (is_file($joomfish) || JCommentsMultilingual::isEnabled()) { $languages = JCommentsMultilingual::getLanguages(); if (count($languages)) { $lang = trim(JCommentsInput::getVar('lang', '')); if ($lang == '') { if (JCOMMENTS_JVERSION != '1.0') { $params = JComponentHelper::getParams('com_languages'); $lang = $params->get("site", 'en-GB'); } if ($lang == '') { $lang = JCommentsMultilingual::getLanguage(); } } // reload configuration $config = JCommentsFactory::getConfig($lang); $lists['languages'] = JCommentsHTML::selectList($languages, 'lang', 'class="inputbox" size="1" onchange="submitform(\'settings\');"', 'value', 'name', $lang); } } $forbiddenNames = $config->get('forbidden_names'); $forbiddenNames = preg_replace('#,+#', "\n", $forbiddenNames); $config->set('forbidden_names', $forbiddenNames); $badWords = $config->get('badwords'); if ($badWords != '') { $config->set('badwords', implode("\n", $badWords)); } require_once JCOMMENTS_LIBRARIES . '/joomlatune/filesystem.php'; // path to images directory $path = JCOMMENTS_BASE . DS . 'tpl' . DS; $items = JoomlaTuneFS::readDirectory($path); $templates = array(); foreach ($items as $item) { if (is_dir($path . $item)) { $tpl = new StdClass(); $tpl->text = $item; $tpl->value = $item; $templates[] = $tpl; } } $currentTemplate = $config->get('template'); $lists['templates'] = JCommentsHTML::selectList($templates, 'cfg_template', 'class="inputbox"', 'value', 'text', $currentTemplate); require_once JCOMMENTS_HELPERS . '/user.php'; $groups = JCommentsUserHelper::getUserGroups(); $captchaError = ''; $captchaExclude = array(); if (!extension_loaded('gd') || !function_exists('imagecreatefrompng')) { if ($config->get('captcha_engine', 'kcaptcha') != 'recaptcha') { foreach ($groups as $group) { $captchaExclude[] = $group->id; } $captchaError = JText::_('A_WARNINGS_PHP_GD'); } } $reportError = ''; $reportExclude = array(); if ($config->getInt('enable_notification') == 0 || $config->check('notification_type', 2) == false) { foreach ($groups as $group) { $reportExclude[] = $group->id; } $reportError = JText::_('A_REPORTS_WARNING_NOTIFICATIONS_DISABLED'); } $lists['group_names'] = $groups; $permissions = array(); // Post JCommentsAdmin::loadParam($permissions, 'can_comment', $groups, JText::_('A_RIGHTS_POST'), JText::_('AP_CAN_COMMENT'), JText::_('AP_CAN_COMMENT_DESC')); JCommentsAdmin::loadParam($permissions, 'can_reply', $groups, JText::_('A_RIGHTS_POST'), JText::_('AP_CAN_REPLY'), JText::_('AP_CAN_REPLY_DESC')); JCommentsAdmin::loadParam($permissions, 'autopublish', $groups, JText::_('A_RIGHTS_POST'), JText::_('AP_AUTOPUBLISH'), JText::_('AP_AUTOPUBLISH_DESC')); JCommentsAdmin::loadParam($permissions, 'show_policy', $groups, JText::_('A_RIGHTS_POST'), JText::_('AP_SHOW_POLICY'), JText::_('AP_SHOW_POLICY_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_captcha', $groups, JText::_('A_RIGHTS_POST'), JText::_('AP_ENABLE_CAPTCHA'), JText::_('AP_ENABLE_CAPTCHA_DESC'), $captchaExclude, $captchaError); JCommentsAdmin::loadParam($permissions, 'floodprotection', $groups, JText::_('A_RIGHTS_POST'), JText::_('AP_ENABLE_FLOODPROTECTION'), JText::_('AP_ENABLE_FLOODPROTECTION_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_comment_length_check', $groups, JText::_('A_RIGHTS_POST'), JText::_('AP_ENABLE_COMMENT_LENGTH_CHECK'), JText::_('AP_ENABLE_COMMENT_LENGTH_CHECK_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_autocensor', $groups, JText::_('A_RIGHTS_POST'), JText::_('AP_ENABLE_AUTOCENSOR'), JText::_('AP_ENABLE_AUTOCENSOR_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_subscribe', $groups, JText::_('A_RIGHTS_POST'), JText::_('AP_ENABLE_SUBSCRIBE'), JText::_('AP_ENABLE_SUBSCRIBE_DESC')); // BBCodes JCommentsAdmin::loadParam($permissions, 'enable_bbcode_b', $groups, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_B'), JText::_('AP_ENABLE_BBCODE_B_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_bbcode_i', $groups, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_I'), JText::_('AP_ENABLE_BBCODE_I_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_bbcode_u', $groups, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_U'), JText::_('AP_ENABLE_BBCODE_U_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_bbcode_s', $groups, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_S'), JText::_('AP_ENABLE_BBCODE_S_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_bbcode_url', $groups, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_URL'), JText::_('AP_ENABLE_BBCODE_URL_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_bbcode_img', $groups, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_IMG'), JText::_('AP_ENABLE_BBCODE_IMG_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_bbcode_list', $groups, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_LIST'), JText::_('AP_ENABLE_BBCODE_LIST_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_bbcode_hide', $groups, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_HIDE'), JText::_('AP_ENABLE_BBCODE_HIDE_DESC'), array('Public')); JCommentsAdmin::loadParam($permissions, 'enable_bbcode_quote', $groups, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_QUOTE'), JText::_('AP_ENABLE_BBCODE_QUOTE_DESC')); // View JCommentsAdmin::loadParam($permissions, 'autolinkurls', $groups, JText::_('A_RIGHTS_VIEW'), JText::_('AP_ENABLE_AUTOLINKURLS'), JText::_('AP_ENABLE_AUTOLINKURLS_DESC')); JCommentsAdmin::loadParam($permissions, 'emailprotection', $groups, JText::_('A_RIGHTS_VIEW'), JText::_('AP_ENABLE_EMAILPROTECTION'), JText::_('AP_ENABLE_EMAILPROTECTION_DESC')); JCommentsAdmin::loadParam($permissions, 'enable_gravatar', $groups, JText::_('A_RIGHTS_VIEW'), JText::_('AP_ENABLE_GRAVATAR'), JText::_('AP_ENABLE_GRAVATAR_DESC')); JCommentsAdmin::loadParam($permissions, 'can_view_email', $groups, JText::_('A_RIGHTS_VIEW'), JText::_('AP_CAN_VIEW_AUTHOR_EMAIL'), JText::_('AP_CAN_VIEW_AUTHOR_EMAIL_DESC')); JCommentsAdmin::loadParam($permissions, 'can_view_homepage', $groups, JText::_('A_RIGHTS_VIEW'), JText::_('AP_CAN_VIEW_AUTHOR_HOMEPAGE'), JText::_('AP_CAN_VIEW_AUTHOR_HOMEPAGE_DESC')); JCommentsAdmin::loadParam($permissions, 'can_view_ip', $groups, JText::_('A_RIGHTS_VIEW'), JText::_('AP_CAN_VIEW_AUTHOR_IP'), JText::_('AP_CAN_VIEW_AUTHOR_IP_DESC'), array('Public', 'Registered')); // Edit JCommentsAdmin::loadParam($permissions, 'can_edit_own', $groups, JText::_('A_RIGHTS_EDIT'), JText::_('AP_CAN_EDIT_OWN'), JText::_('AP_CAN_EDIT_OWN_DESC'), array('Public')); JCommentsAdmin::loadParam($permissions, 'can_delete_own', $groups, JText::_('A_RIGHTS_EDIT'), JText::_('AP_CAN_DELETE_OWN'), JText::_('AP_CAN_DELETE_OWN_DESC'), array('Public')); // Administration JCommentsAdmin::loadParam($permissions, 'can_edit', $groups, JText::_('A_RIGHTS_ADMINISTRATION'), JText::_('AP_CAN_EDIT'), JText::_('AP_CAN_EDIT_DESC'), array('Public', 'Registered')); JCommentsAdmin::loadParam($permissions, 'can_edit_for_my_object', $groups, JText::_('A_RIGHTS_ADMINISTRATION'), JText::_('AP_CAN_EDIT_FOR_MY_OBJECT'), JText::_('AP_CAN_EDIT_FOR_MY_OBJECT_DESC'), array('Public')); JCommentsAdmin::loadParam($permissions, 'can_publish', $groups, JText::_('A_RIGHTS_ADMINISTRATION'), JText::_('AP_CAN_PUBLISH'), JText::_('AP_CAN_PUBLISH_DESC'), array('Public', 'Registered')); JCommentsAdmin::loadParam($permissions, 'can_publish_for_my_object', $groups, JText::_('A_RIGHTS_ADMINISTRATION'), JText::_('AP_CAN_PUBLISH_FOR_MY_OBJECT'), JText::_('AP_CAN_PUBLISH_FOR_MY_OBJECT_DESC'), array('Public')); JCommentsAdmin::loadParam($permissions, 'can_delete', $groups, JText::_('A_RIGHTS_ADMINISTRATION'), JText::_('AP_CAN_DELETE'), JText::_('AP_CAN_DELETE_DESC'), array('Public', 'Registered')); JCommentsAdmin::loadParam($permissions, 'can_delete_for_my_object', $groups, JText::_('A_RIGHTS_ADMINISTRATION'), JText::_('AP_CAN_DELETE_FOR_MY_OBJECT'), JText::_('AP_CAN_DELETE_FOR_MY_OBJECT_DESC'), array('Public')); // Votes JCommentsAdmin::loadParam($permissions, 'can_vote', $groups, JText::_('A_RIGHTS_MISC'), JText::_('AP_CAN_VOTE'), JText::_('AP_CAN_VOTE_DESC')); JCommentsAdmin::loadParam($permissions, 'can_report', $groups, JText::_('A_RIGHTS_MISC'), JText::_('AP_CAN_REPORT'), JText::_('AP_CAN_REPORT_DESC'), $reportExclude, $reportError); JCommentsAdmin::loadParam($permissions, 'can_ban', $groups, JText::_('A_RIGHTS_MISC'), JText::_('AP_CAN_BAN'), JText::_('AP_CAN_BAN_DESC'), array('Public', 'Registered')); $lists['groups'] =& $permissions; if (JCOMMENTS_JVERSION == '1.0') { $lookupQuery = "SELECT c.id AS `value`, CONCAT_WS( ' / ', s.title, c.title) AS `text`" . "\n FROM #__sections AS s" . "\n INNER JOIN #__categories AS c ON c.section = s.id" . "\n WHERE c.id IN ( " . $config->get('enable_categories') . " )" . "\n ORDER BY s.title,c.title"; $categoriesQuery = "SELECT c.id AS `value`, CONCAT_WS( ' / ', s.title, c.title) AS `text`" . "\n FROM #__sections AS s" . "\n INNER JOIN #__categories AS c ON c.section = s.id" . "\n ORDER BY s.title,c.title"; } elseif (JCOMMENTS_JVERSION == '1.5') { $lookupQuery = "SELECT c.id AS `value`, CONCAT_WS( ' / ', s.title, c.title) AS `text`" . "\n FROM #__sections AS s" . "\n INNER JOIN #__categories AS c ON c.section = s.id" . "\n WHERE c.id IN ( " . $config->get('enable_categories') . " )" . "\n ORDER BY s.title,c.title"; $categoriesQuery = "SELECT c.id AS `value`, CONCAT_WS( ' / ', s.title, c.title) AS `text`" . "\n FROM #__sections AS s" . "\n INNER JOIN #__categories AS c ON c.section = s.id" . "\n ORDER BY s.title,c.title"; } else { $lookupQuery = "SELECT c.id AS `value`, c.title AS `text`" . "\n FROM #__categories AS c" . "\n WHERE c.extension = 'com_content'" . "\n AND c.id IN ( " . $config->get('enable_categories') . " )" . "\n ORDER BY c.title"; $categoriesQuery = "SELECT c.id AS `value`, c.title AS `text`, c.level" . "\n FROM #__categories AS c" . "\n WHERE c.extension = 'com_content'" . "\n ORDER BY c.lft, c.title"; } $db->setQuery($categoriesQuery); $categories = $db->loadObjectList(); if (!is_array($categories)) { $categories = array(); } else { if (JCOMMENTS_JVERSION == '1.7') { for ($i = 0, $n = count($categories); $i < $n; $i++) { $repeat = $categories[$i]->level - 1 >= 0 ? $categories[$i]->level - 1 : 0; $categories[$i]->text = str_repeat('- ', $repeat) . $categories[$i]->text; } } } if ($config->get('enable_categories') != '') { $db->setQuery($lookupQuery); $lookup = $db->loadObjectList(); } else { $lookup = ''; } $lists['categories'] = JCommentsHTML::selectList($categories, 'cfg_enable_categories[]', 'class="inputbox categories" size="10" multiple="multiple"', 'value', 'text', $lookup); $captcha = array(); $captcha[] = JCommentsHTML::makeOption('kcaptcha', 'KCAPTCHA'); $config->set('enable_mambots', 1); $enginesList = JCommentsEvent::trigger('onJCommentsCaptchaEngines'); foreach ($enginesList as $engines) { foreach ($engines as $code => $text) { $captcha[] = JCommentsHTML::makeOption($code, $text); } } $disabledCAPTCHA = count($captcha) == 1 ? ' disabled="disabled"' : ''; $lists["captcha"] = JCommentsHTML::selectList($captcha, 'cfg_captcha_engine', 'class="inputbox"' . $disabledCAPTCHA, 'value', 'text', $config->get('captcha_engine', 'kcaptcha')); HTML_JComments::showSettings($lists); }
function showSettings() { $db =& JCommentsFactory::getDBO(); $config =& JCommentsFactory::getConfig(); // check current site template for afterDisplayContent event if (JCOMMENTS_JVERSION == '1.5') { $db->setQuery('SELECT template FROM #__templates_menu WHERE client_id = 0 AND menuid = 0', 0, 1); $template = $db->loadResult(); $articleTemplate = JPATH_SITE . DS . 'templates' . DS . $template . DS . 'html' . DS . 'com_content' . DS . 'article' . DS . 'default.php'; if (is_file($articleTemplate)) { $tmpl = implode('', file($articleTemplate)); if (strpos($tmpl, 'afterDisplayContent') === false) { JError::raiseWarning(500, JText::_('Your current site template doesn\'t have afterDisplayContent event!')); } } } $languages = array(); $joomfish = JOOMLATUNE_JPATH_SITE . DS . 'components' . DS . 'com_joomfish' . DS . 'joomfish.php'; if (is_file($joomfish)) { $db =& JCommentsFactory::getDBO(); $db->setQuery("SELECT `name`, `code` as value FROM `#__languages` WHERE `active` = 1"); $languages = $db->loadObjectList(); if (is_array($languages)) { $lang = trim(JCommentsInput::getVar('lang', '')); if ($lang == '') { if (JCOMMENTS_JVERSION == '1.5') { $params = JComponentHelper::getParams('com_languages'); $lang = $params->get("site", 'en-GB'); } if ($lang == '') { $lang = JCommentsMultilingual::getLanguage(); } } // reload configuration $config =& JCommentsFactory::getConfig($lang); $lists['languages'] = JCommentsHTML::selectList($languages, 'lang', 'class="inputbox" size="1" onchange="submitform(\'settings\');"', 'value', 'name', $lang); } } $forbiddenNames = $config->get('forbidden_names'); $forbiddenNames = preg_replace('#,+#', "\n", $forbiddenNames); $config->set('forbidden_names', $forbiddenNames); $badWords = $config->get('badwords'); if ($badWords != '') { $config->set('badwords', implode("\n", $badWords)); } require_once JCOMMENTS_LIBRARIES . DS . 'joomlatune' . DS . 'filesystem.php'; // path to images directory $path = JCOMMENTS_BASE . DS . 'tpl' . DS; $items = JoomlaTuneFS::readDirectory($path); $templates = array(); foreach ($items as $item) { if (is_dir($path . $item)) { $tpl = new StdClass(); $tpl->text = $item; $tpl->value = $item; $templates[] = $tpl; } } $currentTemplate = $config->get('template'); $lists['templates'] = JCommentsHTML::selectList($templates, 'cfg_template', 'class="inputbox"', 'value', 'text', $currentTemplate); $rows = JCommentsAdmin::getAllGroups(); $exclude = JCommentsAdmin::getHigherGroups(); if (count($exclude)) { // remove users 'above' me $i = 0; while ($i < count($rows)) { if (in_array($rows[$i]->group_id, $exclude)) { array_splice($rows, $i, 1); } else { $i++; } } } $captchaError = ''; $captchaExclude = array(); if (!extension_loaded('gd') || !function_exists('imagecreatefrompng')) { if ($config->get('captcha_engine', 'kcaptcha') != 'recaptcha') { foreach ($rows as $row) { $captchaExclude[] = $row->value; } $captchaError = JText::_('GD library is not installed!'); } } $lists['group_names'] = $rows; $groups = array(); // Post JCommentsAdmin::loadParam($groups, 'can_comment', $rows, JText::_('A_RIGHTS_POST'), JText::_('AP_CAN_COMMENT'), JText::_('AP_CAN_COMMENT_DESC')); JCommentsAdmin::loadParam($groups, 'can_reply', $rows, JText::_('A_RIGHTS_POST'), JText::_('AP_CAN_REPLY'), JText::_('AP_CAN_REPLY_DESC')); JCommentsAdmin::loadParam($groups, 'autopublish', $rows, JText::_('A_RIGHTS_POST'), JText::_('AP_AUTOPUBLISH'), JText::_('AP_AUTOPUBLISH_DESC')); JCommentsAdmin::loadParam($groups, 'show_policy', $rows, JText::_('A_RIGHTS_POST'), JText::_('AP_SHOW_POLICY'), JText::_('AP_SHOW_POLICY_DESC')); JCommentsAdmin::loadParam($groups, 'enable_captcha', $rows, JText::_('A_RIGHTS_POST'), JText::_('AP_ENABLE_CAPTCHA'), JText::_('AP_ENABLE_CAPTCHA_DESC'), $captchaExclude, $captchaError); JCommentsAdmin::loadParam($groups, 'floodprotection', $rows, JText::_('A_RIGHTS_POST'), JText::_('AP_ENABLE_FLOODPROTECTION'), JText::_('AP_ENABLE_FLOODPROTECTION_DESC')); JCommentsAdmin::loadParam($groups, 'enable_comment_length_check', $rows, JText::_('A_RIGHTS_POST'), JText::_('AP_ENABLE_COMMENT_LENGTH_CHECK'), JText::_('AP_ENABLE_COMMENT_LENGTH_CHECK_DESC')); JCommentsAdmin::loadParam($groups, 'enable_autocensor', $rows, JText::_('A_RIGHTS_POST'), JText::_('AP_ENABLE_AUTOCENSOR'), JText::_('AP_ENABLE_AUTOCENSOR_DESC')); JCommentsAdmin::loadParam($groups, 'enable_subscribe', $rows, JText::_('A_RIGHTS_POST'), JText::_('AP_ENABLE_SUBSCRIBE'), JText::_('AP_ENABLE_SUBSCRIBE_DESC')); // BBCodes JCommentsAdmin::loadParam($groups, 'enable_bbcode_b', $rows, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_B'), JText::_('AP_ENABLE_BBCODE_B_DESC')); JCommentsAdmin::loadParam($groups, 'enable_bbcode_i', $rows, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_I'), JText::_('AP_ENABLE_BBCODE_I_DESC')); JCommentsAdmin::loadParam($groups, 'enable_bbcode_u', $rows, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_U'), JText::_('AP_ENABLE_BBCODE_U_DESC')); JCommentsAdmin::loadParam($groups, 'enable_bbcode_s', $rows, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_S'), JText::_('AP_ENABLE_BBCODE_S_DESC')); JCommentsAdmin::loadParam($groups, 'enable_bbcode_url', $rows, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_URL'), JText::_('AP_ENABLE_BBCODE_URL_DESC')); JCommentsAdmin::loadParam($groups, 'enable_bbcode_img', $rows, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_IMG'), JText::_('AP_ENABLE_BBCODE_IMG_DESC')); JCommentsAdmin::loadParam($groups, 'enable_bbcode_list', $rows, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_LIST'), JText::_('AP_ENABLE_BBCODE_LIST_DESC')); JCommentsAdmin::loadParam($groups, 'enable_bbcode_hide', $rows, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_HIDE'), JText::_('AP_ENABLE_BBCODE_HIDE_DESC'), array('Unregistered')); JCommentsAdmin::loadParam($groups, 'enable_bbcode_quote', $rows, JText::_('A_RIGHTS_BBCODE'), JText::_('AP_ENABLE_BBCODE_QUOTE'), JText::_('AP_ENABLE_BBCODE_QUOTE_DESC')); // View JCommentsAdmin::loadParam($groups, 'autolinkurls', $rows, JText::_('A_RIGHTS_VIEW'), JText::_('AP_ENABLE_AUTOLINKURLS'), JText::_('AP_ENABLE_AUTOLINKURLS_DESC')); JCommentsAdmin::loadParam($groups, 'emailprotection', $rows, JText::_('A_RIGHTS_VIEW'), JText::_('AP_ENABLE_EMAILPROTECTION'), JText::_('AP_ENABLE_EMAILPROTECTION_DESC')); JCommentsAdmin::loadParam($groups, 'enable_gravatar', $rows, JText::_('A_RIGHTS_VIEW'), JText::_('AP_ENABLE_GRAVATAR'), JText::_('AP_ENABLE_GRAVATAR_DESC')); JCommentsAdmin::loadParam($groups, 'can_view_email', $rows, JText::_('A_RIGHTS_VIEW'), JText::_('AP_CAN_VIEW_AUTHOR_EMAIL'), JText::_('AP_CAN_VIEW_AUTHOR_EMAIL_DESC')); JCommentsAdmin::loadParam($groups, 'can_view_homepage', $rows, JText::_('A_RIGHTS_VIEW'), JText::_('AP_CAN_VIEW_AUTHOR_HOMEPAGE'), JText::_('AP_CAN_VIEW_AUTHOR_HOMEPAGE_DESC')); JCommentsAdmin::loadParam($groups, 'can_view_ip', $rows, JText::_('A_RIGHTS_VIEW'), JText::_('AP_CAN_VIEW_AUTHOR_IP'), JText::_('AP_CAN_VIEW_AUTHOR_IP_DESC'), array('Unregistered', 'Registered')); // Edit JCommentsAdmin::loadParam($groups, 'can_edit_own', $rows, JText::_('A_RIGHTS_EDIT'), JText::_('AP_CAN_EDIT_OWN'), JText::_('AP_CAN_EDIT_OWN_DESC'), array('Unregistered')); JCommentsAdmin::loadParam($groups, 'can_delete_own', $rows, JText::_('A_RIGHTS_EDIT'), JText::_('AP_CAN_DELETE_OWN'), JText::_('AP_CAN_DELETE_OWN_DESC'), array('Unregistered')); // Administration JCommentsAdmin::loadParam($groups, 'can_edit', $rows, JText::_('A_RIGHTS_ADMINISTRATION'), JText::_('AP_CAN_EDIT'), JText::_('AP_CAN_EDIT_DESC'), array('Unregistered', 'Registered')); JCommentsAdmin::loadParam($groups, 'can_publish', $rows, JText::_('A_RIGHTS_ADMINISTRATION'), JText::_('AP_CAN_PUBLISH'), JText::_('AP_CAN_PUBLISH_DESC'), array('Unregistered', 'Registered')); JCommentsAdmin::loadParam($groups, 'can_delete', $rows, JText::_('A_RIGHTS_ADMINISTRATION'), JText::_('AP_CAN_DELETE'), JText::_('AP_CAN_DELETE_DESC'), array('Unregistered', 'Registered')); // Votes JCommentsAdmin::loadParam($groups, 'can_vote', $rows, JText::_('A_RIGHTS_MISC'), JText::_('AP_CAN_VOTE'), JText::_('AP_CAN_VOTE_DESC')); $reportError = ''; $reportExclude = array(); if ($config->getInt('enable_notification') == 0 || $config->check('notification_type', 2) == false) { foreach ($rows as $row) { $reportExclude[] = $row->value; } $reportError = JText::_('Notifications are disabled! Please, enable notifications first.'); } JCommentsAdmin::loadParam($groups, 'can_report', $rows, JText::_('A_RIGHTS_MISC'), JText::_('AP_CAN_REPORT'), JText::_('AP_CAN_REPORT_DESC'), $reportExclude, $reportError); $lists['groups'] =& $groups; if ($config->get('enable_categories') != '') { $query = "SELECT c.id AS `value`, CONCAT_WS( ' / ', s.title, c.title) AS `text`" . "\n FROM #__sections AS s" . "\n INNER JOIN #__categories AS c ON c.section = s.id" . "\n WHERE c.id IN ( " . $config->get('enable_categories') . " )" . "\n ORDER BY s.name,c.name"; $db->setQuery($query); $lookup = $db->loadObjectList(); } else { $lookup = ''; } $query = "SELECT c.id AS `value`, CONCAT_WS( ' / ', s.title, c.title) AS `text`" . "\n FROM #__sections AS s" . "\n INNER JOIN #__categories AS c ON c.section = s.id" . "\n ORDER BY s.name,c.name"; $db->setQuery($query); $categories = $db->loadObjectList(); if (!is_array($categories)) { $categories = array(); } $lists['categories'] = JCommentsHTML::selectList($categories, 'cfg_enable_categories[]', 'class="inputbox" size="10" multiple="multiple"', 'value', 'text', $lookup); $captcha = array(); $captcha[] = JCommentsHTML::makeOption('kcaptcha', 'KCAPTCHA'); require_once JCOMMENTS_HELPERS . DS . 'plugin.php'; JCommentsPluginHelper::importPlugin('jcomments'); $enginesList = JCommentsPluginHelper::trigger('onJCommentsCaptchaEngines'); foreach ($enginesList as $engines) { foreach ($engines as $code => $text) { $captcha[] = JCommentsHTML::makeOption($code, $text); } } $disabledCAPTCHA = count($captcha) == 1 ? ' disabled="disabled"' : ''; $lists["captcha"] = JCommentsHTML::selectList($captcha, 'cfg_captcha_engine', 'class="inputbox"' . $disabledCAPTCHA, 'value', 'text', $config->get('captcha_engine')); HTML_JComments::showSettings($lists); }