AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.112
Web Server : Apache
System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : coopiak ( 151928)
PHP Version : 8.3.23
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/coopiak/amisdesseniors-fr/administrator/components/com_community/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/administrator/components/com_community/models/manualdbupgrade.php
<?php
/**
* @copyright (C) 2013 iJoomla, Inc. - All rights reserved.
* @license GNU General Public License, version 2 (http://www.gnu.org/licenses/gpl-2.0.html)
* @author iJoomla.com <webmaster@ijoomla.com>
* @url https://www.jomsocial.com/license-agreement
* The PHP code portions are distributed under the GPL license. If not otherwise stated, all images, manuals, cascading style sheets, and included JavaScript *are NOT GPL, and are released under the IJOOMLA Proprietary Use License v1.0
* More info at https://www.jomsocial.com/license-agreement
*/

use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\Model\BaseDatabaseModel;

// Disallow direct access to this file
defined('_JEXEC') or die('Restricted access');

jimport( 'joomla.application.component.model' );

class CommunityModelManualDbUpgrade extends BaseDatabaseModel
{
	/**
	 * Configuration data
	 *
	 * @var object
	 **/
	var $_params;

	/**
	 * Configuration for ini path
	 *
	 * @var string
	 **/
// 	var $_ini	= '';

	/**
	 * Configuration for xml path
	 *
	 * @var string
	 **/
	var $_xml	= '';

	/**
	 * Constructor
	 */
	public function __construct()
	{
		$mainframe	= Factory::getApplication();


		// Call the parents constructor
		parent::__construct();

	}

	public function upgradeEmojiDB(){
		//lets do the emoji upgrade here
		$db = Factory::getDbo();
		$stats = array();

		//lets get started with activities first

		$queries = array(
			//activities
				"ALTER TABLE ".$db->quoteName('#__community_activities')." CHANGE ".$db->quoteName('title')." ".$db->quoteName('title')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
				"ALTER TABLE ".$db->quoteName('#__community_activities')." CHANGE ".$db->quoteName('content')." ".$db->quoteName('content')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//message
				"ALTER TABLE ".$db->quoteName('#__community_msg')." CHANGE ".$db->quoteName('body')." ".$db->quoteName('body')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
				"ALTER TABLE ".$db->quoteName('#__community_msg')." CHANGE ".$db->quoteName('subject')." ".$db->quoteName('subject')." TINYTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//walls
				"ALTER TABLE ".$db->quoteName('#__community_wall')." CHANGE ".$db->quoteName('comment')." ".$db->quoteName('comment')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('params')." ".$db->quoteName('params')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;",
			//groups
				"ALTER TABLE ".$db->quoteName('#__community_groups')." CHANGE ".$db->quoteName('name')." ".$db->quoteName('name')." VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('description')." ".$db->quoteName('description')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('summary')." ".$db->quoteName('summary')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('params')." ".$db->quoteName('params')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//events
				"ALTER TABLE ".$db->quoteName('#__community_events')." CHANGE ".$db->quoteName('title')." ".$db->quoteName('title')." VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('summary')." ".$db->quoteName('summary')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('description')." ".$db->quoteName('description')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, CHANGE ".$db->quoteName('params')." ".$db->quoteName('params')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//field values
				"ALTER TABLE ".$db->quoteName('#__community_fields_values')." CHANGE ".$db->quoteName('value')." ".$db->quoteName('value')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('params')." ".$db->quoteName('params')." MEDIUMTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//videos
				"ALTER TABLE ".$db->quoteName('#__community_videos')." CHANGE ".$db->quoteName('title')." ".$db->quoteName('title')." VARCHAR(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('description')." ".$db->quoteName('description')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('location')." ".$db->quoteName('location')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('params')." ".$db->quoteName('params')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//photos
				"ALTER TABLE ".$db->quoteName('#__community_photos')." CHANGE ".$db->quoteName('caption')." ".$db->quoteName('caption')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('params')." ".$db->quoteName('params')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//albums
				"ALTER TABLE ".$db->quoteName('#__community_photos_albums')." CHANGE ".$db->quoteName('name')." ".$db->quoteName('name')." VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('description')." ".$db->quoteName('description')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('location')." ".$db->quoteName('location')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('params')." ".$db->quoteName('params')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//group announcement
				"ALTER TABLE ".$db->quoteName('#__community_groups_bulletins')." CHANGE ".$db->quoteName('title')." ".$db->quoteName('title')." VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('message')." ".$db->quoteName('message')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('params')." ".$db->quoteName('params')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//group discussion
				"ALTER TABLE ".$db->quoteName('#__community_groups_discuss')." CHANGE ".$db->quoteName('title')." ".$db->quoteName('title')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('message')." ".$db->quoteName('message')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('params')." ".$db->quoteName('params')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//mail queue
				"ALTER TABLE ".$db->quoteName('#__community_mailq')." CHANGE ".$db->quoteName('subject')." ".$db->quoteName('subject')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('body')." ".$db->quoteName('body')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('params')." ".$db->quoteName('params')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//notifications
				"ALTER TABLE ".$db->quoteName('#__community_notifications')." CHANGE ".$db->quoteName('content')." ".$db->quoteName('content')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, CHANGE ".$db->quoteName('params')." ".$db->quoteName('params')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//profiles
				"ALTER TABLE ".$db->quoteName('#__community_profiles')." CHANGE ".$db->quoteName('description')." ".$db->quoteName('description')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
			//poll title
				"ALTER TABLE ".$db->quoteName('#__community_polls')." CHANGE ".$db->quoteName('title')." ".$db->quoteName('title')." TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL",
		);

		foreach($queries as $query){
			$db->setQuery($query);
			$result = $db->execute();
			if(!$result){
				return false;
			}
		}

		return true;
	}

	/**
	 * @since 4.2, to get all the initial stats of the db upgrade on emoji
	 */
	public function getEmojiInitialDBStats(){

		$db = Factory::getDbo();

		$stats = array();
		$canUpgrade = false;
		//check for database version
		$mysqlVersion = CAdvanceSearch::getMySQLVersion(); //lets get the version via advance search static method

		$sqlCheck = array(
			Text::sprintf('COM_COMMUNITY_EMOJI_DB_COMPARISON', $mysqlVersion, '5.5.3')
		);

		if(version_compare($mysqlVersion, '5.5.3', 'ge')){
			$canUpgrade = true;
			$sqlCheck[] = Text::_('COM_COMMUNITY_EMOJI_PASSED');
		}else{
			$sqlCheck[] = Text::_('COM_COMMUNITY_EMOJI_FAILED');
		}

		$stats[] = $sqlCheck;

		//lets check if activities tables are done
		$activityCheck = array(Text::_('COM_COMMUNITY_EMOJI_ACTIVITY_STREAM'));
		$query = "SHOW FULL COLUMNS FROM ".$db->quoteName('#__community_activities');
		$db->setQuery($query);

		$results = $db->loadObjectList();

		foreach($results as $result){
			if($result->Field == 'title'){
				//one result from this table will do because both should be updated at once
				if($result->Collation == 'utf8mb4_general_ci'){
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_UPGRADED');
				}elseif(!$canUpgrade){
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_CANNOT_UPGRADE');
				}else{
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_READY');
				}
			}
		}

		$stats[] = $activityCheck;

		//check for comments (walls)
		$wallCheck = array(Text::_('COM_COMMUNITY_EMOJI_COMMENTS'));
		$query = "SHOW FULL COLUMNS FROM ".$db->quoteName('#__community_wall');
		$db->setQuery($query);

		$results = $db->loadObjectList();

		foreach($results as $result){
			if($result->Field == 'comment'){
				//one result from this table will do because both should be updated at once
				if($result->Collation == 'utf8mb4_general_ci'){
					$wallCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_UPGRADED');
				}elseif(!$canUpgrade){
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_CANNOT_UPGRADE');
				}else{
					$wallCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_READY');
				}
			}
		}

		$stats[] = $wallCheck;

		//check for private messaging
		$msgCheck = array(Text::_('COM_COMMUNITY_EMOJI_MESSAGE'));
		$query = "SHOW FULL COLUMNS FROM ".$db->quoteName('#__community_msg');
		$db->setQuery($query);

		$results = $db->loadObjectList();

		foreach($results as $result){
			if($result->Field == 'subject'){
				//one result from this table will do because both should be updated at once
				if($result->Collation == 'utf8mb4_general_ci'){
					$msgCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_UPGRADED');
				}elseif(!$canUpgrade){
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_CANNOT_UPGRADE');
				}else{
					$msgCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_READY');
				}
			}
		}

		$stats[] = $msgCheck;

		//check for groups
		$groupCheck = array(Text::_('COM_COMMUNITY_EMOJI_GROUPS'));
		$query = "SHOW FULL COLUMNS FROM ".$db->quoteName('#__community_groups');
		$db->setQuery($query);

		$results = $db->loadObjectList();

		foreach($results as $result){
			if($result->Field == 'summary'){
				//one result from this table will do because both should be updated at once
				if($result->Collation == 'utf8mb4_general_ci'){
					$groupCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_UPGRADED');
				}elseif(!$canUpgrade){
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_CANNOT_UPGRADE');
				}else{
					$groupCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_READY');
				}
			}
		}

		$stats[] = $groupCheck;

		//check for events
		$eventCheck = array(Text::_('COM_COMMUNITY_EMOJI_EVENTS'));
		$query = "SHOW FULL COLUMNS FROM ".$db->quoteName('#__community_events');
		$db->setQuery($query);

		$results = $db->loadObjectList();

		foreach($results as $result){
			if($result->Field == 'summary'){
				//one result from this table will do because both should be updated at once
				if($result->Collation == 'utf8mb4_general_ci'){
					$eventCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_UPGRADED');
				}elseif(!$canUpgrade){
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_CANNOT_UPGRADE');
				}else{
					$eventCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_READY');
				}
			}
		}

		$stats[] = $eventCheck;

		//check for videos
		$videoCheck = array(Text::_('COM_COMMUNITY_EMOJI_VIDEOS'));
		$query = "SHOW FULL COLUMNS FROM ".$db->quoteName('#__community_videos');
		$db->setQuery($query);

		$results = $db->loadObjectList();

		foreach($results as $result){
			if($result->Field == 'description'){
				//one result from this table will do because both should be updated at once
				if($result->Collation == 'utf8mb4_general_ci'){
					$videoCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_UPGRADED');
				}elseif(!$canUpgrade){
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_CANNOT_UPGRADE');
				}else{
					$videoCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_READY');
				}
			}
		}

		$stats[] = $videoCheck;

		//check for photos
		$photoCheck = array(Text::_('COM_COMMUNITY_EMOJI_PHOTOS'));
		$query = "SHOW FULL COLUMNS FROM ".$db->quoteName('#__community_photos');
		$db->setQuery($query);

		$results = $db->loadObjectList();

		foreach($results as $result){
			if($result->Field == 'caption'){
				//one result from this table will do because both should be updated at once
				if($result->Collation == 'utf8mb4_general_ci'){
					$photoCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_UPGRADED');
				}elseif(!$canUpgrade){
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_CANNOT_UPGRADE');
				}else{
					$photoCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_READY');
				}
			}
		}

		$stats[] = $photoCheck;

		//check for fields
		$fieldCheck = array(Text::_('COM_COMMUNITY_EMOJI_CUSTOM_FIELDS'));
		$query = "SHOW FULL COLUMNS FROM ".$db->quoteName('#__community_fields_values');
		$db->setQuery($query);

		$results = $db->loadObjectList();

		foreach($results as $result){
			if($result->Field == 'value'){
				//one result from this table will do because both should be updated at once
				if($result->Collation == 'utf8mb4_general_ci'){
					$fieldCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_UPGRADED');
				}elseif(!$canUpgrade){
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_CANNOT_UPGRADE');
				}else{
					$fieldCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_READY');
				}
			}
		}

		$stats[] = $fieldCheck;

		//check for mailq
		$fieldCheck = array(Text::_('COM_COMMUNITY_EMOJI_EMAIL'));
		$query = "SHOW FULL COLUMNS FROM ".$db->quoteName('#__community_mailq');
		$db->setQuery($query);

		$results = $db->loadObjectList();

		foreach($results as $result){
			if($result->Field == 'subject'){
				//one result from this table will do because both should be updated at once
				if($result->Collation == 'utf8mb4_general_ci'){
					$fieldCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_UPGRADED');
				}elseif(!$canUpgrade){
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_CANNOT_UPGRADE');
				}else{
					$fieldCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_READY');
				}
			}
		}

		$stats[] = $fieldCheck;

		//check for poll title
		$fieldCheck = array(Text::_('COM_COMMUNITY_EMOJI_EMAIL'));
		$query = "SHOW FULL COLUMNS FROM ".$db->quoteName('#__community_polls');
		$db->setQuery($query);

		$results = $db->loadObjectList();

		foreach($results as $result){
			if($result->Field == 'title'){
				//one result from this table will do because both should be updated at once
				if($result->Collation == 'utf8mb4_general_ci'){
					$fieldCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_UPGRADED');
				}elseif(!$canUpgrade){
					$activityCheck[] = Text::_('COM_COMMUNITY_EMOJI_CANNOT_UPGRADE');
				}else{
					$fieldCheck[] = Text::_('COM_COMMUNITY_EMOJI_UPDATE_READY');
				}
			}
		}

		$stats[] = $fieldCheck;
		return $stats;
	}


}

Anon7 - 2022
AnonSec Team