| Server IP : 54.36.91.62 / Your IP : 216.73.217.111 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/nice/administrator/components/com_community/ |
Upload File : |
<?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\Filesystem\File;
use Joomla\Registry\Registry;
// Disallow direct access to this file
defined('_JEXEC') or die('Restricted access');
require_once JPATH_ROOT . '/administrator/components/com_community/models/configuration.php';
require_once JPATH_ROOT . '/components/com_community/libraries/parameter.php';
abstract class communityInstallerUpdate
{
/**
* Method to check if column exitst
* @param $tablename
* @param $columname
* @return true/false
*/
private static function _isExistTableColumn($tablename, $columname)
{
$db = Factory::getDBO();
$query = 'SHOW FIELDS FROM ' . $db->quoteName($tablename);
$db->setQuery($query);
$resutl = $db->loadObjectList();
foreach ($resutl as $_result) {
if ($_result->Field == $columname) {
return false;
}
}
return true;
}
/**
* Method to check if Menu is exist
* @return true/false
*/
private static function _isExistMenu()
{
$db = Factory::getDBO();
$query = 'SELECT COUNT(*) FROM ' . $db->quoteName('#__menu_types') . ' WHERE ';
$query .= $db->quoteName('menutype') . '=' . $db->Quote('jomsocial');
$db->setQuery($query);
return $db->loadResult() > 0;
}
/**
* Get Current Used template
* @return [string] [return template name]
*/
private static function _getCurrentTemplate()
{
$configuration = new CommunityModelConfiguration();
$config = $configuration->getParams();
return $config->get('template');
}
/**
* Method Update DbVersion
* @param $dbversion
*/
public static function updateDBVersion($dbversion)
{
$db = Factory::getDBO();
$query = 'UPDATE ' . $db->quoteName('#__community_config') . 'SET ';
$query .= $db->quoteName('params') . ' = ' . $db->quote($dbversion) . ' WHERE ';
$query .= $db->quoteName('name') . ' = ' . $db->quote('dbversion');
$db->setQuery($query);
$db->execute();
}
/**
* Method to insert Db Version
* @param $dbversion
*/
public static function insertDBVersion($dbversion)
{
$db =& Factory::getDBO();
$query = 'INSERT INTO ' . $db->quoteName('#__community_config')
. '(' . $db->quoteName('name') . ', ' . $db->quoteName('params') . ')'
. 'VALUES(' . $db->quote('dbversion') . ', ' . $db->quote($dbversion) . ')';
$db->setQuery($query);
$db->execute();
}
/**
* Method to insert Basic Config
*
* */
public static function insertBasicConfig()
{
$db =& Factory::getDBO();
$query = 'INSERT INTO ' . $db->quoteName('#__community_config')
. '(' . $db->quoteName('name') . ', ' . $db->quoteName('params') . ')'
. 'VALUES(' . $db->quote('config') . ', "")';
$db->setQuery($query);
$db->execute();
}
public static function update_11()
{
$db = Factory::getDBO();
// Update Event Table
if (self::_isExistTableColumn('#__community_events', 'allday')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_events') . ' ADD ' . $db->quoteName('allday') . ' TINYINT( 11 ) NOT NULL DEFAULT ' . $db->quote(0);
$query .= ' , ADD ' . $db->quoteName('repeat') . ' VARCHAR( 50 ) DEFAULT NULL COMMENT ' . $db->Quote('null,daily,weekly,monthly');
$query .= ' , ADD ' . $db->quoteName('repeatend') . ' DATE NOT NULL';
$query .= ' , ADD ' . $db->quoteName('parent') . ' INT( 11 ) NOT NULL COMMENT ' . $db->Quote('parent for recurring event') . ' AFTER ' . $db->quoteName('id');
$query .= ' , ADD KEY `idx_catid` (`catid`)';
$query .= ' , ADD KEY `idx_published` (`published`)';
$db->setQuery($query);
$db->execute();
}
//Update Community Profile table
if (self::_isExistTableColumn('#__community_profiles', 'profile_lock')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_profiles')
. ' ADD ' . $db->quoteName('profile_lock')
. ' TINYINT (1) NULL DEFAULT ' . $db->quote(0)
. ' AFTER ' . $db->quoteName('create_events');
$db->setQuery($query);
$db->execute();
}
//Update Community Groups Discussion table
if (self::_isExistTableColumn('#__community_groups_discuss', 'params')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_groups_discuss') . ' ADD ' . $db->quoteName('params') . ' TEXT NOT NULL ';
$db->setQuery($query);
$db->execute();
}
//Update Community Groups Bulletins Table
if (self::_isExistTableColumn('#__community_groups_bulletins', 'params')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_groups_bulletins') . ' ADD ' . $db->quoteName('params') . ' TEXT NOT NULL ';
$db->setQuery($query);
$db->execute();
}
//Update Community Register table
if (self::_isExistTableColumn('#__community_register', 'ip')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_register') . ' CHANGE ' . $db->quoteName('ip') . ' ' . $db->quoteName('ip') . ' VARCHAR( 39 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL; ';
$db->setQuery($query);
$db->execute();
}
//Update Community Register Auth token table
if (self::_isExistTableColumn('#__community_register_auth_token', 'ip')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_register_auth_token') . ' CHANGE ' . $db->quoteName('ip') . ' ' . $db->quoteName('ip') . ' VARCHAR( 39 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL; ';
$db->setQuery($query);
$db->execute();
}
// Update Menu link to mygroup
if (self::_isExistMenu()) {
$query = 'UPDATE ' . $db->quoteName('#__menu') . ' SET ' . $db->quoteName('link') . ' = ' . $db->quote('index.php?option=com_community&view=groups&task=mygroupupdate');
$query .= ' WHERE ' . $db->quoteName('menutype') . ' = ' . $db->quote('jomsocial');
$query .= ' AND ' . $db->quoteName('link') . ' = ' . $db->quote('index.php?option=com_community&view=groups&task=mygroups');
$query .= ' AND ' . $db->quoteName('alias') . ' = ' . $db->quote('groups');
$db->setQuery($query);
$db->execute();
}
}
public static function update_12()
{
$db = Factory::getDBO();
if (self::_isExistTableColumn('#__community_photos', 'params')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_photos') . ' ADD ' . $db->quoteName('params') . ' TEXT NOT NULL ';
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_photos_albums', 'params')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_photos_albums') . ' ADD ' . $db->quoteName('params') . ' TEXT NOT NULL ';
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_videos', 'params')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_videos') . ' ADD ' . $db->quoteName('params') . ' TEXT NOT NULL ';
$db->setQuery($query);
$db->execute();
}
$query = 'ALTER TABLE ' . $db->quoteName('#__community_register_auth_token') . ' CHANGE ' . $db->quoteName('ip') . ' ' . $db->quoteName('ip') . ' VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL; ';
$db->setQuery($query);
$db->execute();
$query = 'DELETE FROM ' . $db->quoteName('#__community_activities') . ' WHERE ' . $db->quoteName('title') . ' LIKE ' . $db->quote('%{multiple}%');
$db->setQuery($query);
$db->execute();
if (self::_getCurrentTemplate() == 'blackout') {
$configuration = new CommunityModelConfiguration();
$configuration->updateTemplate('default');
}
$query = 'UPDATE ' . $db->quoteName('#__community_activities') . 'SET ' . $db->quoteName('app') . ' = ' . $db->quote('albums.featured')
. ' WHERE ' . $db->quoteName('app') . ' = ' . $db->quote('photos.featured');
$db->setQuery($query);
$db->execute();
if (self::_isExistTableColumn('#__community_activities', 'actors')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_activities') . ' ADD ' . $db->quoteName('actors') . ' TEXT NOT NULL ';
$db->setQuery($query);
$db->execute();
}
// Delete old app activity string
$query = 'DELETE FROM ' . $db->quoteName('#__community_activities') . ' WHERE ' . $db->quoteName('app') . '=' . $db->quote('feed') . ' OR ' . $db->quoteName('app') . '=' . $db->quote('friendslocation') . ' OR ' . $db->quoteName('app') . '=' . $db->quote('kunena') . '
OR ' . $db->quoteName('app') . '=' . $db->quote('latestphoto') . ' OR ' . $db->quoteName('app') . '=' . $db->quote('myarticles') . ' OR ' . $db->quoteName('app') . '=' . $db->quote('mycontacts') . ' OR ' . $db->quoteName('app') . '=' . $db->quote('mygoogleads') . '
OR ' . $db->quoteName('app') . '=' . $db->quote('mytaggedvideos') . ' OR ' . $db->quoteName('app') . '=' . $db->quote('twitter') . ' OR ' . $db->quoteName('app') . '=' . $db->quote('wall');
$db->setQuery($query);
$db->execute();
//Delete old profile avatar string
$query = 'DELETE FROM ' . $db->quoteName('#__community_activities') . ' WHERE ' . $db->quoteName('app') . ' LIKE ' . $db->quote('profile') . ' AND ' . $db->quoteName('comment_type') . ' LIKE ' . $db->quote('profile.avatar.upload');
$db->setQuery($query);
$db->execute();
//Delete old groups updated stream
$query = 'DELETE FROM ' . $db->quoteName('#__community_activities') . ' WHERE ' . $db->quoteName('app') . ' LIKE ' . $db->quote('groups') . ' AND ' . $db->quoteName('app') . ' LIKE ' . $db->quote('%updated group%');
$db->setQuery($query);
$db->execute();
}
public static function update_13()
{
$db = Factory::getDBO();
if (self::_isExistTableColumn('#__community_users', 'cover')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_users') . ' ADD ' . $db->quoteName('cover') . ' TEXT NOT NULL AFTER ' . $db->quoteName('thumb');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_groups', 'cover')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_groups') . ' ADD ' . $db->quoteName('cover') . ' TEXT NOT NULL AFTER ' . $db->quoteName('thumb');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_events', 'cover')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_events') . ' ADD ' . $db->quoteName('cover') . ' TEXT NOT NULL AFTER ' . $db->quoteName('thumb');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_groups', 'hits')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_groups') . ' ADD ' . $db->quoteName('hits') . ' INT NOT NULL';
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_photos_albums', 'eventid')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_photos_albums') . ' ADD ' . $db->quoteName('eventid') . ' INT NOT NULL AFTER ' . $db->quoteName('groupid');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistMenu()) {
$query = 'UPDATE ' . $db->quoteName('#__menu') . ' SET ' . $db->quoteName('link') . ' = ' . $db->quote('index.php?option=com_community&view=groups&task=mygroups')
. ' WHERE ' . $db->quoteName('menutype') . ' = ' . $db->quote('jomsocial')
. ' AND ' . $db->quoteName('link') . ' = ' . $db->quote('index.php?option=com_community&view=groups&task=mygroupupdate')
. ' AND ' . $db->quoteName('alias') . ' = ' . $db->quote('groups');
$db->setQuery($query);
$db->execute();
}
//remove backend double toolbar
$file = JPATH_ROOT . '/administrator/components/com_community/toolbar.community.php';
if (is_file($file)) {
File::delete($file);
}
//Use default template
$configuration = new CommunityModelConfiguration();
$configuration->updateTemplate('default');
}
public static function update_14()
{
$db = Factory::getDBO();
if (self::_isExistTableColumn('#__community_events', 'params')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_events') . ' ADD ' . $db->quoteName('params') . ' TEXT NOT NULL';
$db->setQuery($query);
$db->execute();
}
}
public static function update_15()
{
$db = Factory::getDBO();
if (self::_isExistTableColumn('#__community_wall', 'params')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_wall') . ' ADD ' . $db->quoteName('params') . ' TEXT NOT NULL';
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_blocklist', 'type')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_blocklist') . ' ADD ' . $db->quoteName('type') . ' VARCHAR(50) NOT NULL';
$db->setQuery($query);
$db->execute();
}
$query = 'SHOW INDEX FROM ' . $db->quoteName('#__community_config');
$db->setQuery($query);
$result = $db->loadAssoc();
if (!isset($result['Column_name']) || empty($result['Column_name'])) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_config') . ' ADD PRIMARY KEY ( ' . $db->quoteName('name') . ' )';
$db->setQuery($query);
$db->execute();
}
}
public static function update_16()
{
$db = Factory::getDBO();
// add alias to community_user table
$query = 'ALTER TABLE ' . $db->quoteName('#__community_users') . ' ADD INDEX ( ' . $db->quoteName('alias') . ')';
$db->setQuery($query);
$db->execute();
// add moods table
$query = 'CREATE TABLE IF NOT EXISTS' . $db->quoteName('#__community_moods') . ' (
' . $db->quoteName('id') . ' int(11) NOT NULL AUTO_INCREMENT,
' . $db->quoteName('title') . ' varchar(128) NOT NULL,
' . $db->quoteName('description') . ' varchar(128) NOT NULL,
' . $db->quoteName('image') . 'varchar(256) DEFAULT NULL,
' . $db->quoteName('custom') . ' tinyint(4) NOT NULL,
' . $db->quoteName('published') . ' tinyint(4) NOT NULL DEFAULT ' . $db->quote(1) . ',
' . $db->quoteName('allowcustomtext') . ' tinyint(4) NOT NULL DEFAULT ' . $db->quote(0) . ',
' . $db->quoteName('ordering') . ' int(11) NOT NULL DEFAULT ' . $db->quote(0) . ',
PRIMARY KEY (' . $db->quoteName('id') . ')
) ENGINE=InnoDB DEFAULT CHARSET=utf8';
$db->setQuery($query);
$db->execute();
// preset mood ordering by id
$query = 'UPDATE ' . $db->quoteName('#__community_moods') . ' SET ' .
$db->quoteName('ordering') . ' = ' . $db->quoteName('id');
$db->setQuery($query);
$db->execute();
// populate preset moods
$query = 'INSERT IGNORE INTO ' . $db->quoteName('#__community_moods') .
' (' . $db->quoteName('id') .
', ' . $db->quoteName('title') .
', ' . $db->quoteName('description') .
', ' . $db->quoteName('image') .
', ' . $db->quoteName('custom') .
', ' . $db->quoteName('published') .
', ' . $db->quoteName('allowcustomtext') . ') VALUES
(1, ' . $db->quoteName('happy') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_HAPPY') . ', NULL, 0, 1, 0),
(2, ' . $db->quoteName('meh') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_MEH') . ', NULL, 0, 1, 0),
(3, ' . $db->quoteName('sad') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_SAD') . ', NULL, 0, 1, 0),
(4, ' . $db->quoteName('loved') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_LOVED') . ', NULL, 0, 1, 0),
(5, ' . $db->quoteName('excited') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_EXCITED') . ', NULL, 0, 1, 0),
(6, ' . $db->quoteName('pretty') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_PRETTY') . ', NULL, 0, 1, 0),
(7, ' . $db->quoteName('tired') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_TIRED') . ', NULL, 0, 1, 0),
(8, ' . $db->quoteName('angry') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_ANGRY') . ', NULL, 0, 1, 0),
(9, ' . $db->quoteName('speachless') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_SPEACHLESS') . ', NULL, 0, 1, 0),
(10, ' . $db->quoteName('shocked') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_SHOCKED') . ', NULL, 0, 1, 0),
(11, ' . $db->quoteName('irretated') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_IRRETATED') . ', NULL, 0, 1, 0),
(12, ' . $db->quoteName('sick') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_SICK') . ', NULL, 0, 1, 0),
(13, ' . $db->quoteName('annoyed') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_ANNOYED') . ', NULL, 0, 1, 0),
(14, ' . $db->quoteName('relieved') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_RELIEVED') . ', NULL, 0, 1, 0),
(15, ' . $db->quoteName('blessed') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_BLESSED') . ', NULL, 0, 1, 0),
(16, ' . $db->quoteName('bored') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_BORED') . ', NULL, 0, 1, 0),
(19, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_HAPPY') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_HAPPY') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(20, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_SAD') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_SAD') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(21, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_COOL') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_COOL') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(22, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_IRRITATED') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_IRRITATED') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(23, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_ANNOYED') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_ANNOYED') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(24, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_SHOCKED') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_SHOCKED') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(25, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_AMUSED') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_AMUSED') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(26, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_SPEECHLESS') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_SPEECHLESS') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(27, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_RICH') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_RICH') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(28, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_CHEEKY') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_CHEEKY') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(29, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_ANGRY') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_ANGRY') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(30, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_HUNGRY') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_HUNGRY') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(31, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_FESTIVE') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_FESTIVE') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(32, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_ROYAL') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_ROYAL') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(33, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_LOVE') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_LOVE') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(34, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_AFRAID') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_AFRAID') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(35, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_POWERFUL') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_POWERFUL') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(36, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_INVISIBLE') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_INVISIBLE') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(37, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_SWEET') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_SWEET') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(38, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_THIRSTY') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_THIRSTY') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(39, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_CLEAN') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_CLEAN') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(40, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_WATCHING') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_WATCHING') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(41, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_BORED') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_BORED') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(42, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_BUMMED') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_BUMMED') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(43, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_INNOVATIVE') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_INNOVATIVE') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(44, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_LUCKY') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_LUCKY') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(45, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_FOCUSED') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_FOCUSED') . ', ' . $db->quoteName('png') . ', 1, 1, 0),
(46, ' . $db->quoteName('COM_COMMUNITY_MOOD_SHORT_SURFING') . ', ' . $db->quoteName('COM_COMMUNITY_MOOD_SURFING') . ', ' . $db->quoteName('png') . ', 1, 1, 0)';
$db->setQuery($query);
try {
$db->execute();
} catch (Exception $e) {
}
// create badges table
$query = 'CREATE TABLE IF NOT EXISTS ' . $db->quoteName('#__community_badges') . ' (
' . $db->quoteName('id') . ' varchar(64) NOT NULL,
' . $db->quoteName('points') . ' int(11) NOT NULL DEFAULT ' . $db->quote(0) . ',
' . $db->quoteName('image') . ' varchar(256) NOT NULL,
' . $db->quoteName('published') . ' tinyint(4) NOT NULL DEFAULT ' . $db->quote(0) . ',
PRIMARY KEY (' . $db->quoteName('id') . ')
)ENGINE=InnoDB DEFAULT CHARSET=utf8 ';
$db->setQuery($query);
$db->execute();
// If badges table is empty, inject defaults based on old karma config
$query = 'SELECT * FROM '. $db->quoteName('#__community_badges');
$db->setQuery( $query );
$result = $db->loadObject();
if(empty($result)) {
$config = CFactory::getConfig();
$usedPoints=array();
// grab config for 0,1,2,3,4,5
for($i=0;$i<6;$i++) {
$configKey = 'point'.$i;
$configPoints = $config->get($configKey);
// Add 1 if there is a duplicate
while(in_array($configPoints, $usedPoints)) $configPoints++;
// default the first item to zero
if($i==0) $configPoints = 0;
$query = 'INSERT INTO '. $db->quoteName('#__community_badges')
. ' ( '
. $db->quoteName('title')
. ', '.$db->quoteName('points')
. ', '.$db->quoteName('image')
. ', '.$db->quoteName('published')
. ') VALUES ('
. $db->quote($configPoints)
. ', '.$db->quote($configPoints)
. ', '.$db->quote('png')
. ', '.$db->quote(1)
. ')';
$db->setQuery($query);
$db->execute();
//grab ID and copy the old karma file to a new badge file
$oldFile=JPATH_ROOT."/components/com_community/assets/karma{$i}.png";
$newFile=JPATH_ROOT."/components/com_community/assets/badge_".$db->insertid().".png";
File::copy($oldFile,$newFile);
}
}
// create theme table
$query = 'CREATE TABLE IF NOT EXISTS ' . $db->quoteName('#__community_theme') . ' (
' . $db->quoteName('id') . ' int(11) NOT NULL AUTO_INCREMENT,
' . $db->quoteName('key') . ' varchar(32) NOT NULL,
' . $db->quoteName('value') . ' text NOT NULL,
PRIMARY KEY (' . $db->quoteName('id') . '),
UNIQUE KEY ' . $db->quoteName('key') . ' (' . $db->quoteName('key') . ')
)';
$db->setQuery($query);
$db->execute();
//for default theme scss
$query = 'REPLACE INTO ' . $db->quoteName('#__community_theme')
. '(' . $db->quoteName('key') . ', ' . $db->quoteName('value') . ')'
. 'VALUES(' . $db->quote('scss-default') . ', ' . $db->quote('{"colors":{"scss-color-primary":"5677FC","scss-color-secondary":"259B24","scss-color-neutral":"ECF0F1","scss-color-important":"E74C3C","scss-color-info":"E67E22","scss-color-background":"ECF0F1","scss-color-toolbar":"F5F7F7","scss-color-focus-background":"FFFFFF","scss-color-postbox":"FFFFFF","scss-color-postbox-tab":"F5F5F5","scss-color-module-background":"FFFFFF","scss-color-moduletab-background":"E0E7E8","scss-color-dropdown-background":"FFFFFF","scss-color-dropdown-border":"E3E5E7"},"general":{"scss-stream-position":"right","scss-button-style":"flat","scss-avatar-shape":"circle","scss-avatar-style":"bordered"}}') . ')';
$db->setQuery($query);
try {
$db->execute();
} catch (Exception $e) {
}
//for s3 storage
$query = 'ALTER TABLE ' . $db->quoteName('#__community_events') . ' ADD ' . $db->quoteName('storage') . ' VARCHAR( 64 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ' . $db->quote('file');
$db->setQuery($query);
try {
$db->execute();
} catch (Exception $e) {
}
//Add primary key to Fb table
$query = 'ALTER TABLE ' . $db->quoteName('#__community_connect_users') . ' ADD PRIMARY KEY( ' . $db->quote('connectid') . ')';
$db->setQuery($query);
try {
$db->execute();
} catch (Exception $e) {
}
$query = 'ALTER TABLE ' . $db->quoteName('#__community_events') . ' ADD ' . $db->quoteName('unlisted') . ' TINYINT NOT NULL';
$db->setQuery($query);
try {
$db->execute();
} catch (Exception $e) {
}
//Update default template to jomsocial
$query = 'SELECT ' . $db->quoteName('params') . ' FROM ' . $db->quoteName('#__community_config') . ' WHERE ' . $db->quoteName('name') . ' = ' . $db->quote('config');
$db->setQuery($query);
$params = $db->loadResult();
$params = new Registry($params);
$params->set('template', 'jomsocial');
$params = $params->toString();
$query = 'UPDATE ' . $db->quoteName('#__community_config') . ' SET ' . $db->quoteName('params') . ' = ' . $db->quote($params)
. ' WHERE ' . $db->quoteName('name') . ' = ' . $db->quote('config');
$db->setQuery($query);
$db->execute();
//hashtag table
$query = 'CREATE TABLE IF NOT EXISTS ' . $db->quoteName('#__community_hashtag') . ' (
' . $db->quoteName('id') . ' int(11) NOT NULL AUTO_INCREMENT,
' . $db->quoteName('tag') . ' varchar(128) CHARACTER SET utf8 NOT NULL,
' . $db->quoteName('params') . ' text CHARACTER SET utf8 NOT NULL,
' . $db->quoteName('created_at') . ' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (' . $db->quoteName('id') . '),
UNIQUE KEY ' . $db->quoteName('tag') . ' (' . $db->quoteName('tag') . ')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1';
$db->setQuery($query);
$db->execute();
//migrate previous hashtag in activity to hashtag table
$query = 'SELECT ' . $db->quoteName('id') . ',' . $db->quoteName('title') . ',' . $db->quoteName('content') . ' FROM ' . $db->quoteName('#__community_activities') . ' order by id desc LIMIT 1000';
$db->setQuery($query);
$results = $db->loadObjectList();
$matches = null;
$hashtaglist = array();
foreach ($results as $result) {
preg_match_all('(#\w+)', $result->content . ' ' . $result->title, $matches);
if (!empty($matches[0])) {
foreach ($matches[0] as $match) {
if ($match != '#eee') { // videos content image src might have #eee as inline css, escape this
$hashtaglist[$match][] = $result->id;
}
}
}
}
if (count($hashtaglist) > 0) {
foreach ($hashtaglist as $hash => $activityIds) {
$param = new Registry();
$param->set('activity_id', $activityIds);
$query = 'REPLACE INTO ' . $db->quoteName('#__community_hashtag')
. '(' . $db->quoteName('tag') . ', ' . $db->quoteName('params') . ')'
. 'VALUES(' . $db->quote($hash) . ', ' . $db->quote($param->toString()) . ')';
$db->setQuery($query);
$db->execute();
}
}
// update activity table
$query = 'ALTER TABLE ' . $db->quoteName('#__community_activities') . ' ADD ' . $db->quoteName('updated_at') . ' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP';
$db->setQuery($query);
try {
$db->execute();
} catch (Exception $e) {
}
//update group table
$query = 'ALTER TABLE ' . $db->quoteName('#__community_groups') . ' ADD ' . $db->quoteName('summary') . ' TEXT NOT NULL';
$db->setQuery($query);
try {
$db->execute();
} catch (Exception $e) {
}
$query = 'ALTER TABLE ' . $db->quoteName('#__community_groups') . ' ADD ' . $db->quoteName('unlisted') . ' TINYINT NOT NULL';
$db->setQuery($query);
try {
$db->execute();
} catch (Exception $e) {
}
$query = 'DELETE FROM '.$db->quoteName('#__community_userpoints').' WHERE '.$db->quoteName('action_string').' = '.$db->quote('profile.avatar.uploads');
$db->setQuery($query);
$db->execute();
}
public static function update_17(){
$db = Factory::getDBO();
if (self::_isExistTableColumn('#__community_videos', 'eventid')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_videos') . ' ADD ' . $db->quoteName('eventid') . ' INT( 11 ) NOT NULL AFTER '
. $db->quoteName('groupid');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_featured', 'target_id')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_featured') .' ADD '.$db->quoteName('target_id').' INT(11) NOT NULL AFTER '.$db->quoteName('created_by');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_files', 'messageid')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_files') .' ADD '.$db->quoteName('messageid').' INT(11) NOT NULL AFTER '.$db->quoteName('profileid');
$db->setQuery($query);
$db->execute();
}
$query = 'CREATE TABLE IF NOT EXISTS ' . $db->quoteName('#__community_profile_stats') . ' (
' . $db->quoteName('id') . ' int(11) NOT NULL AUTO_INCREMENT,
' . $db->quoteName('uid') . ' int(11) NOT NULL,
' . $db->quoteName('type') . ' varchar(255) NOT NULL,
' . $db->quoteName('count') . ' int(11) NOT NULL,
' . $db->quoteName('date') . ' date NOT NULL,
' . $db->quoteName('params') . ' text NOT NULL,
' . $db->quoteName('created_at') . ' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (' . $db->quoteName('id') . ')
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1';
$db->setQuery($query);
$db->execute();
}
public static function update_18(){
$db = Factory::getDbo();
$query = 'CREATE TABLE IF NOT EXISTS ' . $db->quoteName('#__community_photo_stats') . ' (
' . $db->quoteName('id') . ' int(11) NOT NULL AUTO_INCREMENT,
' . $db->quoteName('pid') . ' int(11) NOT NULL,
' . $db->quoteName('type') . ' varchar(255) NOT NULL,
' . $db->quoteName('count') . ' int(11) NOT NULL,
' . $db->quoteName('date') . ' date NOT NULL,
' . $db->quoteName('params') . ' text NOT NULL,
' . $db->quoteName('created_at') . ' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (' . $db->quoteName('id') . ')
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1';
$db->setQuery($query);
$db->execute();
$query = 'CREATE TABLE IF NOT EXISTS ' . $db->quoteName('#__community_video_stats') . ' (
' . $db->quoteName('id') . ' int(11) NOT NULL AUTO_INCREMENT,
' . $db->quoteName('vid') . ' int(11) NOT NULL,
' . $db->quoteName('type') . ' varchar(255) NOT NULL,
' . $db->quoteName('count') . ' int(11) NOT NULL,
' . $db->quoteName('date') . ' date NOT NULL,
' . $db->quoteName('params') . ' text NOT NULL,
' . $db->quoteName('created_at') . ' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (' . $db->quoteName('id') . ')
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1';
$db->setQuery($query);
$db->execute();
$query = 'CREATE TABLE IF NOT EXISTS ' . $db->quoteName('#__community_group_stats') . ' (
' . $db->quoteName('id') . ' int(11) NOT NULL AUTO_INCREMENT,
' . $db->quoteName('gid') . ' int(11) NOT NULL,
' . $db->quoteName('type') . ' varchar(255) NOT NULL,
' . $db->quoteName('count') . ' int(11) NOT NULL,
' . $db->quoteName('date') . ' date NOT NULL,
' . $db->quoteName('params') . ' text NOT NULL,
' . $db->quoteName('created_at') . ' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (' . $db->quoteName('id') . ')
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1';
$db->setQuery($query);
$db->execute();
$query = 'CREATE TABLE IF NOT EXISTS ' . $db->quoteName('#__community_event_stats') . ' (
' . $db->quoteName('id') . ' int(11) NOT NULL AUTO_INCREMENT,
' . $db->quoteName('eid') . ' int(11) NOT NULL,
' . $db->quoteName('type') . ' varchar(255) NOT NULL,
' . $db->quoteName('count') . ' int(11) NOT NULL,
' . $db->quoteName('date') . ' date NOT NULL,
' . $db->quoteName('params') . ' text NOT NULL,
' . $db->quoteName('created_at') . ' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (' . $db->quoteName('id') . ')
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1';
$db->setQuery($query);
$db->execute();
}
public static function update_19(){
$db = Factory::getDbo();
$query = 'CREATE TABLE IF NOT EXISTS ' . $db->quoteName('#__community_digest_email') . ' (
' . $db->quoteName('user_id') . ' int(11) NOT NULL,
' . $db->quoteName('last_sent') . ' TIMESTAMP NOT NULL,
' . $db->quoteName('total_sent') . ' int(11) NOT NULL,
PRIMARY KEY (' . $db->quoteName('user_id') . ')
) ENGINE=MyISAM';
$db->setQuery($query);
$db->execute();
if (self::_isExistTableColumn('#__community_fields_values', 'params')) {
$query = 'ALTER TABLE ' . $db->quoteName('#__community_fields_values')
. ' ADD ' . $db->quoteName('params') . ' text NOT NULL';
$db->setQuery($query);
$db->execute();
}
}
public static function update_20(){
$db = Factory::getDbo();
$query = "CREATE TABLE IF NOT EXISTS ".$db->quoteName('#__community_thirdparty_wall_options')." (
".$db->quoteName('name')." varchar(255) NOT NULL PRIMARY KEY,
".$db->quoteName('notification_cmd')." varchar(255) NOT NULL,
".$db->quoteName('object_name')." varchar(255) NOT NULL,
".$db->quoteName('params')." text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8";
$db->setQuery($query);
$db->execute();
if (self::_isExistTableColumn('#__community_users', 'default_avatar')) {
$query = "ALTER TABLE " . $db->quoteName('#__community_users') . " ADD " . $db->quoteName('default_avatar') . " BOOLEAN NOT NULL DEFAULT TRUE ;";
}
$db->setQuery($query);
$db->execute();
}
public static function update_21(){
$db = Factory::getDbo();
//single chat tables
$query = "CREATE TABLE IF NOT EXISTS ".$db->quoteName('#__community_chat')." (
".$db->quoteName('id')." int(11) NOT NULL AUTO_INCREMENT,
".$db->quoteName('type')." CHAR(50) NOT NULL,
".$db->quoteName('name')." VARCHAR(250) NOT NULL,
".$db->quoteName('last_msg')." INT(11) NOT NULL,
PRIMARY KEY (".$db->quoteName('id').")
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1";
$db->setQuery($query);
$db->execute();
$query = "CREATE TABLE IF NOT EXISTS ".$db->quoteName('#__community_chat_activity')." (
".$db->quoteName('id')." int(11) NOT NULL AUTO_INCREMENT,
".$db->quoteName('chat_id')." int(11) NOT NULL,
".$db->quoteName('user_id')." int(11) NOT NULL,
".$db->quoteName('action')." CHAR(50) NOT NULL,
".$db->quoteName('content')." TEXT NOT NULL DEFAULT '',
".$db->quoteName('params')." TEXT NOT NULL DEFAULT '',
".$db->quoteName('created_at')." DATETIME NOT NULL,
PRIMARY KEY (".$db->quoteName('id').")
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1";
$db->setQuery($query);
$db->execute();
$query = "CREATE TABLE IF NOT EXISTS ".$db->quoteName('#__community_chat_participants')." (
".$db->quoteName('id')." int(11) NOT NULL AUTO_INCREMENT,
".$db->quoteName('chat_id')." int(11) NOT NULL,
".$db->quoteName('user_id')." int(11) NOT NULL,
".$db->quoteName('enabled')." int(11) NOT NULL DEFAULT '1',
".$db->quoteName('mute')." int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (".$db->quoteName('id').")
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1";
$db->setQuery($query);
$db->execute();
if (self::_isExistTableColumn('#__community_profiles', 'params')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_profiles') .' ADD '.$db->quoteName('params').' TEXT NULL AFTER '.$db->quoteName('ordering');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_users', 'usergroup')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_users') .' ADD '.$db->quoteName('usergroup').' TINYTEXT NULL AFTER '.$db->quoteName('default_avatar');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_msg', 'migrated')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_msg') .' ADD '.$db->quoteName('migrated').' INT NULL AFTER '.$db->quoteName('body');
$db->setQuery($query);
$db->execute();
}
}
public static function update_22(){
$db = Factory::getDbo();
try {
$query = 'ALTER TABLE '. $db->quoteName('#__community_badges') .' DROP INDEX '.$db->quoteName('points');
$db->setQuery($query);
$db->execute();
} catch (Exception $e) {
// do nothing
}
}
public static function update_23(){
$db = Factory::getDbo();
try {
$query = 'ALTER TABLE '. $db->quoteName('#__community_badges') .' DROP INDEX '.$db->quoteName('points');
$db->setQuery($query);
$db->execute();
} catch (Exception $e) {
// do nothing
}
// Add index at chat table
try {
$query = 'ALTER TABLE '. $db->quoteName('#__community_chat_participants') .' ADD INDEX '. $db->quoteName('idx_chat_id') . ' ( ' . $db->quoteName('chat_id') . ')';
$db->setQuery($query);
$db->execute();
} catch (Exception $e) {
// do nothing
}
try {
$query = 'ALTER TABLE '. $db->quoteName('#__community_chat_participants') .' ADD INDEX '. $db->quoteName('idx_user_id') . ' ( ' . $db->quoteName('user_id') . ')';
$db->setQuery($query);
$db->execute();
} catch (Exception $e) {
// do nothing
}
try {
$query = 'ALTER TABLE '. $db->quoteName('#__community_chat_activity') .' ADD INDEX '. $db->quoteName('idx_chat_id') . ' ( ' . $db->quoteName('chat_id') . ')';
$db->setQuery($query);
$db->execute();
} catch (Exception $e) {
// do nothing
}
try {
$query = 'ALTER TABLE '. $db->quoteName('#__community_chat_activity') .' ADD INDEX '. $db->quoteName('idx_user_id') . ' ( ' . $db->quoteName('user_id') . ')';
$db->setQuery($query);
$db->execute();
} catch (Exception $e) {
// do nothing
}
}
public static function update_24(){
$db = Factory::getDbo();
if (self::_isExistTableColumn('#__community_chat', 'params')) {
$query = "ALTER TABLE ". $db->quoteName('#__community_chat') ." ADD ".$db->quoteName('params')." TEXT NOT NULL DEFAULT '' AFTER ".$db->quoteName('last_msg');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_chat_participants', 'params')) {
$query = "ALTER TABLE ". $db->quoteName('#__community_chat_participants') ." ADD ".$db->quoteName('params')." TEXT NOT NULL DEFAULT '' AFTER ".$db->quoteName('mute');
$db->setQuery($query);
$db->execute();
}
}
public static function update_25(){
$db = Factory::getDbo();
if (self::_isExistTableColumn('#__community_files', 'actid')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_files') .' ADD '.$db->quoteName('actid').' INT NULL AFTER '.$db->quoteName('messageid');
$db->setQuery($query);
$db->execute();
}
}
public static function update_26(){
$db = Factory::getDbo();
// Set default rules
$query = "UPDATE #__assets SET rules=".$db->Quote('{"community.profileedit":{"6":1},"community.profileeditstate":{"6":1},"community.groupcreate":{"6":1,"2":1},"community.groupdelete":{"6":1},"community.groupedit":{"6":1},"community.groupeditstate":{"6":1},"community.eventcreate":{"6":1,"2":1},"community.eventdelete":{"6":1},"community.eventedit":{"6":1},"community.eventeditstate":{"6":1},"community.photocreate":{"6":1,"2":1},"community.photodelete":{"6":1},"community.photoedit":{"6":1},"community.photoeditstate":{"6":1},"community.videocreate":{"6":1,"2":1},"community.videodelete":{"6":1},"community.videoedit":{"6":1},"community.videoeditstate":{"6":1},"community.postcommentcreate":{"6":1,"2":1},"community.postcommentdelete":{"6":1},"community.postcommentedit":{"6":1},"core.manage":{"6":1},"core.admin":{"7":1,"6":1},"community.friendrequest":{"6":1,"2":1},"community.filesharingcreate":{"6":1,"2":1},"community.pollcreate":{"6":1,"2":1},"community.polldelete":{"6":1},"community.polledit":{"6":1},"community.polleditstate":{"6":1}}')." WHERE name=".$db->Quote('com_community');
$db->setQuery($query);
$db->query();
}
public static function update_27(){
$db = Factory::getDbo();
if (self::_isExistTableColumn('#__community_likes', 'reaction_ids')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_likes') .' ADD '.$db->quoteName('reaction_ids').' TEXT NOT NULL AFTER '.$db->quoteName('dislike');
$db->setQuery($query);
$db->execute();
}
}
public static function update_28(){
$db = Factory::getDbo();
$query = 'UPDATE ' . $db->quoteName('#__community_polls') . ' SET ' . $db->quoteName('groupid') . ' = ' . $db->quote(0) . ' WHERE ' . $db->quoteName('groupid') . ' IS NULL';
$db->setQuery($query);
$db->execute();
$query = 'UPDATE ' . $db->quoteName('#__community_polls') . ' SET ' . $db->quoteName('eventid') . ' = ' . $db->quote(0) . ' WHERE ' . $db->quoteName('eventid') . ' IS NULL';
$db->setQuery($query);
$db->execute();
}
public static function update_29(){
$db = Factory::getDbo();
// Set default rules
$query = "UPDATE #__assets SET rules=".$db->Quote('{"community.profileedit":{"6":1},"community.profileeditstate":{"6":1},"community.groupcreate":{"6":1,"2":1},"community.groupdelete":{"6":1},"community.groupedit":{"6":1},"community.groupeditstate":{"6":1},"community.eventcreate":{"6":1,"2":1},"community.eventdelete":{"6":1},"community.eventedit":{"6":1},"community.eventeditstate":{"6":1},"community.photocreate":{"6":1,"2":1},"community.photodelete":{"6":1},"community.photoedit":{"6":1},"community.photoeditstate":{"6":1},"community.videocreate":{"6":1,"2":1},"community.videodelete":{"6":1},"community.videoedit":{"6":1},"community.videoeditstate":{"6":1},"community.postcommentcreate":{"6":1,"2":1},"community.postcommentdelete":{"6":1},"community.postcommentedit":{"6":1},"core.manage":{"6":1},"core.admin":{"7":1,"6":1},"community.friendrequest":{"6":1,"2":1},"community.filesharingcreate":{"6":1,"2":1},"community.pollcreate":{"6":1,"2":1},"community.polldelete":{"6":1},"community.polledit":{"6":1},"community.polleditstate":{"6":1},"community.pagecreate":{"6":1,"2":1},"community.pagedelete":{"6":1},"community.pageedit":{"6":1},"community.pageeditstate":{"6":1}}')." WHERE name=".$db->Quote('com_community');
$db->setQuery($query);
$db->query();
if (self::_isExistTableColumn('#__community_activities', 'page_access')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_activities') .' ADD '.$db->quoteName('page_access').' TINYINT(4) NOT NULL DEFAULT 0 AFTER '.$db->quoteName('eventid');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_activities', 'pageid')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_activities') .' ADD '.$db->quoteName('pageid').' INT(10) NULL AFTER '.$db->quoteName('cid');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_photos_albums', 'pageid')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_photos_albums') .' ADD '.$db->quoteName('pageid').' INT(11) NOT NULL DEFAULT 0 AFTER '.$db->quoteName('type');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_videos', 'pageid')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_videos') .' ADD '.$db->quoteName('pageid').' INT(11) NOT NULL DEFAULT 0 AFTER '.$db->quoteName('path');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_polls', 'pageid')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_polls') .' ADD '.$db->quoteName('pageid').' INT(11) NULL AFTER '.$db->quoteName('type');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_files', 'pageid')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_files') .' ADD '.$db->quoteName('pageid').' INT(11) NULL AFTER '.$db->quoteName('name');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_users', 'pages')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_users') .' ADD '.$db->quoteName('pages').' TEXT NOT NULL AFTER '.$db->quoteName('friends');
$db->setQuery($query);
$db->execute();
}
}
public static function update_30(){
$db = Factory::getDbo();
if (self::_isExistTableColumn('#__community_users', 'pages')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_users') .' ADD '.$db->quoteName('pages').' TEXT NOT NULL AFTER '.$db->quoteName('friends');
$db->setQuery($query);
$db->execute();
}
}
public static function update_31()
{
$db = Factory::getDBO();
// Update Gender Field Value
if (self::_isExistMenu()) {
$query = 'UPDATE ' . $db->quoteName('#__community_fields') . ' SET ' . $db->quoteName('options') . ' = ' . $db->quote("COM_COMMUNITY_MALE" . "\n" . "COM_COMMUNITY_FEMALE" . "\n" . "COM_COMMUNITY_NOT_SPECIFIED");
$query .= ' WHERE ' . $db->quoteName('type') . ' = ' . $db->quote('gender');
$db->setQuery($query);
$db->execute();
}
}
public static function update_32(){
$db = Factory::getDbo();
$query = 'ALTER TABLE '. $db->quoteName('#__community_connect_users') .' CHANGE '.$db->quoteName('connectid'). ' ' . $db->quoteName('connectid') .' VARCHAR(100) NOT NULL';
$db->setQuery($query);
$db->execute();
}
public static function update_33(){
$db = Factory::getDbo();
if (self::_isExistTableColumn('#__community_groups', 'alias')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_groups') .' ADD '.$db->quoteName('alias').' VARCHAR(100) NULL AFTER '.$db->quoteName('storage');
$db->setQuery($query);
$db->execute();
}
if (self::_isExistTableColumn('#__community_pages', 'alias')) {
$query = 'ALTER TABLE '. $db->quoteName('#__community_pages') .' ADD '.$db->quoteName('alias').' VARCHAR(100) NULL AFTER '.$db->quoteName('storage');
$db->setQuery($query);
$db->execute();
}
}
public static function update_34() {
$db = Factory::getDbo();
try {
$query = 'ALTER TABLE '. $db->quoteName('#__community_users') .' ADD INDEX '. $db->quoteName('idx_alias') . ' ( ' . $db->quoteName('alias') . ')';
$db->setQuery($query);
$db->execute();
} catch (Exception $e) {
// do nothing
}
}
}