Project

General

Profile

Feature proposal #3690 » 3690.patch

krileon, 25 September 2012 19:24

View differences:

administrator/components/com_comprofiler/library/cb/cb.params.php
* @param mixed $params $_POST array or string escaped only if MAGIC_QUOTES are ON
* @return string The raw parms text always addslash-ESCAPED
*/
function getRawParamsMagicgpcEscaped( $params ) {
static function getRawParamsMagicgpcEscaped( $params ) {
$ret = self::getRawParamsUnescaped( $params, true );
if ( get_magic_quotes_gpc() ) {
return addslashes( $ret );
......
* @param boolean $checkMagicSlashes TRUE: if magic_quotes are ON, remove slashes, FALSE: never remove slashes
* @return string The raw parms text NEVER addslash-ESCAPED
*/
function getRawParamsUnescaped( $params, $checkMagicSlashes ) {
static function getRawParamsUnescaped( $params, $checkMagicSlashes ) {
if( is_array( $params ) ) {
$txt = array();
foreach ( $params as $k => $v ) {
......
if ( $this->_xml ) {
$element =& $this->_xml;
if ( $element && $element->name() == $this->_maintagname && $element->attributes( $this->_attrname ) == $this->_attrvalue) {
if ( $element != null && $element->name() == $this->_maintagname && $element->attributes( $this->_attrname ) == $this->_attrvalue) {
if ( $grand_parent_path != null ) {
$element =& $element->getElementByPath( $grand_parent_path );
if ( ! $element ) {
if ( $element == null ) {
return null;
}
}
if ( $parent_tag != null && $parent_attr != null && $parent_attrvalue != null ) {
$element =& $element->getChildByNameAttr( $parent_tag, $parent_attr, $parent_attrvalue );
if ( $element ) {
if ( $element != null ) {
if ( $tag_path ) {
$element =& $element->getElementByPath( $tag_path );
}
if ( $element ) {
if ( $element != null ) {
$this->_xmlElem =& $element;
}
}
} else {
$element =& $element->getElementByPath( $tag_path );
if ( $element ) {
if ( $element != null ) {
$this->_xmlElem =& $element;
}
}
......
}
}
if ( $this->_xmlElem ) {
if ( $this->_xmlElem != null ) {
$controllerView = new cbDrawController( $this->_xmlElem, $this->_actions, $this->_options );
$controllerView->setControl_name( $control_name );
......
/**
* special handling for textarea param
*/
function textareaHandling( &$txt ) {
static function textareaHandling( &$txt ) {
$total = count( $txt );
for( $i=0; $i < $total; $i++ ) {
if ( strstr( $txt[$i], "\n" ) ) {
components/com_comprofiler/plugin/user/plug_cbmenu/cb.menu.php
$this->menuid = $menuid;
}
// to be overriden:
function displayMenuItem($level, $idCounter) {
function displayMenuItem($level, $idCounter, $key=null) {
}
} // end class cbMenu
......
function cbMenuBest ( &$db ) {
$this->cbMenu($db);
}
function displayMenuItem($level, $idCounter, $key) {
function displayMenuItem($level, $idCounter, $key=null) {
$ret = '';
switch ($level) {
case 0:
......
function cbMenuCSS ( &$db ) {
$this->cbMenu($db);
}
function displayMenuItem($level, $idCounter) {
function displayMenuItem($level, $idCounter, $key=null) {
$ret = '';
switch ($level) {
case 0:
......
* @author Beat
*/
class cbMenuSucker extends cbMenu { // later: extends mosMenu
function displayMenuItem($level, $idCounter) {
function displayMenuItem($level, $idCounter, $key=null) {
$ret = '';
switch ($level) {
case 0:
......
function cbMenuTabList ( &$db ) {
$this->cbMenu($db);
}
function displayMenuItem($level, $idCounter) {
function displayMenuItem($level, $idCounter, $key=null) {
global $cbMenuTabListLastTopName;
$ret = '';
switch ($level) {
......
function cbMenuDivsList ( &$db ) {
$this->cbMenu($db);
}
function displayMenuItem($level, $idCounter) {
function displayMenuItem($level, $idCounter, $key=null) {
$ret = '';
switch ($level) {
case 0: // when only a text to diplay as whole menu!
......
} // end class cbDivsMenuHandler
class cbMenuULlist extends cbMenu {
function displayMenuItem($level, $idCounter) {
function displayMenuItem($level, $idCounter, $key=null) {
$ret = '';
$menuidClass = ' class="cbMenuItem cbMenuEogr' . ( $idCounter & 1 ? 2 : 1 )
. ( $this->menuid ? ' cbMenu' . $this->menuid : '' )
administrator/components/com_comprofiler/plugin.foundation.php
* @param array $array in/out
* @return array
*/
function & cbArrayToInts( &$array ) {
function & cbArrayToInts( $array ) {
foreach ( $array as $k => $v ) {
$array[$k] = (int) $v;
}
......
* @param moscomprofilerUser $user
* @return CBuser
*/
function & setUserGetCBUserInstance( & $user ) {
public static function & setUserGetCBUserInstance( & $user ) {
if ( is_object( $user ) ) {
return CBuser::_getOrSetInstance( $user );
} else {
......
$result = ! in_array( false, $login, true );
}
if ( $result ) {
$user =& JFactory::getUser();
$user = JFactory::getUser();
$this->_myId = (int) $user->id;
$this->_myUsername = $user->username;
$this->_myUserType = $user->usertype;
if ( checkJversion() >= 2 ) {
$this->_myCmsGid = null; // triggers re-load of access levels if even needed
$this->_myUserType = null;
} else {
$this->_myCmsGid = $user->get('aid', 0);
$this->_myUserType = $user->get('usertype', null);
}
$lang =& JFactory::getLanguage();
$lang = JFactory::getLanguage();
if ( checkJversion() == 2 ) {
$this->_myLanguage = strtolower( preg_replace( '/^(\w+).*$/i', '\1', $lang->getName() ) );
......
case 'useractivation':
case 'new_usertype':
if ( checkJversion() >= 1 ) {
$usersConfig = &JComponentHelper::getParams( 'com_users' );
$usersConfig = JComponentHelper::getParams( 'com_users' );
$setting = $usersConfig->get( $config );
if ( ( $config == 'new_usertype' ) && ( checkJversion() == 2 ) ) {
$query = 'SELECT ' . $this->_cmsDatabase->NameQuote( 'title' )
. "\n FROM " . $this->_cmsDatabase->NameQuote( '#__usergroups' )
. "\n WHERE " . $this->_cmsDatabase->NameQuote( 'id' ) . " = " . (int) $setting;
$this->_cmsDatabase->setQuery( $query );
$setting = $this->_cmsDatabase->loadResult();
$setting = $this->acl->get_group_name( (int) $setting );
}
if ( ( $config == 'new_usertype' ) && ! $setting ) {
$setting = 'Registered';
......
case 'hits':
case 'vote':
if ( checkJversion() >= 1 ) {
$contentConfig = &JComponentHelper::getParams( 'com_content' );
$contentConfig = JComponentHelper::getParams( 'com_content' );
return $contentConfig->get( 'show_' . $config );
}
break;
......
/**
* @deprecated CB 1.2.2 : keep in CB 1.x, remove in 2.0, but use without _ as of 1.2.2
*/
function _unhtmlentities( $string, $quotes = ENT_COMPAT, $charset = "ISO-8859-1" ) {
static function _unhtmlentities( $string, $quotes = ENT_COMPAT, $charset = "ISO-8859-1" ) {
$phpv = phpversion();
if ( version_compare( $phpv, '4.4.3', '<' )
|| ( version_compare( $phpv, '5.0.0', '>=' ) && version_compare( $phpv, '5.1.3', '<' ) )
......
case 2:
global $mainframe;
$mainframe =& JFactory::getApplication();
$tmpDatabase =& JFactory::getDBO();
$my =& JFactory::getUser();
$acl =& JFactory::getACL();
$mainframe = JFactory::getApplication();
$tmpDatabase = JFactory::getDBO();
$my = JFactory::getUser();
$acl = JFactory::getACL();
$myAid = null;
$myUsertype = null;
$sefFunc = array( 'JRoute', '_' );
$sefFuncHtmlEnt = false;
$cmsUser = 'JUser';
$cmsUserNeedsDb = false;
$cmsRedirectFunc = array( $mainframe, 'redirect' );
$lang =& JFactory::getLanguage();
$lang = JFactory::getLanguage();
$myLanguage = strtolower( preg_replace( '/^(\w+).*$/i', '\1', $lang->getName() ) );
$myLanguageTag = $lang->getTag();
$outputCharst = 'UTF-8';
$getVarFunction = array( 'JRequest', 'getVar' );
$Jdocument =& JFactory::getDocument();
$Jdocument = JFactory::getDocument();
if ( $Jdocument->getType() == 'html' ) {
$getDocFunction = array( 'JFactory', 'getDocument' );
......
$getDocFunction = false;
}
$editor =& JFactory::getEditor();
$editor = JFactory::getEditor();
$editorDisplay = array( 'display' => array( 'call' => array( $editor , 'display' ), 'args' => 'noid' ),
'save' => array( 'call' => array( $editor , 'save' ), 'args' => 'noid' ),
'returns' => true
......
break;
case 1:
global $mainframe; // $mainframe =& JFactory::getApplication();
$tmpDatabase =& JFactory::getDBO();
$my =& JFactory::getUser();
$acl =& JFactory::getACL();
$tmpDatabase = JFactory::getDBO();
$my = JFactory::getUser();
$acl = JFactory::getACL();
$myAid = $my->get('aid', 0);
$myUsertype = $my->get('usertype', null);
$sefFunc = array( 'JRoute', '_' );
$sefFuncHtmlEnt = false;
$cmsUser = 'JUser';
$cmsUserNeedsDb = false;
$cmsRedirectFunc = array( $mainframe, 'redirect' );
$lang =& JFactory::getLanguage();
$lang = JFactory::getLanguage();
$myLanguage = $lang->getBackwardLang();
$myLanguageTag = $lang->getTag();
$outputCharst = 'UTF-8';
$getVarFunction = array( 'JRequest', 'getVar' );
$Jdocument =& JFactory::getDocument();
$Jdocument = JFactory::getDocument();
if ( $Jdocument->getType() == 'html' ) {
$getDocFunction = array( 'JFactory', 'getDocument' );
} else {
$getDocFunction = false;
}
$editor =& JFactory::getEditor();
$editor = JFactory::getEditor();
//$editor->initialise();
$editorDisplay = array( 'display' => array( 'call' => array( $editor , 'display' ), 'args' => 'noid' ),
'save' => array( 'call' => array( $editor , 'save' ), 'args' => 'noid' ),
......
global $mainframe, $database, $my, $acl;
$tmpDatabase =& $database;
$myAid = $my->gid;
$myUsertype = $my->usertype;
$sefFunc = 'sefRelToAbs';
$sefFuncHtmlEnt = true;
$cmsUser = 'mosUser';
......
global $mainframe, $database, $my, $acl;
$tmpDatabase =& $database;
$myAid = $my->gid;
$myUsertype = $my->usertype;
$sefFunc = 'sefRelToAbs';
$sefFuncHtmlEnt = true;
$cmsUser = 'mosUser';
......
*/
global $_CB_framework;
$optionOfCb = 'com_comprofiler'; // cbGetParam( $_REQUEST, 'option', 'com_comprofiler' )
$_CB_framework = new CBframework( $mainframe, $tmpDatabase, $acl, $aclParams, $sefFunc, $sefFuncHtmlEnt, $cmsUser, $cmsUserNeedsDb, $cmsRedirectFunc, $my->id, $my->username, $my->usertype, $myAid, $myLanguage, $myLanguageTag, array( 'option' => $optionOfCb ), $getVarFunction, $getDocFunction, $outputCharst, $editorDisplay );
$_CB_framework = new CBframework( $mainframe, $tmpDatabase, $acl, $aclParams, $sefFunc, $sefFuncHtmlEnt, $cmsUser, $cmsUserNeedsDb, $cmsRedirectFunc, $my->id, $my->username, $myUsertype, $myAid, $myLanguage, $myLanguageTag, array( 'option' => $optionOfCb ), $getVarFunction, $getDocFunction, $outputCharst, $editorDisplay );
cbimport( 'cb.acl' );
$_CB_framework->acl = new CBACL( $acl );
administrator/components/com_comprofiler/install.comprofiler.php
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/
// ensure this file is being included by a parent file
// Ensure is being included by Joomla installer and not accessed directly:
if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }
// Try extending time, as unziping/ftping took already quite some... :
// Try to set timeout limit and memory limit to ensure a complete install as could take awhile:
@set_time_limit( 240 );
if ( version_compare( phpversion(), '5.0.0', '<' ) ) {
return;
}
$memMax = trim( @ini_get( 'memory_limit' ) );
$memMax = trim( @ini_get( 'memory_limit' ) );
if ( $memMax ) {
$last = strtolower( $memMax{strlen( $memMax ) - 1} );
switch( $last ) {
case 'g':
$memMax *= 1024;
......
case 'k':
$memMax *= 1024;
}
if ( $memMax < 16000000 ) {
@ini_set( 'memory_limit', '16M' );
}
if ( $memMax < 32000000 ) {
@ini_set( 'memory_limit', '32M' );
}
if ( $memMax < 48000000 ) {
@ini_set( 'memory_limit', '48M' );
}
if ( $memMax < 64000000 ) {
@ini_set( 'memory_limit', '64M' );
}
if ( $memMax < 80000000 ) {
@ini_set( 'memory_limit', '80M' );
}
......
ignore_user_abort( true );
/**
* CB framework
* @global CBframework $_CB_framework
*/
global $_CB_framework;
// Define J1.6 and greater installer class; does nothing on other versions:
class Com_ComprofilerInstallerScript {
/** @global string $_CB_adminpath
* @global string $_CB_joomla_adminpath
* @global array $ueConfig
*/
global $_CB_adminpath, $ueConfig, $mainframe;
if ( defined( 'JPATH_ADMINISTRATOR' ) ) {
$_CB_adminpath = JPATH_ADMINISTRATOR . '/components/com_comprofiler/';
} else {
$_CB_adminpath = $mainframe->getCfg( 'absolute_path' ). '/administrator/components/com_comprofiler/';
public function install( $parent ) {
return com_install();
}
}
if ( ! file_exists( $_CB_adminpath . 'ue_config.php' ) ) {
// CB configuration file does not exist ! we need to copy default to it !
include_once( $_CB_adminpath . 'library/cb/cb.adminfilesystem.php');
$adminFS =& cbAdminFileSystem::getInstance();
if ( ! $adminFS->copy( $_CB_adminpath . 'ue_config_first.php', $_CB_adminpath . 'ue_config.php' ) ) {
echo sprintf( 'Error copying initial configuration file in place from %s to %s', $_CB_adminpath . 'ue_config_first.php', $_CB_adminpath . 'ue_config.php' ) . "<br /><br />\n";
public function discover_install( $parent ) {
return $this->install( $parent );
}
}
include_once( $_CB_adminpath . 'plugin.foundation.php' );
$_CB_framework->cbset( '_ui', 2 ); // : we're in 1: frontend, 2: admin back-end
if( $_CB_framework->getCfg( 'debug' ) ) {
ini_set( 'display_errors', true );
error_reporting( E_ALL );
public function update( $parent ) {
return $this->install( $parent );
}
}
public function preflight( $type, $parent ) {
// Fix "Can not build admin menus" error on upgrades:
if ( ! in_array($type, array( 'install', 'discover_install' ) ) ) {
$db = JFactory::getDbo();
// Plugins are not yet installed: cbimport( 'language.front' );
cbimport( 'cb.tabs' );
cbimport( 'cb.adminfilesystem' );
cbimport( 'cb.xml.simplexml' );
cbimport( 'cb.dbchecker' );
$query = $db->getQuery( true );
$query->select( 'id' );
$query->from( '#__menu' );
$query->where( $db->qn( 'type' ) . ' = ' . $db->q( 'component' ) );
$query->where( $db->qn( 'menutype' ) . ' = ' . $db->q( 'main' ) );
$query->where( $db->qn( 'client_id' ) . ' = ' . $db->q( '1' ) );
$query->where( $db->qn( 'link' ) .' LIKE ' . $db->q( 'index.php?option=com_comprofiler%' ) );
$db->setQuery( $query );
$ids = $db->loadColumn();
if ( $ids ) foreach( $ids as $id ) {
$query = $db->getQuery( true );
$query->delete( '#__menu' );
$query->where( $db->qn( 'id' ) . ' = ' . $db->q( $id ) );
$db->setQuery( $query );
$db->query();
}
}
}
}
function cbInstaller_field_exists( $table, $field ) {
global $_CB_database;
static $cache = array();
static $cache = array();
if ( ! isset( $cache[$table] ) ) {
$tableDesc = $_CB_database->getTableFields( array( $table ) );
$tableDesc = $_CB_database->getTableFields( array( $table ) );
if ( isset( $tableDesc[$table] ) && is_array( $tableDesc[$table] ) ) {
$cache[$table] = $tableDesc[$table];
}
}
if ( isset( $cache[$table] ) ) {
return isset( $cache[$table][$field] );
}
return false;
}
// Complete install and upgrade of CB component:
function com_install() {
global $_CB_database, $_CB_framework;
global $_CB_framework, $_CB_database, $_CB_adminpath, $ueConfig, $mainframe;
// Ensure PHP version is adaquete for CB:
if ( version_compare( phpversion(), '5.0.0', '<' ) ) {
echo '<div class="cbError error" style="font-size:120%;color:red;font-weight:bold;margin-bottom:20px;">' . htmlspecialchars( sprintf( "As stated in README and prerequisites list, PHP Version %s, which is obsolete since 2008-08-08 and insecure, is not compatible with %s: Please upgrade to PHP %s or greater (CB is also compatible with PHP 5.3.x) as soon as possible.", phpversion(), 'Community Builder', sprintf( "at least version %s, recommended version %s", '5.0.0', '5.2.6' ) ) ) . '</div>';
echo '<div class="cbError error" style="font-size:140%;color:red;font-weight:bold;">' . htmlspecialchars( sprintf( 'Installation failed. In all cases, please require your hoster to upgrade your PHP version as soon as possible.' ) ) . '</div>';
return;
}
ob_start();
// Determine path to CBs backend file structure:
if ( defined( 'JPATH_ADMINISTRATOR' ) ) {
$_CB_adminpath = JPATH_ADMINISTRATOR . '/components/com_comprofiler/';
} else {
$_CB_adminpath = $mainframe->getCfg( 'absolute_path' ). '/administrator/components/com_comprofiler/';
}
# Show installation result to user
?>
<div style="text-align:left;">
<table width="100%" border="0">
<tr>
<td>
<img alt="CB Logo" src="../components/com_comprofiler/images/smcblogo.gif" />
</td>
</tr>
<tr>
<td>
<br />Copyright 2004-2012 MamboJoe/JoomlaJoe, Beat and CB team on joomlapolis.com . This component is released under the GNU/GPL version 2 License. All copyright statements must be kept. Derivate work must prominently duly acknowledge original work and include visible online links. Official site: <a href="http://www.joomlapolis.com">www.joomlapolis.com</a>
<br />
</td>
</tr>
<tr>
<td style="background-color:#F0F0F0;" colspan="2">
<code>Installation Process:<br />
<?php
// CB Configuration missing; try to copy default:
if ( ! file_exists( $_CB_adminpath . 'ue_config.php' ) ) {
include_once( $_CB_adminpath . 'library/cb/cb.adminfilesystem.php');
# Set up new icons for admin menu
if ( checkJversion() <= 1 ) {
// echo "Start correcting icons in administration backend.<br />";
if ( checkJversion() >= 1 ) {
$_CB_database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/static.png' WHERE admin_menu_link='option=com_comprofiler&task=showLists'");
} else {
$_CB_database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/content.png' WHERE admin_menu_link='option=com_comprofiler&task=showLists'");
$adminFS =& cbAdminFileSystem::getInstance();
if ( ! $adminFS->copy( $_CB_adminpath . 'ue_config_first.php', $_CB_adminpath . 'ue_config.php' ) ) {
echo sprintf( 'Error copying initial configuration file in place from %s to %s', $_CB_adminpath . 'ue_config_first.php', $_CB_adminpath . 'ue_config.php' ) . "<br /><br />\n";
return;
}
}
$iconresult[0] = $_CB_database->query();
$_CB_database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/content.png' WHERE admin_menu_link='option=com_comprofiler&task=showField'");
$iconresult[1] = $_CB_database->query();
}
include_once( $_CB_adminpath . 'plugin.foundation.php' );
// Set location to backend:
$_CB_framework->cbset( '_ui', 2 );
if ( $_CB_framework->getCfg( 'debug' ) ) {
ini_set( 'display_errors', true );
error_reporting( E_ALL );
}
// Load in CB API:
cbimport( 'cb.tabs' );
cbimport( 'cb.adminfilesystem' );
cbimport( 'cb.xml.simplexml' );
cbimport( 'cb.dbchecker' );
// Define CB backend filesystem API:
$adminFS =& cbAdminFileSystem::getInstance();
// If J1.6 or greater ensure XML and backend root component file is present:
if ( checkJversion() >= 2 ) {
if ( ! $adminFS->copy( $_CB_adminpath . 'comprofileg.xml', $_CB_adminpath . 'comprofiler.xml' ) ) {
echo sprintf( 'Error copying initial xml file in place from %s to %s', $_CB_adminpath . 'comprofileg.xml', $_CB_adminpath . 'comprofiler.xml' ) . "<br /><br />\n";
return false;
}
if ( ! $adminFS->copy( $_CB_adminpath . 'admin.comprofiler.php', $_CB_adminpath . 'comprofiler.php' ) ) {
echo sprintf( 'Error copying admin file in place from %s to %s', $_CB_adminpath . 'admin.comprofiler.php', $_CB_adminpath . 'comprofiler.php' ) . "<br /><br />\n";
return false;
}
}
$return = '<div style="text-align:left;margin-bottom:10px;">'
. '<table width="100%" border="0">'
. '<tr>'
. '<td>'
. '<img alt="CB Logo" src="../components/com_comprofiler/images/smcblogo.gif" />'
. '</td>'
. '</tr>'
. '<tr>'
. '<td>'
. '<br />Copyright 2004-2012 MamboJoe/JoomlaJoe, Beat and CB team on joomlapolis.com . This component is released under the GNU/GPL version 2 License. All copyright statements must be kept. Derivate work must prominently duly acknowledge original work and include visible online links. Official site: <a href="http://www.joomlapolis.com">www.joomlapolis.com</a><br />'
. '</td>'
. '</tr>'
. '<tr>'
. '<td style="background-color:#F0F0F0;" colspan="2">'
. '<code>'
. 'Installation Process:<br />';
// Fix admin menu links:
if ( checkJversion() >= 2 ) {
$query = 'SELECT ' . $_CB_database->NameQuote( 'extension_id' )
. "\n FROM " . $_CB_database->NameQuote( '#__extensions' )
. "\n WHERE " . $_CB_database->NameQuote( 'type' ) . " = " . $_CB_database->Quote( 'component' )
. "\n AND " . $_CB_database->NameQuote( 'element' ) . " = " . $_CB_database->Quote( 'com_comprofiler' )
. "\n ORDER BY " . $_CB_database->NameQuote( 'extension_id' ) . " DESC";
$_CB_database->setQuery( $query, 0, 1 );
$componentId = $_CB_database->loadResult();
if ( $componentId ) {
$query = 'UPDATE ' . $_CB_database->NameQuote( '#__menu' )
. "\n SET " . $_CB_database->NameQuote( 'component_id' ) . " = " . (int) $componentId
. "\n WHERE " . $_CB_database->NameQuote( 'type' ) . " = " . $_CB_database->Quote( 'component' )
. "\n AND " . $_CB_database->NameQuote( 'link' ) . " LIKE " . $_CB_database->Quote( '%option=com_comprofiler%' );
$_CB_database->setQuery( $query );
$_CB_database->query();
}
} elseif ( checkJversion() <= 1 ) {
$iconResults = array();
// Userlist Management icon:
if ( checkJversion() >= 1 ) {
if ( checkJversion() >= 1 ) {
$_CB_database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/article.png' WHERE admin_menu_link='option=com_comprofiler&task=showTab'");
$icon = 'js/ThemeOffice/static.png';
} else {
} else {
$_CB_database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/content.png' WHERE admin_menu_link='option=com_comprofiler&task=showTab'");
$icon = 'js/ThemeOffice/content.png';
}
}
$iconresult[2] = $_CB_database->query();
$_CB_database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/config.png' WHERE admin_menu_link='option=com_comprofiler&task=showconfig'");
$iconresult[3] = $_CB_database->query();
$query = 'UPDATE ' . $_CB_database->NameQuote( '#__components' )
. "\n SET " . $_CB_database->NameQuote( 'admin_menu_img' ) . " = " . $_CB_database->Quote( $icon )
. "\n WHERE " . $_CB_database->NameQuote( 'admin_menu_link' ) . " = " . $_CB_database->Quote( 'option=com_comprofiler&task=showLists' );
$_CB_database->setQuery( $query );
$iconResults[0] = $_CB_database->query();
// Field Management icon:
$query = 'UPDATE ' . $_CB_database->NameQuote( '#__components' )
. "\n SET " . $_CB_database->NameQuote( 'admin_menu_img' ) . " = " . $_CB_database->Quote( 'js/ThemeOffice/content.png' )
. "\n WHERE " . $_CB_database->NameQuote( 'admin_menu_link' ) . " = " . $_CB_database->Quote( 'option=com_comprofiler&task=showField' );
$_CB_database->setQuery( $query );
$iconResults[1] = $_CB_database->query();
// Tab Management iocn:
if ( checkJversion() >= 1 ) {
if ( checkJversion() >= 1 ) {
$_CB_database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/user.png' WHERE admin_menu_link='option=com_comprofiler&task=showusers'");
$icon = 'js/ThemeOffice/article.png';
} else {
} else {
$_CB_database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/users.png' WHERE admin_menu_link='option=com_comprofiler&task=showusers'");
$icon = 'js/ThemeOffice/content.png';
}
}
$iconresult[4] = $_CB_database->query();
$query = 'UPDATE ' . $_CB_database->NameQuote( '#__components' )
. "\n SET " . $_CB_database->NameQuote( 'admin_menu_img' ) . " = " . $_CB_database->Quote( $icon )
. "\n WHERE " . $_CB_database->NameQuote( 'admin_menu_link' ) . " = " . $_CB_database->Quote( 'option=com_comprofiler&task=showTab' );
$_CB_database->setQuery( $query );
$iconResults[2] = $_CB_database->query();
// Configuration icon:
$query = 'UPDATE ' . $_CB_database->NameQuote( '#__components' )
. "\n SET " . $_CB_database->NameQuote( 'admin_menu_img' ) . " = " . $_CB_database->Quote( 'js/ThemeOffice/config.png' )
. "\n WHERE " . $_CB_database->NameQuote( 'admin_menu_link' ) . " = " . $_CB_database->Quote( 'option=com_comprofiler&task=showconfig' );
$_CB_database->setQuery( $query );
$iconResults[3] = $_CB_database->query();
// User Management icon:
if ( checkJversion() >= 1 ) {
if ( checkJversion() >= 1 ) {
$_CB_database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/plugin.png' WHERE admin_menu_link='option=com_comprofiler&task=showPlugins'");
$icon = 'js/ThemeOffice/user.png';
} else {
} else {
$_CB_database->setQuery("UPDATE #__components SET admin_menu_img='js/ThemeOffice/install.png' WHERE admin_menu_link='option=com_comprofiler&task=showPlugins'");
$icon = 'js/ThemeOffice/users.png';
}
}
$iconresult[5] = $_CB_database->query();
$_CB_database->setQuery("UPDATE #__components SET admin_menu_img='../components/com_comprofiler/plugin/templates/luna/images/header/icon-16-cb.png' WHERE admin_menu_link='option=com_comprofiler'");
$iconresult[6] = $_CB_database->query();
/* Despite numerous abstractions-level, the name of the component isn't taken from SQL but from xml <name> , same field as used to find comprofiler, so we can't display nicely:
$query = 'UPDATE ' . $_CB_database->NameQuote( '#__components' )
. "\n SET " . $_CB_database->NameQuote( 'admin_menu_img' ) . " = " . $_CB_database->Quote( $icon )
. "\n WHERE " . $_CB_database->NameQuote( 'admin_menu_link' ) . " = " . $_CB_database->Quote( 'option=com_comprofiler&task=showusers' );
$_CB_database->setQuery( $query );
$iconResults[4] = $_CB_database->query();
// Plugin Management icon:
if ( checkJversion() >= 1 ) {
if ( checkJversion() >= 1 ) {
$_CB_database->setQuery("UPDATE #__components SET name='Community Builder' WHERE admin_menu_link='option=com_comprofiler'");
$iconresult[7] = $_CB_database->query();
}
*/
foreach ($iconresult as $i=>$icresult) {
if ($icresult) {
// echo "<font color='green'>FINISHED:</font> Image of menu entry $i has been corrected.<br />";
$icon = 'js/ThemeOffice/plugin.png';
} else {
} else {
echo "<font color='red'>ERROR:</font> Image of administration menu entry $i could not be corrected.<br />";
$icon = 'js/ThemeOffice/install.png';
}
}
$query = 'UPDATE ' . $_CB_database->NameQuote( '#__components' )
. "\n SET " . $_CB_database->NameQuote( 'admin_menu_img' ) . " = " . $_CB_database->Quote( $icon )
. "\n WHERE " . $_CB_database->NameQuote( 'admin_menu_link' ) . " = " . $_CB_database->Quote( 'option=com_comprofiler&task=showPlugins' );
$_CB_database->setQuery( $query );
$iconResults[5] = $_CB_database->query();
// Community Builder icon:
$query = 'UPDATE ' . $_CB_database->NameQuote( '#__components' )
. "\n SET " . $_CB_database->NameQuote( 'admin_menu_img' ) . " = " . $_CB_database->Quote( '../components/com_comprofiler/plugin/templates/luna/images/header/icon-16-cb.png' )
. "\n WHERE " . $_CB_database->NameQuote( 'admin_menu_link' ) . " = " . $_CB_database->Quote( 'option=com_comprofiler' );
$_CB_database->setQuery( $query );
$iconResults[6] = $_CB_database->query();
foreach ( $iconResults as $i => $iconResult ) {
if ( ! $iconResult ) {
$return .= '<span style="color:red;">ERROR:</span> Image of administration menu entry $i could not be corrected.<br />';
}
}
$_CB_database->setQuery("SELECT COUNT(*) FROM #__components WHERE link = 'option=com_comprofiler'");
$components = $_CB_database->loadresult();
IF($components >= 1) {
$_CB_database->setQuery("SELECT id FROM #__components WHERE link = 'option=com_comprofiler' ORDER BY id DESC", 0, 1);
$comid = (int) $_CB_database->loadresult();
$_CB_database->setQuery("DELETE FROM #__components WHERE link = 'option=com_comprofiler' AND id != $comid ");
}
// Delete invalid components:
$query = 'SELECT COUNT(*)'
. "\n FROM " . $_CB_database->NameQuote( '#__components' )
. "\n WHERE " . $_CB_database->NameQuote( 'link' ) . " = " . $_CB_database->Quote( 'option=com_comprofiler' );
$_CB_database->setQuery( $query );
$components = $_CB_database->loadResult();
if ( $components >= 1 ) {
$query = 'SELECT ' . $_CB_database->NameQuote( 'id' )
. "\n FROM " . $_CB_database->NameQuote( '#__components' )
. "\n WHERE " . $_CB_database->NameQuote( 'link' ) . " = " . $_CB_database->Quote( 'option=com_comprofiler' )
. "\n ORDER BY " . $_CB_database->NameQuote( 'id' ) . " DESC";
$_CB_database->setQuery( $query, 0, 1 );
$componentId = $_CB_database->loadResult();
if ( $componentId ) {
$query = 'DELETE '
. "\n FROM " . $_CB_database->NameQuote( '#__components' )
. "\n WHERE " . $_CB_database->NameQuote( 'link' ) . " = " . $_CB_database->Quote( 'option=com_comprofiler' )
. "\n AND " . $_CB_database->NameQuote( 'id' ) . " != " . (int) $componentId;
$_CB_database->setQuery( $query );
$_CB_database->query();
$_CB_database->query();
$_CB_database->setQuery("DELETE FROM #__components WHERE #__components.option = 'com_comprofiler' AND parent != $comid AND id != $comid ");
$query = 'DELETE '
. "\n FROM " . $_CB_database->NameQuote( '#__components' )
. "\n WHERE " . $_CB_database->NameQuote( 'option' ) . " = " . $_CB_database->Quote( 'com_comprofiler' )
. "\n AND " . $_CB_database->NameQuote( 'id' ) . " != " . (int) $componentId
. "\n AND " . $_CB_database->NameQuote( 'parent' ) . " != " . (int) $componentId;
$_CB_database->setQuery( $query );
$_CB_database->query();
$_CB_database->query();
// update front-end menus component id:
$_CB_database->setQuery("UPDATE #__menu SET componentid=" . $comid . " WHERE type = 'component' AND link LIKE '%option=com_comprofiler%'");
$query = 'UPDATE ' . $_CB_database->NameQuote( '#__menu' )
. "\n SET " . $_CB_database->NameQuote( 'componentid' ) . " = " . (int) $componentId
. "\n WHERE " . $_CB_database->NameQuote( 'type' ) . " = " . $_CB_database->Quote( 'component' )
. "\n AND " . $_CB_database->NameQuote( 'link' ) . " LIKE " . $_CB_database->Quote( '%option=com_comprofiler%' );
$_CB_database->setQuery( $query );
$_CB_database->query();
$_CB_database->query();
echo "<font color='green'>Administrator and frontend menus corrected.</font><br />";
}
}
$return .= '<span style="color:green;">Administrator and frontend menus corrected.</span><br />';
}
}
}
//Manage Database Upgrades
$MCBUpgrades = array();
$dbUpgrades = array();
//Beta 3 Upgrade
$MCBUpgrades[0]['test'] = array( 'default', '#__comprofiler_lists' );
$MCBUpgrades[0]['updates'][0] = "ALTER TABLE `#__comprofiler_lists`"
// Beta 3 upgrades:
$dbUpgrades[0]['test'] = array( 'default', '#__comprofiler_lists' );
$dbUpgrades[0]['updates'][0] = "ALTER TABLE `#__comprofiler_lists`"
."\n ADD `default` TINYINT( 1 ) DEFAULT '0' NOT NULL,"
. "\n ADD `default` TINYINT( 1 ) DEFAULT '0' NOT NULL,"
."\n ADD `usergroupids` VARCHAR( 255 ),"
. "\n ADD `usergroupids` VARCHAR( 255 ),"
."\n ADD `sortfields` VARCHAR( 255 ),"
. "\n ADD `sortfields` VARCHAR( 255 ),"
."\n ADD `ordering` INT( 11 ) DEFAULT '0' NOT NULL AFTER `published`";
. "\n ADD `ordering` INT( 11 ) DEFAULT '0' NOT NULL AFTER `published`";
$MCBUpgrades[0]['updates'][1] = "UPDATE #__comprofiler_lists SET `default`=1 WHERE published =1";
$MCBUpgrades[0]['updates'][2] = "UPDATE #__comprofiler_lists SET usergroupids = '29, 18, 19, 20, 21, 30, 23, 24, 25', sortfields = '`username` ASC'";
$MCBUpgrades[0]['updates'][3] = "ALTER TABLE `#__comprofiler` ADD `acceptedterms` TINYINT( 1 ) DEFAULT '0' NOT NULL AFTER `bannedreason`";
$MCBUpgrades[0]['message'] = "1.0 Beta 2 to 1.0 Beta 3";
$dbUpgrades[0]['updates'][1] = "UPDATE #__comprofiler_lists SET `default`=1 WHERE published =1";
$dbUpgrades[0]['updates'][2] = "UPDATE #__comprofiler_lists SET usergroupids = '29, 18, 19, 20, 21, 30, 23, 24, 25', sortfields = '`username` ASC'";
$dbUpgrades[0]['updates'][3] = "ALTER TABLE `#__comprofiler` ADD `acceptedterms` TINYINT( 1 ) DEFAULT '0' NOT NULL AFTER `bannedreason`";
$dbUpgrades[0]['message'] = "1.0 Beta 2 to 1.0 Beta 3";
//Beta 4 Upgrade
$MCBUpgrades[1]['test'] = array( 'firstname', '#__comprofiler' );
$MCBUpgrades[1]['updates'][0] = "ALTER TABLE #__comprofiler ADD `firstname` VARCHAR( 100 ) AFTER `user_id` ,"
// Beta 4 upgrades:
$dbUpgrades[1]['test'] = array( 'firstname', '#__comprofiler' );
$dbUpgrades[1]['updates'][0] = "ALTER TABLE #__comprofiler ADD `firstname` VARCHAR( 100 ) AFTER `user_id` ,"
."\n ADD `middlename` VARCHAR( 100 ) AFTER `firstname` ,"
. "\n ADD `middlename` VARCHAR( 100 ) AFTER `firstname` ,"
."\n ADD `lastname` VARCHAR( 100 ) AFTER `middlename` ";
. "\n ADD `lastname` VARCHAR( 100 ) AFTER `middlename` ";
$MCBUpgrades[1]['updates'][1] = "ALTER TABLE `#__comprofiler_fields` ADD `readonly` TINYINT( 1 ) DEFAULT '0' NOT NULL AFTER `profile`";
$MCBUpgrades[1]['updates'][3] = "ALTER TABLE `#__comprofiler_tabs` ADD `width` VARCHAR( 10 ) DEFAULT '.5' NOT NULL AFTER `ordering` ,"
$dbUpgrades[1]['updates'][1] = "ALTER TABLE `#__comprofiler_fields` ADD `readonly` TINYINT( 1 ) DEFAULT '0' NOT NULL AFTER `profile`";
$dbUpgrades[1]['updates'][3] = "ALTER TABLE `#__comprofiler_tabs` ADD `width` VARCHAR( 10 ) DEFAULT '.5' NOT NULL AFTER `ordering` ,"
."\n ADD `enabled` TINYINT( 1 ) DEFAULT '1' NOT NULL AFTER `width` ,"
. "\n ADD `enabled` TINYINT( 1 ) DEFAULT '1' NOT NULL AFTER `width` ,"
."\n ADD `plugin` VARCHAR( 255 ) DEFAULT NULL AFTER `enabled`" ;
. "\n ADD `plugin` VARCHAR( 255 ) DEFAULT NULL AFTER `enabled`" ;
$dbUpgrades[1]['message'] = "1.0 Beta 3 to 1.0 Beta 4";
$MCBUpgrades[1]['message'] = "1.0 Beta 3 to 1.0 Beta 4";
//RC 1 Upgrade
$MCBUpgrades[2]['test'] = array( 'fields', '#__comprofiler_tabs' );
$MCBUpgrades[2]['updates'][0] = "ALTER TABLE #__comprofiler_tabs ADD `plugin_include` VARCHAR( 255 ) AFTER `plugin` ,"
// RC 1 upgrades:
$dbUpgrades[2]['test'] = array( 'fields', '#__comprofiler_tabs' );
$dbUpgrades[2]['updates'][0] = "ALTER TABLE #__comprofiler_tabs ADD `plugin_include` VARCHAR( 255 ) AFTER `plugin` ,"
."\n ADD `fields` TINYINT( 1 ) DEFAULT '1' NOT NULL AFTER `plugin_include` ";
. "\n ADD `fields` TINYINT( 1 ) DEFAULT '1' NOT NULL AFTER `plugin_include` ";
$MCBUpgrades[2]['updates'][1] = "INSERT INTO `#__comprofiler_tabs` ( `title`, `description`, `ordering`, `width`, `enabled`, `plugin`, `plugin_include`, `fields`, `sys`) VALUES "
$dbUpgrades[2]['updates'][1] = "INSERT INTO `#__comprofiler_tabs` ( `title`, `description`, `ordering`, `width`, `enabled`, `plugin`, `plugin_include`, `fields`, `sys`) VALUES "
."\n ( '_UE_CONTACT_INFO_HEADER', '', -4, '1', 1, 'getContactTab', NULL, 1, 1),"
. "\n ( '_UE_CONTACT_INFO_HEADER', '', -4, '1', 1, 'getContactTab', NULL, 1, 1),"
."\n ( '_UE_AUTHORTAB', '', -3, '1', 0, 'getAuthorTab', NULL, 0, 1),"
. "\n ( '_UE_AUTHORTAB', '', -3, '1', 0, 'getAuthorTab', NULL, 0, 1),"
."\n ( '_UE_FORUMTAB', '', -2, '1', 0, 'getForumTab', NULL, 0, 1),"
. "\n ( '_UE_FORUMTAB', '', -2, '1', 0, 'getForumTab', NULL, 0, 1),"
."\n ( '_UE_BLOGTAB', '', -1, '1', 0, 'getBlogTab', NULL, 0, 1);";
. "\n ( '_UE_BLOGTAB', '', -1, '1', 0, 'getBlogTab', NULL, 0, 1);";
$MCBUpgrades[2]['updates'][2] = "ALTER TABLE `#__comprofiler_lists` ADD `filterfields` VARCHAR( 255 ) AFTER `sortfields`;";
$MCBUpgrades[2]['message'] = "1.0 Beta 4 to 1.0 RC 1";
$dbUpgrades[2]['updates'][2] = "ALTER TABLE `#__comprofiler_lists` ADD `filterfields` VARCHAR( 255 ) AFTER `sortfields`;";
$dbUpgrades[2]['message'] = "1.0 Beta 4 to 1.0 RC 1";
//RC 2 Upgrade
$MCBUpgrades[3]['test'] = array( 'description', '#__comprofiler_fields' );
$MCBUpgrades[3]['updates'][0] = "ALTER TABLE `#__comprofiler_fields` ADD `description` MEDIUMTEXT NOT NULL default '' AFTER `title` ";
$MCBUpgrades[3]['updates'][1] = "ALTER TABLE `#__comprofiler_fields` CHANGE `title` `title` VARCHAR( 255 ) NOT NULL";
$MCBUpgrades[3]['updates'][2] = "INSERT INTO `#__comprofiler_tabs` (`title`, `description`, `ordering`, `width`, `enabled`, `plugin`, `plugin_include`, `fields`, `sys`) VALUES "
// RC 2 Part 1 upgrades:
$dbUpgrades[3]['test'] = array( 'description', '#__comprofiler_fields' );
$dbUpgrades[3]['updates'][0] = "ALTER TABLE `#__comprofiler_fields` ADD `description` MEDIUMTEXT NOT NULL default '' AFTER `title` ";
$dbUpgrades[3]['updates'][1] = "ALTER TABLE `#__comprofiler_fields` CHANGE `title` `title` VARCHAR( 255 ) NOT NULL";
$dbUpgrades[3]['updates'][2] = "INSERT INTO `#__comprofiler_tabs` (`title`, `description`, `ordering`, `width`, `enabled`, `plugin`, `plugin_include`, `fields`, `sys`) VALUES "
."\n ( '_UE_CONNECTION', '',99, '1', 0, 'getConnectionTab', NULL, 0, 1);";
. "\n ( '_UE_CONNECTION', '',99, '1', 0, 'getConnectionTab', NULL, 0, 1);";
$MCBUpgrades[3]['updates'][3] = "INSERT INTO `#__comprofiler_tabs` (`title`, `description`, `ordering`, `width`, `enabled`, `plugin`, `plugin_include`, `fields`, `sys`) VALUES "
$dbUpgrades[3]['updates'][3] = "INSERT INTO `#__comprofiler_tabs` (`title`, `description`, `ordering`, `width`, `enabled`, `plugin`, `plugin_include`, `fields`, `sys`) VALUES "
."\n ( '_UE_NEWSLETTER_HEADER', '_UE_NEWSLETTER_INTRODCUTION', 99, '1', 0, 'getNewslettersTab', NULL, 0, 1);";
. "\n ( '_UE_NEWSLETTER_HEADER', '_UE_NEWSLETTER_INTRODCUTION', 99, '1', 0, 'getNewslettersTab', NULL, 0, 1);";
$MCBUpgrades[3]['updates'][4] = "UPDATE `#__comprofiler_tabs` SET sys=2, enabled=1 WHERE plugin='getContactTab' ";
$MCBUpgrades[3]['updates'][5] = "ALTER TABLE `#__comprofiler_lists` ADD `useraccessgroupid` INT( 9 ) DEFAULT '18' NOT NULL AFTER `usergroupids` ";
$MCBUpgrades[3]['message'] = "1.0 RC 1 to 1.0 RC 2 part 1";
$dbUpgrades[3]['updates'][4] = "UPDATE `#__comprofiler_tabs` SET sys=2, enabled=1 WHERE plugin='getContactTab' ";
$dbUpgrades[3]['updates'][5] = "ALTER TABLE `#__comprofiler_lists` ADD `useraccessgroupid` INT( 9 ) DEFAULT '18' NOT NULL AFTER `usergroupids` ";
$dbUpgrades[3]['message'] = "1.0 RC 1 to 1.0 RC 2 part 1";
$MCBUpgrades[4]['test'] = array( 'params', '#__comprofiler_tabs' );
$MCBUpgrades[4]['updates'][0] = "ALTER TABLE `#__comprofiler_tabs` CHANGE `plugin` `pluginclass` VARCHAR( 255 ) DEFAULT NULL , "
// RC 2 Part 2 upgrades:
$dbUpgrades[4]['test'] = array( 'params', '#__comprofiler_tabs' );
$dbUpgrades[4]['updates'][0] = "ALTER TABLE `#__comprofiler_tabs` CHANGE `plugin` `pluginclass` VARCHAR( 255 ) DEFAULT NULL , "
."\n CHANGE `plugin_include` `pluginid` INT( 11 ) DEFAULT NULL ";
. "\n CHANGE `plugin_include` `pluginid` INT( 11 ) DEFAULT NULL ";
$MCBUpgrades[4]['updates'][1] = "ALTER TABLE `#__comprofiler_tabs` ADD `params` MEDIUMTEXT AFTER `fields` ;";
$MCBUpgrades[4]['updates'][2] = "ALTER TABLE `#__comprofiler_fields` ADD `pluginid` INT( 11 ) , "
$dbUpgrades[4]['updates'][1] = "ALTER TABLE `#__comprofiler_tabs` ADD `params` MEDIUMTEXT AFTER `fields` ;";
$dbUpgrades[4]['updates'][2] = "ALTER TABLE `#__comprofiler_fields` ADD `pluginid` INT( 11 ) , "
."\n ADD `params` MEDIUMTEXT; ";
. "\n ADD `params` MEDIUMTEXT; ";
$MCBUpgrades[4]['updates'][3] = "UPDATE `#__comprofiler_tabs` SET pluginid=1 WHERE pluginclass='getContactTab' ";
$MCBUpgrades[4]['updates'][4] = "UPDATE `#__comprofiler_tabs` SET pluginid=1 WHERE pluginclass='getConnectionTab' ";
$MCBUpgrades[4]['updates'][5] = "UPDATE `#__comprofiler_tabs` SET pluginid=3 WHERE pluginclass='getAuthorTab' ";
$MCBUpgrades[4]['updates'][6] = "UPDATE `#__comprofiler_tabs` SET pluginid=4 WHERE pluginclass='getForumTab' ";
$MCBUpgrades[4]['updates'][7] = "UPDATE `#__comprofiler_tabs` SET pluginid=5 WHERE pluginclass='getBlogTab' ";
$MCBUpgrades[4]['updates'][8] = "UPDATE `#__comprofiler_tabs` SET pluginid=6 WHERE pluginclass='getNewslettersTab' ";
$MCBUpgrades[4]['message'] = "1.0 RC 1 to 1.0 RC 2 part 2";
$dbUpgrades[4]['updates'][3] = "UPDATE `#__comprofiler_tabs` SET pluginid=1 WHERE pluginclass='getContactTab' ";
$dbUpgrades[4]['updates'][4] = "UPDATE `#__comprofiler_tabs` SET pluginid=1 WHERE pluginclass='getConnectionTab' ";
$dbUpgrades[4]['updates'][5] = "UPDATE `#__comprofiler_tabs` SET pluginid=3 WHERE pluginclass='getAuthorTab' ";
$dbUpgrades[4]['updates'][6] = "UPDATE `#__comprofiler_tabs` SET pluginid=4 WHERE pluginclass='getForumTab' ";
$dbUpgrades[4]['updates'][7] = "UPDATE `#__comprofiler_tabs` SET pluginid=5 WHERE pluginclass='getBlogTab' ";
$dbUpgrades[4]['updates'][8] = "UPDATE `#__comprofiler_tabs` SET pluginid=6 WHERE pluginclass='getNewslettersTab' ";
$dbUpgrades[4]['message'] = "1.0 RC 1 to 1.0 RC 2 part 2";
$MCBUpgrades[5]['test'] = array( 'position', '#__comprofiler_tabs' );
$MCBUpgrades[5]['updates'][1] = "ALTER TABLE `#__comprofiler_tabs`"
// RC 2 Part 3 upgrades:
$dbUpgrades[5]['test'] = array( 'position', '#__comprofiler_tabs' );
$dbUpgrades[5]['updates'][1] = "ALTER TABLE `#__comprofiler_tabs`"
."\n ADD `position` VARCHAR( 255 ) DEFAULT '' NOT NULL,"
. "\n ADD `position` VARCHAR( 255 ) DEFAULT '' NOT NULL,"
."\n ADD `displaytype` VARCHAR( 255 ) DEFAULT '' NOT NULL AFTER `sys`";
. "\n ADD `displaytype` VARCHAR( 255 ) DEFAULT '' NOT NULL AFTER `sys`";
$MCBUpgrades[5]['updates'][2] = "UPDATE `#__comprofiler_tabs` SET position='cb_tabmain', displaytype='tab' ";
$MCBUpgrades[5]['updates'][3] = "INSERT INTO `#__comprofiler_tabs` (`title`, `description`, `ordering`, `width`, `enabled`, `pluginclass`, `pluginid`, `fields`, `sys`, `position`, `displaytype`) VALUES "
$dbUpgrades[5]['updates'][2] = "UPDATE `#__comprofiler_tabs` SET position='cb_tabmain', displaytype='tab' ";
$dbUpgrades[5]['updates'][3] = "INSERT INTO `#__comprofiler_tabs` (`title`, `description`, `ordering`, `width`, `enabled`, `pluginclass`, `pluginid`, `fields`, `sys`, `position`, `displaytype`) VALUES "
."\n ( '_UE_MENU', '', -10, '1', 1, 'getMenuTab', 14, 0, 1, 'cb_head', 'html'),"
. "\n ( '_UE_MENU', '', -10, '1', 1, 'getMenuTab', 14, 0, 1, 'cb_head', 'html'),"
."\n ( '_UE_CONNECTIONPATHS', '', -9, '1', 1, 'getConnectionPathsTab', 2, 0, 1, 'cb_head', 'html'),"
. "\n ( '_UE_CONNECTIONPATHS', '', -9, '1', 1, 'getConnectionPathsTab', 2, 0, 1, 'cb_head', 'html'),"
."\n ( '_UE_PROFILE_PAGE_TITLE', '', -8, '1', 1, 'getPageTitleTab', 1, 0, 1, 'cb_head', 'html'),"
. "\n ( '_UE_PROFILE_PAGE_TITLE', '', -8, '1', 1, 'getPageTitleTab', 1, 0, 1, 'cb_head', 'html'),"
."\n ( '_UE_PORTRAIT', '', -7, '1', 1, 'getPortraitTab', 1, 0, 1, 'cb_middle', 'html'),"
. "\n ( '_UE_PORTRAIT', '', -7, '1', 1, 'getPortraitTab', 1, 0, 1, 'cb_middle', 'html'),"
."\n ( '_UE_USER_STATUS', '', -6, '.5', 1, 'getStatusTab', 14, 0, 1, 'cb_right', 'html'),"
. "\n ( '_UE_USER_STATUS', '', -6, '.5', 1, 'getStatusTab', 14, 0, 1, 'cb_right', 'html'),"
."\n ( '_UE_PMSTAB', '', -5, '.5', 0, 'getmypmsproTab', 15, 0, 1, 'cb_right', 'html');";
. "\n ( '_UE_PMSTAB', '', -5, '.5', 0, 'getmypmsproTab', 15, 0, 1, 'cb_right', 'html');";
$MCBUpgrades[5]['updates'][5] = "UPDATE `#__comprofiler_tabs` SET pluginid=2 WHERE pluginclass='getConnectionTab' ";
$MCBUpgrades[5]['updates'][6] = "ALTER TABLE `#__comprofiler_members` ADD `reason` MEDIUMTEXT default NULL AFTER `membersince` ";
$MCBUpgrades[5]['updates'][7] = "UPDATE `#__comprofiler_tabs` SET `pluginclass`=NULL, `pluginid`=NULL WHERE `pluginclass` != 'getContactTab' AND `fields` = 1";
// this is from build 10 to 11:
// changed back sys=3 -> 1 for _UE_MENU and _UE_USER_STATUS
// $MCBUpgrades[5]['updates'][8] = "ALTER TABLE `#__comprofiler_fields` CHANGE `default` `default` MEDIUMTEXT DEFAULT NULL";
// this last one is only for upgrades from build 8 to 9.
$MCBUpgrades[5]['message'] = "1.0 RC 1 to 1.0 RC 2 part 3";
$dbUpgrades[5]['updates'][5] = "UPDATE `#__comprofiler_tabs` SET pluginid=2 WHERE pluginclass='getConnectionTab' ";
$dbUpgrades[5]['updates'][6] = "ALTER TABLE `#__comprofiler_members` ADD `reason` MEDIUMTEXT default NULL AFTER `membersince` ";
$dbUpgrades[5]['updates'][7] = "UPDATE `#__comprofiler_tabs` SET `pluginclass`=NULL, `pluginid`=NULL WHERE `pluginclass` != 'getContactTab' AND `fields` = 1";
$dbUpgrades[5]['message'] = "1.0 RC 1 to 1.0 RC 2 part 3";
// from 1.0.1 to 1.0.2: (includes RC2 to 1.0):
$MCBUpgrades[6]['test'] = array( 'cbactivation', '#__comprofiler' );
// from RC2 to 1.0 stable: in fact did it always up to now, since we can alter tables indefinitely.
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_fields` CHANGE `default` `default` MEDIUMTEXT DEFAULT NULL;";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_fields` CHANGE `tabid` `tabid` int(11) DEFAULT NULL;";
$MCBUpgrades[6]['updates'][] = "UPDATE `#__users` SET usertype='Registered' WHERE usertype='';"; // fix effect of previous bug in CB registration
// $MCBUpgrades[6]['message'] = "1.0 RC 2 to 1.0 stable";
// from 1.0.1 to 1.0.2: (includes RC2 to 1.0):
$MCBUpgrades[6]['updates'][] = "UPDATE `#__comprofiler_fields` SET `table`='#__users' WHERE name='email';";
$MCBUpgrades[6]['updates'][] = "UPDATE `#__comprofiler_fields` SET `table`='#__users' WHERE name='lastvisitDate';";
$MCBUpgrades[6]['updates'][] = "UPDATE `#__comprofiler_fields` SET `table`='#__users' WHERE name='registerDate';";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE #__comprofiler ADD `registeripaddr` VARCHAR( 50 ) DEFAULT '' NOT NULL AFTER `lastupdatedate`;";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE #__comprofiler ADD `cbactivation` VARCHAR( 50 ) DEFAULT '' NOT NULL AFTER `registeripaddr`;";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE #__comprofiler ADD `message_last_sent` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `hits`;";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE #__comprofiler ADD `message_number_sent` INT( 11 ) DEFAULT 0 NOT NULL AFTER `message_last_sent`;";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_field_values` ADD INDEX fieldid_ordering (`fieldid`, `ordering` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_fields` ADD INDEX `tabid_pub_prof_order` ( `tabid` , `published` , `profile` , `ordering` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_fields` ADD INDEX `readonly_published_tabid` ( `readonly` , `published` , `tabid` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_fields` ADD INDEX `registration_published_order` ( `registration` , `published` , `ordering` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_members` ADD INDEX `pamr` ( `pending` , `accepted` , `memberid` , `referenceid` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_members` ADD INDEX `aprm` ( `accepted` , `pending` , `referenceid` , `memberid` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_members` ADD INDEX `membrefid` ( `memberid` , `referenceid` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_plugin` ADD INDEX `type_pub_order` ( `type` , `published` , `ordering` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_tabs` ADD INDEX `enabled_position_ordering` ( `enabled` , `position` , `ordering` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_lists` ADD INDEX `pub_ordering` ( `published` , `ordering` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_lists` ADD INDEX `default_published` ( `default` , `published` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_userreports` ADD INDEX `status_user_date` ( `reportedstatus` , `reporteduser` , `reportedondate` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_userreports` ADD INDEX `reportedbyuser_ondate` ( `reportedbyuser` , `reportedondate` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_views` ADD INDEX `lastview` ( `lastview` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_views` ADD INDEX `profile_id_lastview` (`profile_id`,`lastview`);";
$MCBUpgrades[6]['updates'][] = "UPDATE `#__comprofiler` SET `user_id`=`id` WHERE 1>0;"; // fix in case something corrupt for unique key
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler` ADD UNIQUE KEY user_id (`user_id`);";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler` ADD INDEX `apprconfbanid` ( `approved` , `confirmed` , `banned` , `id` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler` ADD INDEX `avatappr_apr_conf_ban_avatar` ( `avatarapproved` , `approved` , `confirmed` , `banned` , `avatar` );";
$MCBUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler` ADD INDEX `lastupdatedate` ( `lastupdatedate` );";
$MCBUpgrades[6]['message'] = "1.0 RC 2, 1.0 and 1.0.1 to 1.0.2";
// 1.0.2 upgrades:
$dbUpgrades[6]['test'] = array( 'cbactivation', '#__comprofiler' );
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_fields` CHANGE `default` `default` MEDIUMTEXT DEFAULT NULL;";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_fields` CHANGE `tabid` `tabid` int(11) DEFAULT NULL;";
// from 1.0.2 to 1.1:
$MCBUpgrades[7]['test'] = array( 'ordering_register', '#__comprofiler_tabs' );
$MCBUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler_plugin` ADD `backend_menu` VARCHAR(255) NOT NULL DEFAULT '' AFTER `folder`;";
$MCBUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler_tabs` ADD `ordering_register` int(11) NOT NULL DEFAULT 10 AFTER `ordering`;";
$MCBUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler_tabs` ADD `useraccessgroupid` int(9) DEFAULT -2 NOT NULL AFTER `position`;";
$MCBUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler_tabs` ADD INDEX `orderreg_enabled_pos_order` ( `enabled` , `ordering_register` , `position` , `ordering` );";
$MCBUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler` ADD `unbannedby` int(11) default NULL AFTER `bannedby`;";
$MCBUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler` ADD `unbanneddate` datetime default NULL AFTER `banneddate`;";
$MCBUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler_field_values` CHANGE `fieldtitle` `fieldtitle` VARCHAR(255) NOT NULL DEFAULT '';";
$MCBUpgrades[7]['message'] = "1.0.2 to 1.1";
if ( checkJversion() < 2 ) {
$dbUpgrades[6]['updates'][] = "UPDATE `#__users` SET usertype='Registered' WHERE usertype='';";
}
// from 1.1 to 1.2: uses new method...
$dbUpgrades[6]['updates'][] = "UPDATE `#__comprofiler_fields` SET `table`='#__users' WHERE name='email';";
$dbUpgrades[6]['updates'][] = "UPDATE `#__comprofiler_fields` SET `table`='#__users' WHERE name='lastvisitDate';";
$dbUpgrades[6]['updates'][] = "UPDATE `#__comprofiler_fields` SET `table`='#__users' WHERE name='registerDate';";
$dbUpgrades[6]['updates'][] = "ALTER TABLE #__comprofiler ADD `registeripaddr` VARCHAR( 50 ) DEFAULT '' NOT NULL AFTER `lastupdatedate`;";
$dbUpgrades[6]['updates'][] = "ALTER TABLE #__comprofiler ADD `cbactivation` VARCHAR( 50 ) DEFAULT '' NOT NULL AFTER `registeripaddr`;";
$dbUpgrades[6]['updates'][] = "ALTER TABLE #__comprofiler ADD `message_last_sent` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `hits`;";
$dbUpgrades[6]['updates'][] = "ALTER TABLE #__comprofiler ADD `message_number_sent` INT( 11 ) DEFAULT 0 NOT NULL AFTER `message_last_sent`;";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_field_values` ADD INDEX fieldid_ordering (`fieldid`, `ordering` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_fields` ADD INDEX `tabid_pub_prof_order` ( `tabid` , `published` , `profile` , `ordering` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_fields` ADD INDEX `readonly_published_tabid` ( `readonly` , `published` , `tabid` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_fields` ADD INDEX `registration_published_order` ( `registration` , `published` , `ordering` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_members` ADD INDEX `pamr` ( `pending` , `accepted` , `memberid` , `referenceid` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_members` ADD INDEX `aprm` ( `accepted` , `pending` , `referenceid` , `memberid` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_members` ADD INDEX `membrefid` ( `memberid` , `referenceid` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_plugin` ADD INDEX `type_pub_order` ( `type` , `published` , `ordering` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_tabs` ADD INDEX `enabled_position_ordering` ( `enabled` , `position` , `ordering` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_lists` ADD INDEX `pub_ordering` ( `published` , `ordering` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_lists` ADD INDEX `default_published` ( `default` , `published` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_userreports` ADD INDEX `status_user_date` ( `reportedstatus` , `reporteduser` , `reportedondate` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_userreports` ADD INDEX `reportedbyuser_ondate` ( `reportedbyuser` , `reportedondate` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_views` ADD INDEX `lastview` ( `lastview` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler_views` ADD INDEX `profile_id_lastview` (`profile_id`,`lastview`);";
$dbUpgrades[6]['updates'][] = "UPDATE `#__comprofiler` SET `user_id`=`id` WHERE 1>0;"; // fix in case something corrupt for unique key
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler` ADD UNIQUE KEY user_id (`user_id`);";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler` ADD INDEX `apprconfbanid` ( `approved` , `confirmed` , `banned` , `id` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler` ADD INDEX `avatappr_apr_conf_ban_avatar` ( `avatarapproved` , `approved` , `confirmed` , `banned` , `avatar` );";
$dbUpgrades[6]['updates'][] = "ALTER TABLE `#__comprofiler` ADD INDEX `lastupdatedate` ( `lastupdatedate` );";
$dbUpgrades[6]['message'] = "1.0 RC 2, 1.0 and 1.0.1 to 1.0.2";
//Apply Upgrades
foreach ($MCBUpgrades AS $MCBUpgrade) {
//if it fails test then apply upgrade
if ( ! cbInstaller_field_exists( $MCBUpgrade['test'][1], $MCBUpgrade['test'][0] ) ) {
foreach( $MCBUpgrade['updates'] as $MCBScript ) {
$_CB_database->setQuery( $MCBScript );
// 1.1 upgrades:
$dbUpgrades[7]['test'] = array( 'ordering_register', '#__comprofiler_tabs' );
$dbUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler_plugin` ADD `backend_menu` VARCHAR(255) NOT NULL DEFAULT '' AFTER `folder`;";
$dbUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler_tabs` ADD `ordering_register` int(11) NOT NULL DEFAULT 10 AFTER `ordering`;";
$dbUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler_tabs` ADD `useraccessgroupid` int(9) DEFAULT -2 NOT NULL AFTER `position`;";
$dbUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler_tabs` ADD INDEX `orderreg_enabled_pos_order` ( `enabled` , `ordering_register` , `position` , `ordering` );";
$dbUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler` ADD `unbannedby` int(11) default NULL AFTER `bannedby`;";
$dbUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler` ADD `unbanneddate` datetime default NULL AFTER `banneddate`;";
$dbUpgrades[7]['updates'][] = "ALTER TABLE `#__comprofiler_field_values` CHANGE `fieldtitle` `fieldtitle` VARCHAR(255) NOT NULL DEFAULT '';";
$dbUpgrades[7]['message'] = "1.0.2 to 1.1";
// Perform database upgrades:
foreach ( $dbUpgrades as $dbUpgrade ) {
if ( ! cbInstaller_field_exists( $dbUpgrade['test'][1], $dbUpgrade['test'][0] ) ) {
foreach( $dbUpgrade['updates'] as $query ) {
$_CB_database->setQuery( $query );
if( ! $_CB_database->query() ) {
if ( ! $_CB_database->query() ) {
//Upgrade failed
print("<font color=red>".$MCBUpgrade['message']." failed! SQL error:" . $_CB_database->stderr(true)."</font><br />");
// return;
$return .= '<span style="color:red;">' . $dbUpgrade['message'] . ' failed! Error: ' . $_CB_database->stderr( true ) . '</span><br />';
}
}
//Upgrade was successful
print "<font color=green>".$MCBUpgrade['message']." Upgrade Applied Successfully.</font><br />";
$return .= '<span style="color:green;">' . $dbUpgrade['message'] . ' Upgrade Applied Successfully.</span><br />';
}
}
$sql="SELECT listid FROM #__comprofiler_lists ORDER BY ordering asc, published desc";
$_CB_database->setQuery($sql);
// Correct userlist orders:
$query = 'SELECT ' . $_CB_database->NameQuote( 'listid' )
. "\n FROM " . $_CB_database->NameQuote( '#__comprofiler_lists' )
. "\n ORDER BY " . $_CB_database->NameQuote( 'ordering' ) . " ASC, " . $_CB_database->NameQuote( 'published' ) . " DESC";
$_CB_database->setQuery( $query );
$lists = $_CB_database->loadObjectList();
$lists = $_CB_database->loadObjectList();
$order=0;
$order = 0;
if ( ! $_CB_database->getErrorNum() ) {
foreach($lists AS $list) {
$_CB_database->setQuery("UPDATE #__comprofiler_lists SET ordering = $order WHERE listid='".$list->listid."'");
if ( $lists ) foreach ( $lists AS $list ) {
$query = 'UPDATE ' . $_CB_database->NameQuote( '#__comprofiler_lists' )
. "\n SET " . $_CB_database->NameQuote( 'ordering' ) . " = " . (int) $order
. "\n WHERE " . $_CB_database->NameQuote( 'listid' ) . " = " . (int) $list->listid;
$_CB_database->setQuery( $query );
$_CB_database->query();
$_CB_database->query();
$order++;
}
$order++;
}
}
// fixing the tabid of installs before CB 1.0 RC 2:
// Core database fixes:
$dbChecker = new CBdbChecker( $_CB_database );
$dbChecker = new CBdbChecker( $_CB_database );
$result = $dbChecker->checkCBMandatoryDb( false );
$result = $dbChecker->checkCBMandatoryDb( false );
if ( ! $result ) {
$dbChecker = new CBdbChecker( $_CB_database );
$dbChecker = new CBdbChecker( $_CB_database );
$result = $dbChecker->checkCBMandatoryDb( true, false );
$result = $dbChecker->checkCBMandatoryDb( true, false );
if ( $result == true ) {
echo "<p><font color=green>Automatic database fixes of old core tabs and fields applied successfully.</font></p>";
$return .= '<p><span style="color:green;">Automatic database fixes of old core tabs and fields applied successfully.</span></p>';
} elseif ( is_string( $result ) ) {
echo "<p><font color=red>" . $result . "</font></p>";
$return .= '<p><span style="color:red;">' . $result . '</span></p>';
} else {
echo "<div style='color:red;'>";
echo "<h3><font color=red>Database fixing errors:</font></h3>";
$errors = $dbChecker->getErrors( false );
$errors = $dbChecker->getErrors( false );
foreach ( $errors as $err ) {
echo '<div style="font-size:115%">' . $err[0];
if ( $err[1] ) {
echo '<div style="font-size:90%">' . $err[1] . '</div>';
if ( $errors ) {
$return .= '<div style="color:red;">'
. '<h3><span style="color:red;">Database fixing errors:</span></h3>';
foreach ( $errors as $error ) {
$return .= '<div style="font-size:115%">' . $error[0];
if ( $error[1] ) {
$return .= '<div style="font-size:90%">' . $error[1] . '</div>';
}
}
echo '</div>';
$return .= '</div>';
}
}
echo "</div>";
$return .= '</div>';
}
}
}
if ( ( checkJversion() < 1 ) || ( $_CB_framework->getCfg( 'session_handler' ) != 'database' ) ) {
// joomla 1.5 and 1.6 database session storage limited to 20kb, so do not display details in that case:
$logs = $dbChecker->getLogs( false );
$logs = $dbChecker->getLogs( false );
if ( count( $logs ) > 0 ) {
echo "<div><a href='#' id='cbdetailsLinkShowOld' onclick=\"document.getElementById('cbdetailsdbcheckOld').style.display='';return false;\">Click to Show details</a></div>";
echo "<div id='cbdetailsdbcheckOld' style='color:green;display:none;'>";
foreach ( $logs as $err ) {
echo '<div>' . $err[0];
if ( $err[1] ) {
echo '<div style="font-size:90%">' . $err[1] . '</div>';
$return .= '<div><a href="#" id="cbdetailsLinkShowOld" onclick="document.getElementById(\'cbdetailsdbcheckOld\').style.display=\'\';return false;">Click to Show details</a></div>'
. '<div id="cbdetailsdbcheckOld" style="color:green;display:none;">';
foreach ( $logs as $log ) {
$return .= '<div>' . $log[0];
if ( $log[1] ) {
$return .= '<div style="font-size:90%">' . $log[1] . '</div>';
}
echo '</div>';
$return .= '</div>';
}
echo '</div>';
$return .= '</div>';
}
}
}
// now missing core tabs will be inserted in the new 1.2 upgrader in next step:
// from CB 1.2 upwards:
$dbChecker = new CBdbChecker( $_CB_database );
$dbChecker = new CBdbChecker( $_CB_database );
$result = $dbChecker->checkDatabase( true, false );
$result = $dbChecker->checkDatabase( true, false );
if ( $result == true ) {
echo "<p><font color=green>Automatic database upgrade to current version applied successfully.</font></p>";
$return .= '<p><span style="color:green;">Automatic database upgrade to current version applied successfully.</span></p>';
} elseif ( is_string( $result ) ) {
echo "<p><font color=red>" . $result . "</font></p>";
$return .= '<p><span style="color:red;">' . $result . '</span></p>';
} else {
echo "<div style='color:red;'>";
echo "<h3><font color=red>Database fixing errors:</font></h3>";
$errors = $dbChecker->getErrors( false );
$errors = $dbChecker->getErrors( false );
foreach ( $errors as $err ) {
echo '<div style="font-size:115%">' . $err[0];
if ( $err[1] ) {
echo '<div style="font-size:90%">' . $err[1] . '</div>';
if ( $errors ) {
$return .= '<div style="color:red;">'
. '<h3><span style="color:red;">Database fixing errors:</span></h3>';
foreach ( $errors as $error ) {
$return .= '<div style="font-size:115%">' . $error[0];
if ( $error[1] ) {
$return .= '<div style="font-size:90%">' . $error[1] . '</div>';
}
}
echo '</div>';
$return .= '</div>';
}
}
echo "</div>";
$return .= '</div>';
}
}
}
if ( ( checkJversion() < 1 ) || ( $_CB_framework->getCfg( 'session_handler' ) != 'database' ) ) {
// joomla 1.5 and 1.6 database session storage limited to 20kb, so do not display details in that case:
$logs = $dbChecker->getLogs( false );
$logs = $dbChecker->getLogs( false );
if ( count( $logs ) > 0 ) {
echo "<div><a href='#' id='cbdetailsLinkShow' onclick=\"document.getElementById('cbdetailsdbcheck').style.display='';return false;\">Click to Show details</a></div>";
echo "<div id='cbdetailsdbcheck' style='color:green;display:none;'>";
foreach ( $logs as $err ) {
if ( $err[1] ) {
// display only queries having effect (joomla database session storage limited to 20kb!):
echo '<div>' . $err[0];
echo '<div style="font-size:90%">' . $err[1] . '</div>';
echo '</div>';
$return .= '<div><a href="#" id="cbdetailsLinkShow" onclick="document.getElementById(\'cbdetailsdbcheck\').style.display=\'\';return false;">Click to Show details</a></div>'
. '<div id="cbdetailsdbcheck" style="color:green;display:none;">';
foreach ( $logs as $log ) {
$return .= '<div>' . $log[0];
if ( $log[1] ) {
$return .= '<div style="font-size:90%">' . $log[1] . '</div>';
}
$return .= '</div>';
}
echo '</div>';
$return .= '</div>';
}
}
echo "<p>Core CB database upgrades done. If all lines above are in green, database upgrade completed successfully. Otherwise, please report exact errors and queries to forum, and try checking database again in components : community builder : tools : check database.</p>";
?>
</code>
</td>
</tr>
<tr>
<td>
<?php
$return .= '<p>Core CB database upgrades done. If all lines above are in green, database upgrade completed successfully. Otherwise, please report exact errors and queries to forum, and try checking database again in components : community builder : tools : check database.</p>'
. '</code>'
. '</td>'
. '</tr>'
. '<tr>'
. '<td>';
$adminFS =& cbAdminFileSystem::getInstance();
$imagesPath = $_CB_framework->getCfg( 'absolute_path' ) . "/images";
// Fix images:
$imagesPath = $_CB_framework->getCfg( 'absolute_path' ) . '/images';
$cbImages = $imagesPath . '/comprofiler';
$cbImages = $imagesPath . '/comprofiler';
$cbImagesGallery = $cbImages . '/gallery';
$cbImagesGallery = $cbImages . '/gallery';
if ( $adminFS->isUsingStandardPHP() && ( ! $adminFS->file_exists( $cbImages ) ) && ! $adminFS->is_writable( $_CB_framework->getCfg( 'absolute_path' ) . "/images/" ) ) {
print "<font color=red>". $imagesPath . "/ is not writable !</font><br />";
if ( $adminFS->isUsingStandardPHP() && ( ! $adminFS->file_exists( $cbImages ) ) && ( ! $adminFS->is_writable( $_CB_framework->getCfg( 'absolute_path' ) . '/images/' ) ) ) {
$return .= '<span style="color:red;">' . $imagesPath . '/ is not writable!</span><br />';
} else {
if ( ! $adminFS->file_exists( $cbImages ) ) {
if ( $adminFS->mkdir( $cbImages ) ) {
} else {
if ( ! $adminFS->file_exists( $cbImages ) ) {
if ( $adminFS->mkdir( $cbImages ) ) {
print "<font color=green>" . $cbImages . "/ Successfully added.</font><br />";
$return .= '<span style="color:green;">' . $cbImages . '/ Successfully added.</span><br />';
} else {
} else {
print "<font color=red>" . $cbImages . "/ Failed to be to be created, please do so manually !</font><br />";
$return .= '<span style="color:red;">' . $cbImages . '/ failed to be to be created, please do so manually!</span><br />';
}
}
} else {
// print "<font color=green>" . $cbImages . "/ already exists.</font><br />";
}
}
if ( ! $adminFS->file_exists( $cbImagesGallery ) ) {
if ( $adminFS->mkdir( $cbImagesGallery ) ) {
if ( ! $adminFS->file_exists( $cbImagesGallery ) ) {
if ( $adminFS->mkdir( $cbImagesGallery ) ) {
print "<font color=green>" . $cbImagesGallery ."/ Successfully added.</font><br />";
$return .= '<span style="color:green;">' . $cbImagesGallery . '/ Successfully added.</span><br />';
} else {
} else {
print "<font color=red>" . $cbImagesGallery . "/ Failed to be to be created, please do so manually !</font><br />";
$return .= '<span style="color:red;">' . $cbImagesGallery . '/ failed to be to be created, please do so manually!</span><br />';
}
}
} else {
// print "<font color=green>" . $cbImagesGallery . "/ already exists.</font><br />";
}
}
if( $adminFS->file_exists( $cbImages ) ) {
if ( $adminFS->file_exists( $cbImages ) ) {
if ( ! is_writable( $cbImages ) ) {
if ( ! is_writable( $cbImages ) ) {
if( ! $adminFS->chmod( $cbImages, 0775 ) ) {
if ( ! $adminFS->chmod( $cbImages, 0775 ) ) {
if ( ! @chmod( $cbImages, 0775 ) ) {
if ( ! @chmod( $cbImages, 0775 ) ) {
print "<font color=red>" . $cbImages . "/ Failed to be chmod'd to 775 please do so manually !</font><br />";
$return .= '<span style="color:red;">' . $cbImages . '/ failed to chmod to 775 please do so manually!</span><br />';
}
}
}
}
}
}
if( ! is_writable( $cbImages ) ) {
if ( ! is_writable( $cbImages ) ) {
print "<font color=red>" . $cbImages . "/ is not writable and failed to be chmod'd to 775 please do so manually !</font><br />";
$return .= '<span style="color:red;">' . $cbImages . '/ is not writable and failed to chmod to 775 please do so manually!</span><br />';
}
}
}
}
if ( $adminFS->file_exists( $cbImagesGallery ) ) {
if ( $adminFS->file_exists( $cbImagesGallery ) ) {
if( ! is_writable( $cbImagesGallery ) ) {
if ( ! is_writable( $cbImagesGallery ) ) {
if( ! $adminFS->chmod( $cbImagesGallery, 0775 ) ) {
if ( ! $adminFS->chmod( $cbImagesGallery, 0775 ) ) {
if ( ! @chmod( $cbImagesGallery, 0775 ) ) {
if ( ! @chmod( $cbImagesGallery, 0775 ) ) {
print "<font color=red>" . $cbImagesGallery . "/ Failed to be chmod'd to 775 please do so manually !</font><br />";
$return .= '<span style="color:red;">' . $cbImagesGallery . '/ failed to chmod to 775 please do so manually!</span><br />';
}
}
}
}
}
}
if( ! is_writable( $cbImagesGallery ) ) {
if ( ! is_writable( $cbImagesGallery ) ) {
print "<font color=red>" . $cbImagesGallery . "/ is not writable and failed to be chmod'd to 755 please do so manually !</font><br />";
$return .= '<span style="color:red;">' . $cbImagesGallery . '/ is not writable and failed to chmod to 775 please do so manually!</span><br />';
}
}
$galleryFiles = array("airplane.gif"
,"ball.gif"
,"butterfly.gif"
,"car.gif"
,"dog.gif"
,"duck.gif"
,"fish.gif"
,"frog.gif"
,"guitar.gif"
,"kick.gif"
,"pinkflower.gif"
,"redflower.gif"
,"skater.gif"
,"index.html");
foreach( $galleryFiles AS $galleryFile ) {
$galleryFiles = array( 'airplane.gif', 'ball.gif', 'butterfly.gif', 'car.gif',
'dog.gif', 'duck.gif', 'fish.gif', 'frog.gif', 'guitar.gif',
'kick.gif', 'pinkflower.gif', 'redflower.gif', 'skater.gif', 'index.html'
);
foreach ( $galleryFiles as $galleryFile ) {
if ( ! ( file_exists( $cbImagesGallery . '/' . $galleryFile ) && is_readable( $cbImagesGallery . '/' . $galleryFile ) ) ) {
if ( ! ( file_exists( $cbImagesGallery . '/' . $galleryFile ) && is_readable( $cbImagesGallery . '/' . $galleryFile ) ) ) {
// try by www: we try it this way, as we can silence errors in php, but not in FTP:
$result = @copy( $_CB_framework->getCfg( 'absolute_path' ) . "/components/com_comprofiler/images/gallery/".$galleryFile, $cbImagesGallery . '/' . $galleryFile );
$result = @copy( $_CB_framework->getCfg( 'absolute_path' ) . '/components/com_comprofiler/images/gallery/' . $galleryFile, $cbImagesGallery . '/' . $galleryFile );
if ( ! $result ) {
if ( ! $result ) {
// otherwise try by FTP:
$result = $adminFS->copy( $_CB_framework->getCfg( 'absolute_path' ) . "/components/com_comprofiler/images/gallery/".$galleryFile, $cbImagesGallery . '/' . $galleryFile );
$result = $adminFS->copy( $_CB_framework->getCfg( 'absolute_path' ) . '/components/com_comprofiler/images/gallery/' . $galleryFile, $cbImagesGallery . '/' . $galleryFile );
}
}
if ( $result ) {
// print "<font color=green>" . $galleryFile . " Successfully added to the gallery.</font><br />";
} else {
print "<font color=red>" . $galleryFile . " Failed to be added to the gallery please do so manually !</font><br />";
if ( ! $result ) {
$return .= '<span style="color:red;">' . $galleryFile . ' failed to be added to the gallery please do so manually!</span><br />';
}
}
}
}
}
}
}
}
}
}
if ( ! ( $adminFS->file_exists( $cbImages ) && is_writable( $cbImages ) && $adminFS->file_exists( $cbImagesGallery ) ) ) {
if ( ! ( $adminFS->file_exists( $cbImages ) && is_writable( $cbImages ) && $adminFS->file_exists( $cbImagesGallery ) ) ) {
print "<br /><font color=red>Manually do the following:<br /> 1.) create ".$cbImages . "/ directory <br /> 2.) chmod it to 755 or if needed to 775 <br /> 3.) create ". $cbImagesGallery . "/ <br /> 4.) chmod it to 755 or if needed to 775 <br />5.) copy " . $_CB_framework->getCfg( 'absolute_path' ) . "/components/com_comprofiler/images/gallery/ and its contents to ". $cbImagesGallery . "/ </font><br />";
$return .= '<br /><span style="color:red;">Manually do the following:<br /> 1.) create ' . $cbImages . '/ directory <br /> 2.) chmod it to 755 or if needed to 775 <br /> 3.) create ' . $cbImagesGallery . '/ <br /> 4.) chmod it to 755 or if needed to 775 <br />5.) copy ' . $_CB_framework->getCfg( 'absolute_path' ) . '/components/com_comprofiler/images/gallery/ and its contents to ' . $cbImagesGallery . '/</span><br />';
}
}
?>
</td>
</tr>
</table>
</div>
<?php
$ret = ob_get_contents();
ob_end_clean();
$_CB_framework->setUserState( "com_comprofiler_install", $ret );
// now treat special case of CB 1.2.2- installed and a plugin/mambot/module already loaded and the new function doesn't exist:
$return .= '</td>'
. '</tr>'
. '</table>'
. '</div>';
$_CB_framework->setUserState( 'com_comprofiler_install', $return );
if ( is_callable( array( $_CB_framework, 'backendUrl' ) ) ) {
if ( is_callable( array( $_CB_framework, 'backendUrl' ) ) ) {
$stepTwoUrl = $_CB_framework->backendUrl( 'index.php?option=com_comprofiler&task=finishinstallation', false );
$stepTwoUrl = $_CB_framework->backendUrl( 'index.php?option=com_comprofiler&task=finishinstallation', false );
} else {
} else {
$stepTwoUrl = ( checkJversion() < 1 ? 'index2.php' : 'index.php' ) . '?option=com_comprofiler&task=finishinstallation';
$stepTwoUrl = ( checkJversion() < 1 ? 'index2.php' : 'index.php' ) . '?option=com_comprofiler&task=finishinstallation';
}
}
?>
<div id="cbInstallNextStep" style="font-weight:bold;font-size:120%;background:#ffffdd;border:2px orange solid;padding:5px;">WAIT PLEASE: DO NOT INTERRUPT INSTALLATION PROCESS: PERFORMING SECOND INSTALLATION STEP: UNCOMPRESSING CORE PLUGINS: THIS CAN TAKE UP TO 2 MINUTES. <span id="cbstep2manual">If this screen stays for over 2 minutes, <a href="<?php echo htmlspecialchars( $stepTwoUrl ); ?>">please click here to continue next and last installation step</a>.</span></div>
<?php
echo $ret;
// Add Javascript to go to step 2:
$jsStepTwo = " $('form table.adminform').hide();" // hides other uploads in j 1.5.
. " $('#cbstep2manual').hide();" // hides Continue in j 1.0 + Mambo
. " $('#cbInstallNextStep').hide().fadeIn('1500', function() { $(this).fadeOut('1000', function() { $(this).fadeIn('1500', function() {"
// Get the href of the user profile link:
. "\n window.location = '" . addslashes( $stepTwoUrl ) . "';"
. "\n } ) } ) } );"
;
$return = '<div id="cbInstallNextStep" style="font-weight:bold;font-size:120%;background:#ffffdd;border:2px orange solid;padding:5px;">WAIT PLEASE: DO NOT INTERRUPT INSTALLATION PROCESS: PERFORMING SECOND INSTALLATION STEP: UNCOMPRESSING CORE PLUGINS: THIS CAN TAKE UP TO 2 MINUTES.</div>'
. $return;
echo $return;
$jsStepTwo = "$( '#cbInstallNextStep' ).hide().fadeIn( '1500', function() {"
. "$( this ).fadeOut( '1000', function() {"
. "$( this ).fadeIn( '1500', function() {"
. "window.location = '" . addslashes( $stepTwoUrl ) . "';"
. "})"
. "})"
. "});";
$_CB_framework->document->_outputToHeadCollectionStart();
$_CB_framework->document->_outputToHeadCollectionStart();
if ( checkJversion() > 1 ) {
if ( checkJversion() > 1 ) {
// there is a redirect in j1.6 not buffering headers, so we have to output scripts in body:
$_CB_framework->document->setCmsDoc( null );
}
$_CB_framework->document->setCmsDoc( null );
... This diff was truncated because it exceeds the maximum size that can be displayed.
(1-1/12)