Example #1
0
 /**
  * Method to display the view.
  *
  * @param	string	A template file to load.
  * @return	mixed	JError object on failure, void on success.
  * @throws	object	JError
  * @since	1.6
  */
 public function display($tpl = null)
 {
     if ($this->getLayout() == 'schema') {
         parent::display($tpl);
         return;
     }
     // Initialize variables.
     $user = JFactory::getUser();
     // Load the view data.
     $this->model = $this->get('Model');
     $this->state = $this->get('State');
     $this->step = $this->get('Step');
     $this->steps = $this->get('Steps');
     $this->status = $this->get('Status');
     $this->error = $this->get('Error');
     $this->requirements = $this->get('Requirements');
     $this->versions = $this->get('DetectVersions');
     require_once KPATH_ADMIN . '/install/version.php';
     $version = new KunenaVersion();
     $this->versionWarning = $version->getVersionWarning('COM_KUNENA_INSTALL_WARNING');
     // Render the layout.
     $app = JFactory::getApplication();
     if (!empty($this->requirements->fail) || !empty($this->error)) {
         $app->enqueueMessage(JText::_('COM_KUNENA_INSTALL_FAILED'), 'error');
     } else {
         if ($this->step && isset($this->steps[$this->step + 1])) {
             $app->enqueueMessage(JText::_('COM_KUNENA_INSTALL_DO_NOT_INTERRUPT'), 'notice');
         } else {
             if (!isset($this->steps[$this->step + 1])) {
                 $app->enqueueMessage(JText::_('COM_KUNENA_INSTALL_SUCCESS'));
             } else {
                 if (!empty($this->versionWarning)) {
                     $app->enqueueMessage($this->versionWarning, 'notice');
                 }
             }
         }
     }
     JRequest::setVar('hidemainmenu', 1);
     $this->go = JRequest::getCmd('go', '');
     $session = JFactory::getSession();
     $this->cnt = $session->get('kunena.reload', 1);
     if ($this->step) {
         // Output enqueued messages from previous reloads (to show Joomla warnings)
         $queue = (array) $session->get('kunena.queue');
         foreach ($queue as $item) {
             if (is_array($item) && $item['type'] != 'message') {
                 $app->enqueueMessage($item['message'], $item['type']);
             }
         }
     }
     parent::display($tpl);
 }
Example #2
0
        echo JText::_('COM_KUNENA_FIELD_LABEL_FILTERCLEAR');
        ?>
</button>
									<?php 
    } else {
        ?>
										<?php 
        //Currently no default state, might change later.
        ?>
									<?php 
    }
    ?>
								</span>
							</div>
						</td>
					</tr>
				<?php 
}
?>
				</tbody>
			</table>
		</form>
	</div>

	<div class="pull-right small">
		<?php 
echo KunenaVersion::getLongVersionHTML();
?>
	</div>
</div>
Example #3
0
 * Kunena Component
 *
 * @package       Kunena.Installer
 *
 * @copyright (C) 2008 - 2015 Kunena Team. All rights reserved.
 * @license       http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * @link          http://www.kunena.org
 **/
defined('_JEXEC') or die;
/*
 ************************/
/*
  KUNENA FORUM INSTALLER */
$app = JFactory::getApplication();
$view = $app->input->getCmd('view');
$task = $app->input->getCmd('task');
// Special case for developer versions.
if ($view != 'install' && class_exists('KunenaForum') && KunenaForum::isDev()) {
    // Developer version found: Check if latest version of Kunena has been installed. If not, prepare installation.
    require_once __DIR__ . '/install/version.php';
    $kversion = new KunenaVersion();
    if (!$kversion->checkVersion()) {
        JFactory::getApplication()->redirect(JUri::base(true) . '/index.php?option=com_kunena&view=install');
    }
    return;
}
// Run the installer...
require_once __DIR__ . '/install/controller.php';
$controller = new KunenaControllerInstall();
$controller->execute($task);
$controller->redirect();
Example #4
0
    if (!JFactory::getUser()->authorise('core.manage', 'com_kunena')) {
        return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
    }
}
// Start output buffering to cleanup if redirect
ob_start();
JToolBarHelper::title('&nbsp;', 'kunena.png');
$view = JRequest::getCmd('view');
$task = JRequest::getCmd('task');
require_once JPATH_ADMINISTRATOR . '/components/com_kunena/api.php';
require_once KUNENA_PATH_LIB . '/kunena.version.php';
kimport('error');
KunenaError::initialize();
$kunena_app =& JFactory::getApplication();
require_once KPATH_ADMIN . '/install/version.php';
$kn_version = new KunenaVersion();
if ($view == 'install') {
    require_once KPATH_ADMIN . '/install/controller.php';
    $controller = new KunenaControllerInstall();
    $controller->execute($task);
    $controller->redirect();
    return;
}
if (!$kn_version->checkVersion() && $task != 'schema' && $task != 'schemadiff') {
    require_once dirname(__FILE__) . '/install.script.php';
    Com_KunenaInstallerScript::preflight(null, null);
    Com_KunenaInstallerScript::install(null);
    while (@ob_end_clean()) {
    }
    $kunena_app->redirect(JURI::root() . 'administrator/index.php?option=com_kunena&view=install');
}
Example #5
0
 /**
  * Method to display a view.
  *
  * @param   boolean    $cachable   If true, the view output will be cached
  * @param   array|bool $urlparams  An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}.
  *
  * @return  JControllerLegacy  A JControllerLegacy object to support chaining.
  */
 public function display($cachable = false, $urlparams = false)
 {
     KUNENA_PROFILER ? $this->profiler->mark('beforeDisplay') : null;
     KUNENA_PROFILER ? KunenaProfiler::instance()->start('function ' . __CLASS__ . '::' . __FUNCTION__ . '()') : null;
     // Get the document object.
     $document = JFactory::getDocument();
     // Set the default view name and format from the Request.
     $vName = JRequest::getWord('view', $this->app->isAdmin() ? 'cpanel' : 'home');
     $lName = JRequest::getWord('layout', 'default');
     $vFormat = $document->getType();
     if ($this->app->isAdmin()) {
         // Load admin language files
         KunenaFactory::loadLanguage('com_kunena.install', 'admin');
         KunenaFactory::loadLanguage('com_kunena.views', 'admin');
         // Load last to get deprecated language files to work
         KunenaFactory::loadLanguage('com_kunena', 'admin');
         // Version warning
         require_once KPATH_ADMIN . '/install/version.php';
         $version = new KunenaVersion();
         $version_warning = $version->getVersionWarning();
         if (!empty($version_warning)) {
             $this->app->enqueueMessage($version_warning, 'notice');
         }
     } else {
         // Load site language files
         KunenaFactory::loadLanguage('com_kunena.views');
         KunenaFactory::loadLanguage('com_kunena.templates');
         // Load last to get deprecated language files to work
         KunenaFactory::loadLanguage('com_kunena');
         $menu = $this->app->getMenu();
         $active = $menu->getActive();
         // Check if menu item was correctly routed
         $routed = $menu->getItem(KunenaRoute::getItemID());
         if ($vFormat == 'html' && !empty($routed->id) && (empty($active->id) || $active->id != $routed->id)) {
             // Routing has been changed, redirect
             // FIXME: check possible redirect loops!
             $route = KunenaRoute::_(null, false);
             $activeId = !empty($active->id) ? $active->id : 0;
             JLog::add("Redirect from " . JUri::getInstance()->toString(array('path', 'query')) . " ({$activeId}) to {$route} ({$routed->id})", JLog::DEBUG, 'kunena');
             $this->app->redirect($route);
         }
         // Joomla 2.5+ multi-language support
         /* // FIXME:
         			if (isset($active->language) && $active->language != '*') {
         				$language = JFactory::getDocument()->getLanguage();
         				if (strtolower($active->language) != strtolower($language)) {
         					$route = KunenaRoute::_(null, false);
         					JLog::add("Language redirect from ".JUri::getInstance()->toString(array('path', 'query'))." to {$route}", JLog::DEBUG, 'kunena');
         					$this->redirect ($route);
         				}
         			}
         			*/
     }
     $view = $this->getView($vName, $vFormat);
     if ($view) {
         if ($this->app->isSite() && $vFormat == 'html') {
             $common = $this->getView('common', $vFormat);
             $model = $this->getModel('common');
             $common->setModel($model, true);
             $view->ktemplate = $common->ktemplate = KunenaFactory::getTemplate();
             $view->common = $common;
         }
         // Set the view layout.
         $view->setLayout($lName);
         // Get the appropriate model for the view.
         $model = $this->getModel($vName);
         // Push the model into the view (as default).
         $view->setModel($model, true);
         // Push document object into the view.
         $view->document = $document;
         // Render the view.
         if ($vFormat == 'html') {
             JPluginHelper::importPlugin('kunena');
             $dispatcher = JDispatcher::getInstance();
             $dispatcher->trigger('onKunenaDisplay', array('start', $view));
             $view->displayAll();
             $dispatcher->trigger('onKunenaDisplay', array('end', $view));
         } else {
             $view->displayLayout();
         }
     }
     KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function ' . __CLASS__ . '::' . __FUNCTION__ . '()') : null;
     return $this;
 }
Example #6
0
    /**
     * Method to generate all the reportconfiguration.
     *
     * @return    string
     * @since    1.6
     */
    public function getSystemReport()
    {
        $kunena_db = JFactory::getDBO();
        if (!$this->app->getCfg('smtpuser')) {
            $jconfig_smtpuser = '******';
        } else {
            $jconfig_smtpuser = $this->app->getCfg('smtpuser');
        }
        if ($this->app->getCfg('ftp_enable')) {
            $jconfig_ftp = 'Enabled';
        } else {
            $jconfig_ftp = 'Disabled';
        }
        if ($this->app->getCfg('sef')) {
            $jconfig_sef = 'Enabled';
        } else {
            $jconfig_sef = 'Disabled';
        }
        if ($this->app->getCfg('sef_rewrite')) {
            $jconfig_sef_rewrite = 'Enabled';
        } else {
            $jconfig_sef_rewrite = 'Disabled';
        }
        if (is_file(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 = KunenaVersion::getVersionHTML();
        // Get Kunena default template
        $ktemplate = KunenaFactory::getTemplate();
        $ktemplatedetails = $ktemplate->getTemplateDetails();
        $jtemplatedetails = $this->_getJoomlaTemplate();
        $joomlamenudetails = $this->_getJoomlaMenuDetails();
        $collation = $this->_getTablesCollation();
        $kconfigsettings = $this->_getKunenaConfiguration();
        // Get Joomla! languages installed
        $joomlalanguages = $this->_getJoomlaLanguagesInstalled();
        // Check if Mootools plugins and others kunena plugins are enabled, and get the version of this modules
        $plg['jfirephp'] = $this->getExtensionVersion('system/jfirephp', 'System - JFirePHP');
        $plg['ksearch'] = $this->getExtensionVersion('search/kunena', 'Search - Kunena Search');
        $plg['kdiscuss'] = $this->getExtensionVersion('content/kunenadiscuss', 'Content - Kunena Discuss');
        $plg['jxfinderkunena'] = $this->getExtensionVersion('finder/plg_jxfinder_kunena', 'Finder - Kunena Posts');
        $plg['kjomsocialmenu'] = $this->getExtensionVersion('community/kunenamenu', 'JomSocial - My Kunena Forum Menu');
        $plg['kjomsocialmykunena'] = $this->getExtensionVersion('community/mykunena', 'JomSocial - My Kunena Forum Posts');
        $plg['kjomsocialgroups'] = $this->getExtensionVersion('community/kunenagroups', 'JomSocial - Kunena Groups');
        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'] = $this->getExtensionVersion('mod_kunenalatest', 'Kunena Latest');
        $mod['kunenastats'] = $this->getExtensionVersion('mod_kunenastats', 'Kunena Stats');
        $mod['kunenalogin'] = $this->getExtensionVersion('mod_kunenalogin', 'Kunena Login');
        $mod['kunenasearch'] = $this->getExtensionVersion('mod_kunenasearch', 'Kunena Search');
        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();
        $thirdparty['aup'] = $this->getExtensionVersion('com_alphauserpoints', 'AlphaUserPoints');
        $thirdparty['cb'] = $this->getExtensionVersion('com_comprofiler', 'CommunityBuilder');
        $thirdparty['jomsocial'] = $this->getExtensionVersion('com_community', 'Jomsocial');
        $thirdparty['uddeim'] = $this->getExtensionVersion('com_uddeim', 'UddeIM');
        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'] = $this->getExtensionVersion('com_sh404sef', 'sh404sef');
        $sef['joomsef'] = $this->getExtensionVersion('com_joomsef', 'ARTIO JoomSEF');
        $sef['acesef'] = $this->getExtensionVersion('com_acesef', 'AceSEF');
        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]';
        }
        // Get integration settings
        $integration_settings = $this->getIntegrationSettings();
        $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() . ' | [b]Base URL:[/b]' . JUri::root() . '[/confidential][quote][b]Database collation check:[/b] ' . $collation . '
		[/quote][quote][b]Joomla! SEF:[/b] ' . $jconfig_sef . ' | [b]Joomla! SEF rewrite:[/b] ' . $jconfig_sef_rewrite . ' | [b]FTP layer:[/b] ' . $jconfig_ftp . ' |
	    [confidential][b]Mailer:[/b] ' . $this->app->getCfg('mailer') . ' | [b]Mail from:[/b] ' . $this->app->getCfg('mailfrom') . ' | [b]From name:[/b] ' . $this->app->getCfg('fromname') . ' | [b]SMTP Secure:[/b] ' . $this->app->getCfg('smtpsecure') . ' | [b]SMTP Port:[/b] ' . $this->app->getCfg('smtpport') . ' | [b]SMTP User:[/b] ' . $jconfig_smtpuser . ' | [b]SMTP Host:[/b] ' . $this->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] [quote][b]Kunena menu details[/b]:[spoiler] ' . $joomlamenudetails . '[/spoiler][/quote][quote][b]Joomla default template details :[/b] ' . $jtemplatedetails->name . ' | [u]author:[/u] ' . $jtemplatedetails->author . ' | [u]version:[/u] ' . $jtemplatedetails->version . ' | [u]creationdate:[/u] ' . $jtemplatedetails->creationdate . ' [/quote][quote][b]Kunena default template details :[/b] ' . $ktemplatedetails->name . ' | [u]author:[/u] ' . $ktemplatedetails->author . ' | [u]version:[/u] ' . $ktemplatedetails->version . ' | [u]creationdate:[/u] ' . $ktemplatedetails->creationDate . ' [/quote][quote] [b]Kunena version detailed:[/b] ' . $kunenaVersionInfo . '
	    | [u]Kunena detailed configuration:[/u] [spoiler] ' . $kconfigsettings . '[/spoiler]| [u]Kunena integration settings:[/u][spoiler] ' . implode(' ', $integration_settings) . '[/spoiler]| [u]Joomla! detailed language files installed:[/u][spoiler] ' . $joomlalanguages . '[/spoiler][/quote]' . $thirdpartytext . ' ' . $seftext . ' ' . $plgtext . ' ' . $modtext;
        return $report;
    }
Example #7
0
}

// Initialize Kunena (if Kunena System Plugin isn't enabled)
require_once JPATH_ADMINISTRATOR . '/components/com_kunena/api.php';

// Initialize error handlers
KunenaError::initialize ();

// Get view and task
$view = JRequest::getCmd ( 'view', 'cpanel' );
$task = JRequest::getCmd ( 'task' );
JRequest::setVar( 'view', $view );

// Start by checking if Kunena has been installed -- if not, redirect to our installer
require_once(KPATH_ADMIN.'/install/version.php');
$kversion = new KunenaVersion();
if ($view != 'install' && !$kversion->checkVersion()) {
	$app = JFactory::getApplication ();
	$app->redirect(JURI::root(true).'/administrator/index.php?option=com_kunena&view=install&task=prepare&'.JUtility::getToken().'=1');

} elseif ($view == 'install') {
	// Load our installer (special case)
	require_once (KPATH_ADMIN . '/install/controller.php');
	$controller = new KunenaControllerInstall();

} else {
	// Kunena has been successfully installed: Load our main controller
	$controller = KunenaController::getInstance();
}
$controller->execute( $task );
$controller->redirect();
Example #8
0
 /**
  * Method to display a view.
  *
  * @return	void
  * @since	1.6
  */
 public function display($cachable = false, $urlparams = false)
 {
     KUNENA_PROFILER ? $this->profiler->mark('beforeDisplay') : null;
     KUNENA_PROFILER ? KunenaProfiler::instance()->start('function ' . __CLASS__ . '::' . __FUNCTION__ . '()') : null;
     $app = JFactory::getApplication();
     if ($app->isAdmin()) {
         // Version warning
         require_once KPATH_ADMIN . '/install/version.php';
         $version = new KunenaVersion();
         $version_warning = $version->getVersionWarning();
         if (!empty($version_warning)) {
             $app->enqueueMessage($version_warning, 'notice');
         }
     } else {
         $menu = $app->getMenu();
         $active = $menu->getActive();
         // Check if menu item was correctly routed
         $routed = $menu->getItem(KunenaRoute::getItemID());
         /*
         			if (!$active) {
         				// FIXME: we may want to resctrict access only to menu items
         				JError::raiseError ( 500, JText::_ ( 'COM_KUNENA_NO_ACCESS' ) );
         			}
         */
         if ($active->id != $routed->id) {
             // Routing has been changed, redirect
             // FIXME: check possible redirect loops!
             $app->redirect(KunenaRoute::_(null, false));
         }
         // Joomla 1.6+ multi-language support
         /* // FIXME:
         			if (isset($active->language) && $active->language != '*') {
         				$language = JFactory::getDocument()->getLanguage();
         				if (strtolower($active->language) != strtolower($language)) {
         					$this->redirect (KunenaRoute::_(null, false));
         				}
         			}
         			*/
     }
     // Get the document object.
     $document = JFactory::getDocument();
     // Set the default view name and format from the Request.
     $vName = JRequest::getWord('view', 'none');
     $lName = JRequest::getWord('layout', 'default');
     $vFormat = $document->getType();
     $view = $this->getView($vName, $vFormat);
     if ($view) {
         if ($app->isSite() && $vFormat == 'html') {
             $common = $this->getView('common', $vFormat);
             $model = $this->getModel('common');
             $common->setModel($model, true);
             $view->ktemplate = $common->ktemplate = KunenaFactory::getTemplate();
             $view->common = $common;
         }
         // Get the appropriate model for the view.
         $model = $this->getModel($vName);
         // Push the model into the view (as default).
         $view->setModel($model, true);
         // Set the view layout.
         $view->setLayout($lName);
         // Push document object into the view.
         $view->document = $document;
         // Render the view.
         if ($vFormat == 'html') {
             JPluginHelper::importPlugin('kunena');
             $dispatcher = JDispatcher::getInstance();
             $dispatcher->trigger('onKunenaDisplay', array('start', $view));
             $view->displayAll();
             $dispatcher->trigger('onKunenaDisplay', array('end', $view));
         } else {
             $view->displayLayout();
         }
     }
     KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function ' . __CLASS__ . '::' . __FUNCTION__ . '()') : null;
 }
Example #9
0
	/**
	 * Method to generate all the reportconfiguration.
	 *
	 * @return	string
	 * @since	1.6
	 */
	public function getSystemReport () {
		$kunena_app = JFactory::getApplication ();
		$kunena_db = JFactory::getDBO ();

		$JVersion = new JVersion();
		$jversion = $JVersion->getLongVersion();

		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 = KunenaVersion::getVersionHTML ();

		// Get Kunena default template
		$ktemplate = KunenaFactory::getTemplate();
		$ktempaltedetails = $ktemplate->getTemplateDetails();

		//get all the config settings for Kunena
		$kconfig = $this->_getKunenaConfiguration();

		$jtemplatedetails = $this->_getJoomlaTemplate($JVersion);

		$joomlamenudetails = $this->_getJoomlaMenuDetails($JVersion);

		$collation = $this->_getTablesCollation();

		$kconfigsettings = $this->_getKunenaConfiguration();

		// Check if Mootools plugins and others kunena plugins are enabled, and get the version of this modules
		jimport( 'joomla.plugin.helper' );

		if ( JPluginHelper::isEnabled('system', 'mtupgrade') ) 	$mtupgrade = '[u]System - Mootools Upgrade:[/u] Enabled';
		else $mtupgrade = '[u]System - Mootools Upgrade:[/u] Disabled';

		if ( JPluginHelper::isEnabled('system', 'mootools12') ) $plg_mt = '[u]System - Mootools12:[/u] Enabled';
		else $plg_mt = '[u]System - Mootools12:[/u] Disabled';

		$plg['jfirephp'] = $this->_checkThirdPartyVersion('jfirephp', 'jfirephp', 'JFirePHP', 'plugins/system', 'system', 0, 0, 1);
		$plg['ksearch'] = $this->_checkThirdPartyVersion('kunenasearch', 'kunenasearch', 'Kunena Search', 'plugins/search', 'search', 0, 0, 1);
		$plg['kdiscuss'] = $this->_checkThirdPartyVersion('kunenadiscuss', 'kunenadiscuss', 'Kunena Discuss', 'plugins/content', 'content', 0, 0, 1);
		$plg['jxfinderkunena'] = $this->_checkThirdPartyVersion('plg_jxfinder_kunena', 'plg_jxfinder_kunena', 'Finder Kunena Posts', 'plugins/finder', 'finder', 0, 0, 1);
		$plg['kjomsocialmenu'] = $this->_checkThirdPartyVersion('kunenamenu', 'kunenamenu', 'My Kunena Forum Menu', 'plugins/community', 'community', 0, 0, 1);
		$plg['kjomsocialmykunena'] = $this->_checkThirdPartyVersion('mykunena', 'mykunena', 'My Kunena Forum Posts', 'plugins/community', 'community', 0, 0, 1);
		$plg['kjomsocialgroups'] = $this->_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'] = $this->_checkThirdPartyVersion('mod_kunenalatest', 'mod_kunenalatest', 'Kunena Latest', 'modules/mod_kunenalatest', null, 0, 1, 0);
		$mod['kunenastats'] = $this->_checkThirdPartyVersion('mod_kunenastats', 'mod_kunenastats', 'Kunena Stats', 'modules/mod_kunenastats', null, 0, 1, 0);
		$mod['kunenalogin'] = $this->_checkThirdPartyVersion('mod_kunenalogin', 'mod_kunenalogin', 'Kunena Login', 'modules/mod_kunenalogin', null, 0, 1, 0);
		$mod['kunenasearch'] = $this->_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 ($JVersion->RELEASE == '1.5') {
			$thirdparty['aup'] = $this->_checkThirdPartyVersion('alphauserpoints', 'alphauserpoints', 'AlphaUserPoints', 'components/com_alphauserpoints', null, 1, 0, 0);
			$thirdparty['cb'] = $this->_checkThirdPartyVersion('comprofiler', 'comprofilej' , 'CommunityBuilder', 'components/com_comprofiler', null, 1, 0, 0);
			$thirdparty['jomsocial'] = $this->_checkThirdPartyVersion('community', 'community', 'Jomsocial', 'components/com_community', null, 1, 0, 0);
			$thirdparty['uddeim'] = $this->_checkThirdPartyVersion('uddeim', 'uddeim.j15', 'UddeIm', 'components/com_uddeim', null, 1, 0, 0);
		} else {
			$thirdparty['aup'] = $this->_checkThirdPartyVersion('alphauserpoints', 'manifest', 'AlphaUserPoints', 'components/com_alphauserpoints', null, 1, 0, 0);
			$thirdparty['cb'] = $this->_checkThirdPartyVersion('comprofiler', 'comprofileg' , 'CommunityBuilder', 'components/com_comprofiler', null, 1, 0, 0);
			$thirdparty['jomsocial'] = $this->_checkThirdPartyVersion('community', 'community', 'Jomsocial', 'components/com_community', null, 1, 0, 0);
			$thirdparty['uddeim'] = $this->_checkThirdPartyVersion('uddeim', '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'] = $this->_checkThirdPartyVersion('sh404sef', 'sh404sef', 'sh404sef', 'components/com_sh404sef', null, 1, 0, 0);
		$sef['joomsef'] = $this->_checkThirdPartyVersion('joomsef', 'sef', 'ARTIO JoomSEF', 'components/com_sef', null, 1, 0, 0);
		$sef['acesef'] = $this->_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]Mail from:[/b] '.$kunena_app->getCfg('mailfrom' ).' | [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] '.$jtemplatedetails->name.' | [u]author:[/u] '.$jtemplatedetails->author.' | [u]version:[/u] '.$jtemplatedetails->version.' | [u]creationdate:[/u] '.$jtemplatedetails->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] '.$kunenaVersionInfo.'
	    | [u]Kunena detailled configuration:[/u] [spoiler] '.$kconfigsettings.'[/spoiler][/quote]'.$thirdpartytext.' '.$seftext.' '.$plgtext.' '.$modtext;

		return $report;
	}
Example #10
0
	/**
	 * Method to display a view.
	 *
	 * @return	void
	 * @since	1.6
	 */
	public function display() {
		KUNENA_PROFILER ? $this->profiler->mark('beforeDisplay') : null;
		KUNENA_PROFILER ? KunenaProfiler::instance()->start('function '.__CLASS__.'::'.__FUNCTION__.'()') : null;
		$app = JFactory::getApplication();
		if ($app->isAdmin()) {
			// Version warning
			require_once KPATH_ADMIN . '/install/version.php';
			$version = new KunenaVersion();
			$version_warning = $version->getVersionWarning('COM_KUNENA_VERSION_INSTALLED');
			if (! empty ( $version_warning )) {
				$app->enqueueMessage ( $version_warning, 'notice' );
			}
		} else {
			// Initialize profile integration
			$integration = KunenaFactory::getProfile();
			$integration->open();

			/*if (!$app->getMenu ()->getActive ()) {
				// FIXME:
				JError::raiseError ( 500, JText::_ ( 'COM_KUNENA_NO_ACCESS' ) );
			}*/
		}

		// Get the document object.
		$document = JFactory::getDocument ();

		// Set the default view name and format from the Request.
		$vName = JRequest::getWord ( 'view', 'none' );
		$lName = JRequest::getWord ( 'layout', 'default' );
		$vFormat = $document->getType ();

		$view = $this->getView ( $vName, $vFormat );
		if ($view) {
			if ($app->isSite() && $vFormat=='html') {
				$view->template = KunenaFactory::getTemplate();
				$common = $this->getView ( 'common', $vFormat );
				$common->setModel ( $this->getModel ( 'common' ), true );
				$view->common = $common;
				$templatepath = KPATH_SITE."/{$view->template->getPath()}/html/";
				$view->addTemplatePath($templatepath.$vName);
				$view->common->addTemplatePath($templatepath.'common');
			}

			// Do any specific processing for the view.
			switch ($vName) {
				default :
					// Get the appropriate model for the view.
					$model = $this->getModel ( $vName );
					break;
			}

			// Push the model into the view (as default).
			$view->setModel ( $model, true );

			// Set the view layout.
			$view->setLayout ( $lName );

			// Push document object into the view.
			$view->assignRef ( 'document', $document );

			// Render the view.
			if ($vFormat=='html') {
				$view->displayAll ();
			} else {
				$view->displayLayout ();
			}
		}

		if ($app->isSite()) {
			// Close profile integration
			$integration = KunenaFactory::getProfile();
			$integration->close();
		}
		KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function '.__CLASS__.'::'.__FUNCTION__.'()') : null;
	}
Example #11
0
            <input type="hidden" name="view" value="trash" />
            <input type="hidden" name="task" value="purge" />
            <input type="hidden" name="boxchecked" value="1" />
            <input type="hidden" name="md5" value="<?php echo $this->md5Calculated ?>" />
            <?php echo JHtml::_( 'form.token' ); ?>
            <table class="adminheading">
            </table>
            <table class="table table-striped">
              <tr>
                <td><strong><?php echo JText::_('COM_KUNENA_NUMBER_ITEMS'); ?>:</strong> <br />
                  <font color="#000066"><strong><?php echo count( $this->purgeitems ); ?></strong></font> <br />
                  <br />
                </td>
                <td  valign="top" width="25%"> <strong><?php echo JText::_('COM_KUNENA_ITEMS_BEING_DELETED'); ?>:</strong> <br />
                  <?php echo "<ol>";
							foreach ( $this->purgeitems as $item ) {
								echo "<li>". $this->escape($item->subject) ."</li>";
							}
							echo "</ol>";
						?> </td>
                <td valign="top"><span style="color:red;"><strong><?php echo JText::_('COM_KUNENA_PERM_DELETE_ITEMS'); ?></strong></span> </td>
              </tr>
            </table>
          </form>
        </div>
        <div class="pull-right small"> <?php echo KunenaVersion::getLongVersionHTML (); ?> </div>
      </div>
    </div>
  </div>
</div>