/** * @param object $subject * @param array $config */ public function __construct(&$subject, $config) { // Do not load if Kunena version is not supported or Kunena is offline if (!(class_exists('KunenaForum') && KunenaForum::isCompatible('4.0') && KunenaForum::installed())) { return; } KunenaFactory::loadLanguage('plg_kunena_uddeim.sys', 'admin'); $path = JPATH_SITE . "/components/com_uddeim/uddeim.api.php"; if (!is_file($path)) { return; } include_once($path); $uddeim = new uddeIMAPI(); if ($uddeim->version() < 1) { return; } parent::__construct($subject, $config); $this->loadLanguage('plg_kunena_uddeim.sys', JPATH_ADMINISTRATOR) || $this->loadLanguage('plg_kunena_uddeim.sys', KPATH_ADMIN); }
function generateSystemReport() { jimport('joomla.filesystem.file'); $kunena_config = KunenaFactory::getConfig(); $kunena_app = JFactory::getApplication(); $kunena_db = JFactory::getDBO(); $JVersion = new JVersion(); $jversion = $JVersion->PRODUCT . ' ' . $JVersion->RELEASE . '.' . $JVersion->DEV_LEVEL . ' ' . $JVersion->DEV_STATUS . ' [ ' . $JVersion->CODENAME . ' ] ' . $JVersion->RELDATE; if ($kunena_app->getCfg('legacy')) { $jconfig_legacy = '[color=#FF0000]Enabled[/color]'; } else { $jconfig_legacy = 'Disabled'; } if (!$kunena_app->getCfg('smtpuser')) { $jconfig_smtpuser = '******'; } else { $jconfig_smtpuser = $kunena_app->getCfg('smtpuser'); } if ($kunena_app->getCfg('ftp_enable')) { $jconfig_ftp = 'Enabled'; } else { $jconfig_ftp = 'Disabled'; } if ($kunena_app->getCfg('sef')) { $jconfig_sef = 'Enabled'; } else { $jconfig_sef = 'Disabled'; } if ($kunena_app->getCfg('sef_rewrite')) { $jconfig_sef_rewrite = 'Enabled'; } else { $jconfig_sef_rewrite = 'Disabled'; } if (file_exists(JPATH_ROOT . '/.htaccess')) { $htaccess = 'Exists'; } else { $htaccess = 'Missing'; } if (ini_get('register_globals')) { $register_globals = '[u]register_globals:[/u] [color=#FF0000]On[/color]'; } else { $register_globals = '[u]register_globals:[/u] Off'; } if (ini_get('safe_mode')) { $safe_mode = '[u]safe_mode:[/u] [color=#FF0000]On[/color]'; } else { $safe_mode = '[u]safe_mode:[/u] Off'; } if (extension_loaded('mbstring')) { $mbstring = '[u]mbstring:[/u] Enabled'; } else { $mbstring = '[u]mbstring:[/u] [color=#FF0000]Not installed[/color]'; } if (extension_loaded('gd')) { $gd_info = gd_info(); $gd_support = '[u]GD:[/u] ' . $gd_info['GD Version']; } else { $gd_support = '[u]GD:[/u] [color=#FF0000]Not installed[/color]'; } $maxExecTime = ini_get('max_execution_time'); $maxExecMem = ini_get('memory_limit'); $fileuploads = ini_get('upload_max_filesize'); $kunenaVersionInfo = CKunenaVersion::versionArray(); //get all the config settings for Kunena $kunena_db->setQuery("SHOW TABLES LIKE '" . $kunena_db->getPrefix() . "kunena_config'"); $table_config = $kunena_db->loadResult(); if (KunenaError::checkDatabaseError()) { return; } if ($table_config) { $kunena_db->setQuery("SELECT * FROM #__kunena_config"); $kconfig = (object) $kunena_db->loadObject(); if (KunenaError::checkDatabaseError()) { return; } $kconfigsettings = '[table]'; $kconfigsettings .= '[th]Kunena config settings:[/th]'; foreach ($kconfig as $key => $value) { if ($key != 'id' && $key != 'board_title' && $key != 'email' && $key != 'offline_message' && $key != 'recaptcha_publickey' && $key != 'recaptcha_privatekey' && $key != 'email_visible_addres' && $key != 'recaptcha_theme') { $kconfigsettings .= '[tr][td]' . $key . '[/td][td]' . $value . '[/td][/tr]'; } } $kconfigsettings .= '[/table]'; } else { $kconfigsettings = 'Your configuration settings aren\'t yet recorded in the database'; } // Get Kunena default template $ktemplate = KunenaFactory::getTemplate(); $ktempaltedetails = $ktemplate->getTemplateDetails(); // Get database collation $collation = getTablesCollation(); // Get Joomla! template details $templatedetails = getJoomlaTemplate(); // Get Joomla! menu details $joomlamenudetails = getJoomlaMenuDetails(); // Check if Mootools plugins and others kunena plugins are enabled, and get the version of this modules jimport('joomla.plugin.helper'); jimport('joomla.application.module.helper'); jimport('joomla.application.component.helper'); $plg = array(); if (JPluginHelper::isEnabled('system', 'mtupgrade')) { $plg['mtupgrade'] = '[u]System - Mootools Upgrade:[/u] Enabled'; } else { $plg['mtupgrade'] = '[u]System - Mootools Upgrade:[/u] Disabled'; } if (JPluginHelper::isEnabled('system', 'mootools12')) { $plg['mt12'] = '[u]System - Mootools12:[/u] Enabled'; } else { $plg['mt12'] = '[u]System - Mootools12:[/u] Disabled'; } $plg['jfirephp'] = checkThirdPartyVersion('jfirephp', 'jfirephp', 'JFirePHP', 'plugins/system', 'system', 0, 0, 1); $plg['ksearch'] = checkThirdPartyVersion('kunenasearch', 'kunenasearch', 'Kunena Search', 'plugins/search', 'search', 0, 0, 1); $plg['kdiscuss'] = checkThirdPartyVersion('kunenadiscuss', 'kunenadiscuss', 'Kunena Discuss', 'plugins/content', 'content', 0, 0, 1); $plg['jxfinderkunena'] = checkThirdPartyVersion('plg_jxfinder_kunena', 'plg_jxfinder_kunena', 'Finder Kunena Posts', 'plugins/finder', 'finder', 0, 0, 1); $plg['kjomsocialmenu'] = checkThirdPartyVersion('kunenamenu', 'kunenamenu', 'My Kunena Forum Menu', 'plugins/community', 'community', 0, 0, 1); $plg['kjomsocialmykunena'] = checkThirdPartyVersion('mykunena', 'mykunena', 'My Kunena Forum Posts', 'plugins/community', 'community', 0, 0, 1); $plg['kjomsocialgroups'] = checkThirdPartyVersion('kunenagroups', 'kunenagroups', 'Kunena Groups', 'plugins/community', 'community', 0, 0, 1); foreach ($plg as $id => $item) { if (empty($item)) { unset($plg[$id]); } } if (!empty($plg)) { $plgtext = '[quote][b]Plugins:[/b] ' . implode(' | ', $plg) . ' [/quote]'; } else { $plgtext = '[quote][b]Plugins:[/b] None [/quote]'; } $mod = array(); $mod['kunenalatest'] = checkThirdPartyVersion('mod_kunenalatest', 'mod_kunenalatest', 'Kunena Latest', 'modules/mod_kunenalatest', null, 0, 1, 0); $mod['kunenastats'] = checkThirdPartyVersion('mod_kunenastats', 'mod_kunenastats', 'Kunena Stats', 'modules/mod_kunenastats', null, 0, 1, 0); $mod['kunenalogin'] = checkThirdPartyVersion('mod_kunenalogin', 'mod_kunenalogin', 'Kunena Login', 'modules/mod_kunenalogin', null, 0, 1, 0); $mod['kunenasearch'] = checkThirdPartyVersion('mod_kunenasearch', 'mod_kunenasearch', 'Kunena Search', 'modules/mod_kunenasearch', null, 0, 1, 0); foreach ($mod as $id => $item) { if (empty($item)) { unset($mod[$id]); } } if (!empty($mod)) { $modtext = '[quote][b]Modules:[/b] ' . implode(' | ', $mod) . ' [/quote]'; } else { $modtext = '[quote][b]Modules:[/b] None [/quote]'; } $thirdparty = array(); if (JFile::exists(JPATH_SITE . '/components/com_alphauserpoints/helper.php')) { require_once JPATH_SITE . '/components/com_alphauserpoints/helper.php'; $aup = new AlphaUserPointsHelper(); $thirdparty['aup'] = '[u]AlphaUserPoints[/u] ' . $aup->getAupVersion(); } else { $thirdparty['aup'] = checkThirdPartyVersion('alphauserpoints', array('manifest', 'alphauserpoints'), 'AlphaUserPoints', 'components/com_alphauserpoints', null, 1, 0, 0); } $thirdparty['cb'] = checkThirdPartyVersion('comprofiler', array('comprofilej', 'comprofileg'), 'CommunityBuilder', 'components/com_comprofiler', null, 1, 0, 0); $thirdparty['jomsocial'] = checkThirdPartyVersion('community', array('community'), 'Jomsocial', 'components/com_community', null, 1, 0, 0); if (JFile::exists(JPATH_SITE . '/components/com_uddeim/uddeim.api.php')) { require_once JPATH_SITE . '/components/com_uddeim/uddeim.api.php'; $uddeim = new uddeIMAPI(); $api_version = $uddeim->version(); if ($api_version >= '3') { $uddeim_version = $uddeim->mainVersion(); $thirdparty['uddeim'] = '[u]UddeIm[/u] ' . $uddeim_version['version']; } else { $thirdparty['uddeim'] = checkThirdPartyVersion('uddeim', array('uddeim.j15', 'uddeim'), 'UddeIm', 'components/com_uddeim', null, 1, 0, 0); } } else { $thirdparty['uddeim'] = checkThirdPartyVersion('uddeim', array('uddeim.j15', 'uddeim'), 'UddeIm', 'components/com_uddeim', null, 1, 0, 0); } foreach ($thirdparty as $id => $item) { if (empty($item)) { unset($thirdparty[$id]); } } if (!empty($thirdparty)) { $thirdpartytext = '[quote][b]Third-party components:[/b] ' . implode(' | ', $thirdparty) . ' [/quote]'; } else { $thirdpartytext = '[quote][b]Third-party components:[/b] None [/quote]'; } $sef = array(); $sef['sh404sef'] = checkThirdPartyVersion('sh404sef', 'sh404sef', 'sh404sef', 'components/com_sh404sef', null, 1, 0, 0); $sef['joomsef'] = checkThirdPartyVersion('joomsef', 'sef', 'ARTIO JoomSEF', 'components/com_sef', null, 1, 0, 0); $sef['acesef'] = checkThirdPartyVersion('acesef', 'acesef', 'AceSEF', 'components/com_acesef', null, 1, 0, 0); foreach ($sef as $id => $item) { if (empty($item)) { unset($sef[$id]); } } if (!empty($sef)) { $seftext = '[quote][b]Third-party SEF components:[/b] ' . implode(' | ', $sef) . ' [/quote]'; } else { $seftext = '[quote][b]Third-party SEF components:[/b] None [/quote]'; } $report = '[confidential][b]Joomla! version:[/b] ' . $jversion . ' [b]Platform:[/b] ' . $_SERVER['SERVER_SOFTWARE'] . ' (' . $_SERVER['SERVER_NAME'] . ') [b]PHP version:[/b] ' . phpversion() . ' | ' . $safe_mode . ' | ' . $register_globals . ' | ' . $mbstring . ' | ' . $gd_support . ' | [b]MySQL version:[/b] ' . $kunena_db->getVersion() . '[/confidential][quote][b]Database collation check:[/b] ' . $collation . ' [/quote][quote][b]Legacy mode:[/b] ' . $jconfig_legacy . ' | [b]Joomla! SEF:[/b] ' . $jconfig_sef . ' | [b]Joomla! SEF rewrite:[/b] ' . $jconfig_sef_rewrite . ' | [b]FTP layer:[/b] ' . $jconfig_ftp . ' |[confidential][b]Mailer:[/b] ' . $kunena_app->getCfg('mailer') . ' | [b]From name:[/b] ' . $kunena_app->getCfg('fromname') . ' | [b]SMTP Secure:[/b] ' . $kunena_app->getCfg('smtpsecure') . ' | [b]SMTP Port:[/b] ' . $kunena_app->getCfg('smtpport') . ' | [b]SMTP User:[/b] ' . $jconfig_smtpuser . ' | [b]SMTP Host:[/b] ' . $kunena_app->getCfg('smtphost') . ' [/confidential] [b]htaccess:[/b] ' . $htaccess . ' | [b]PHP environment:[/b] [u]Max execution time:[/u] ' . $maxExecTime . ' seconds | [u]Max execution memory:[/u] ' . $maxExecMem . ' | [u]Max file upload:[/u] ' . $fileuploads . ' [/quote][confidential][b]Kunena menu details[/b]:[spoiler] ' . $joomlamenudetails . '[/spoiler][/confidential][quote][b]Joomla default template details :[/b] ' . $templatedetails->name . ' | [u]author:[/u] ' . $templatedetails->author . ' | [u]version:[/u] ' . $templatedetails->version . ' | [u]creationdate:[/u] ' . $templatedetails->creationdate . ' [/quote][quote][b]Kunena default template details :[/b] ' . $ktempaltedetails->name . ' | [u]author:[/u] ' . $ktempaltedetails->author . ' | [u]version:[/u] ' . $ktempaltedetails->version . ' | [u]creationdate:[/u] ' . $ktempaltedetails->creationDate . ' [/quote][quote] [b]Kunena version detailled:[/b] [u]Installed version:[/u] ' . $kunenaVersionInfo->version . ' | [u]Build:[/u] ' . $kunenaVersionInfo->build . ' | [u]Version name:[/u] ' . $kunenaVersionInfo->name . ' | [u]Kunena detailled configuration:[/u] [spoiler] ' . $kconfigsettings . '[/spoiler][/quote]' . $thirdpartytext . ' ' . $seftext . ' ' . $plgtext . ' ' . $modtext; return $report; }