예제 #1
0
function trigger_dberror($text = '')
{
    $kunena_db =& JFactory::getDBO();
    echo debug_callstackinfo();
    require_once KUNENA_PATH_LIB . DS . 'kunena.version.php';
    $kunenaVersion = CKunenaVersion::version();
    $kunenaPHPVersion = CKunenaVersion::PHPVersion();
    $kunenaMySQLVersion = CKunenaVersion::MySQLVersion();
    ?>
 <!-- Version Info -->
<div class="fbfooter">
Installed version:  <?php 
    echo $kunenaVersion;
    ?>
 | php <?php 
    echo $kunenaPHPVersion;
    ?>
 | mysql <?php 
    echo $kunenaMySQLVersion;
    ?>
</div>
<!-- /Version Info -->
<?php 
    trigger_error($text . '\\n' . $kunena_db->stderr(true), E_USER_ERROR);
}
예제 #2
0
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;
}
예제 #3
0
// Class structure should be used after this and all the common task should be moved to this class
require_once KUNENA_PATH . DS . 'class.kunena.php';
require_once KUNENA_PATH_ADMIN . DS . 'admin.kunena.html.php';
$kn_tables = CKunenaTables::getInstance();
if ($kn_tables->installed() === false) {
    $app->enqueueMessage(_KUNENA_ERROR_INCOMPLETE_ERROR, 'error');
    $app->enqueueMessage(_KUNENA_ERROR_INCOMPLETE_OFFLINE, 'notice');
    $app->enqueueMessage(_KUNENA_ERROR_INCOMPLETE_REASONS);
    $app->enqueueMessage(_KUNENA_ERROR_INCOMPLETE_1);
    $app->enqueueMessage(_KUNENA_ERROR_INCOMPLETE_2);
    $app->enqueueMessage(_KUNENA_ERROR_INCOMPLETE_3);
    $app->enqueueMessage(_KUNENA_ERROR_INCOMPLETE_SUPPORT . ' <a href="http://www.kunena.com">www.kunena.com</a>');
    html_Kunena::showFbFooter();
    return;
}
$kn_version = CKunenaVersion::versionArray();
if ($kn_version->versionname == '@kunenaversionname@') {
    $kn_version_name = _KUNENA_VERSION_SVN;
    $kn_version_warning = _KUNENA_VERSION_SVN_WARNING;
} else {
    if ($kn_version->versionname == 'NOT UPGRADED') {
        $app->enqueueMessage(sprintf(_KUNENA_ERROR_UPGRADE, $kn_version->version), 'notice');
        $app->enqueueMessage(_KUNENA_ERROR_UPGRADE_WARN);
        $app->enqueueMessage(sprintf(_KUNENA_ERROR_UPGRADE_AGAIN, $kn_version->version));
        $app->enqueueMessage(_KUNENA_ERROR_INCOMPLETE_SUPPORT . ' <a href="http://www.kunena.com">www.kunena.com</a>');
    } else {
        if (strpos($kn_version->version, 'RC') !== false) {
            $kn_version_name = _KUNENA_VERSION_RC;
            $kn_version_warning = _KUNENA_VERSION_RC_WARNING;
        } else {
            if (strpos($kn_version->version, 'BETA') !== false) {
예제 #4
0
    function showFbFooter()
    {
        $fbConfig =& CKunenaConfig::getInstance();
        require_once KUNENA_PATH_LIB . DS . 'kunena.version.php';
        ?>

<!-- Finish: AdminRight -->

    </td>
  </tr>
  <tr><td></td><td>
 <!-- Footer -->
<div class="fbfooter"><?php 
        echo CKunenaVersion::versionHTML();
        ?>
</div>
<!-- /Footer -->
  </td></tr>
</table>

</div><!-- Close div.fbadmin -->
<?php 
    }
예제 #5
0
                  </table></td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
    </div>
  </div>
</div>

<?php 
require_once KUNENA_PATH_LIB . DS . 'kunena.version.php';
?>
 <!-- Version Info -->
<div class="fbfooter"><?php 
echo CKunenaVersion::versionHTML();
?>
</div>
<!-- /Version Info -->

<!-- Begin: Forum Jump -->
<div class="<?php 
echo $boardclass;
?>
_bt_cvr1">
  <div class="<?php 
echo $boardclass;
?>
_bt_cvr2">
    <div class="<?php 
echo $boardclass;
예제 #6
0
 /** 
  * Retrieve installed Kunena version, copyright and license as string.
  *
  * @return string "Installed version: Kunena X.Y.Z | YYYY-MM-DD | BUILDNUMBER [versionname] | © Copyright: Kunena | License: GNU GPL"
  */
 function versionHTML()
 {
     $version = CKunenaVersion::version();
     return _KUNENA_INSTALLED_VERSION . ': ' . $version . ' | ' . _KUNENA_COPYRIGHT . ': &copy; 2008-2009 <a href = "http://www.Kunena.com" target = "_blank">Kunena</a>  | ' . _KUNENA_LICENSE . ': <a href = "http://www.gnu.org/copyleft/gpl.html" target = "_blank">GNU GPL</a>';
 }
예제 #7
0
    function showFbFooter()
    {
        ?>
	</div>
	<div class="kadmin-footer">
		<?php 
        echo CKunenaVersion::versionHTML();
        ?>
	</div>
</div>

	<?php 
    }
예제 #8
0
 function getTablePrefix()
 {
     static $prefix = null;
     if (is_null($prefix)) {
         $version = '';
         $versionFile = JPATH_ROOT . DS . 'components' . DS . 'com_kunena' . DS . 'lib' . DS . 'kunena.version.php';
         if (JFile::exists($versionFile)) {
             require_once $versionFile;
             $version = CKunenaVersion::versionArray();
             $version = $version->version;
             $prefix = version_compare($version, '1.6.0') == -1 ? '#__fb' : '#__kunena';
         }
     }
     return $prefix;
 }
예제 #9
0
 /**
  * Retrieve installed Kunena version, copyright and license as string.
  *
  * @return string "Installed version: Kunena X.Y.Z | YYYY-MM-DD | BUILDNUMBER [versionname] | © Copyright: Kunena | License: GNU GPL"
  */
 function versionHTML()
 {
     $version = CKunenaVersion::version();
     return JText::_('COM_KUNENA_INSTALLED_VERSION') . ': ' . $version . ' | ' . JText::_('COM_KUNENA_COPYRIGHT') . ': &copy; 2008-2011 <a href = "http://www.kunena.org" target = "_blank">Kunena</a>  | ' . JText::_('COM_KUNENA_LICENSE') . ': <a href = "http://www.gnu.org/copyleft/gpl.html" target = "_blank">GNU GPL</a>';
 }