diff --git a/CLScript/CloudLinuxUsers.py b/CLScript/CloudLinuxUsers.py
new file mode 100755
index 000000000..ae2b4d8c6
--- /dev/null
+++ b/CLScript/CloudLinuxUsers.py
@@ -0,0 +1,58 @@
+#!/usr/local/CyberCP/bin/python
+import sys
+import os.path
+import django
+
+sys.path.append('/usr/local/CyberCP')
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
+try:
+ django.setup()
+except:
+ pass
+from websiteFunctions.models import Websites
+from CLManager.CLPackages import CLPackages
+import argparse
+import pwd
+import json
+from CLScript.CLMain import CLMain
+
+
+class CloudLinuxUsers(CLMain):
+
+ def __init__(self):
+ CLMain.__init__(self)
+
+ def listAll(self, owner=None):
+ users = []
+
+ for webs in Websites.objects.all():
+ itemPackage = webs.package
+ clPackage = CLPackages.objects.get(owner=itemPackage)
+ package = {'name': clPackage.name, 'owner': webs.externalApp}
+
+ user = {'id': pwd.getpwnam(webs.externalApp).pw_uid,
+ 'username': webs.externalApp,
+ 'owner': webs.externalApp,
+ 'domain': webs.domain,
+ 'package': package,
+ 'email': webs.adminEmail,
+ "locale_code": "EN_us"
+ }
+
+ users.append(user)
+
+ final = {'data': users, 'metadata': self.initialMeta}
+ print(json.dumps(final))
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='CyberPanel CloudLinux Manager')
+ parser.add_argument('--owner', help='Owner')
+
+ args = parser.parse_args()
+
+ pi = CloudLinuxUsers()
+ try:
+ pi.listAll(args.owner)
+ except:
+ pi.listAll()
diff --git a/install/installCyberPanel.py b/install/installCyberPanel.py
index 2a7de196b..075989f76 100755
--- a/install/installCyberPanel.py
+++ b/install/installCyberPanel.py
@@ -182,12 +182,18 @@ class InstallCyberPanel:
install.preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
- ## only php 72
+ ## only php 73
command = 'yum install -y lsphp73 lsphp73-json lsphp73-xmlrpc lsphp73-xml lsphp73-tidy lsphp73-soap lsphp73-snmp ' \
'lsphp73-recode lsphp73-pspell lsphp73-process lsphp73-pgsql lsphp73-pear lsphp73-pdo lsphp73-opcache ' \
'lsphp73-odbc lsphp73-mysqlnd lsphp73-mcrypt lsphp73-mbstring lsphp73-ldap lsphp73-intl lsphp73-imap ' \
'lsphp73-gmp lsphp73-gd lsphp73-enchant lsphp73-dba lsphp73-common lsphp73-bcmath'
+ ## only php 74
+ command = 'yum install -y lsphp74 lsphp74-json lsphp74-xmlrpc lsphp74-xml lsphp74-tidy lsphp74-soap lsphp74-snmp ' \
+ 'lsphp74-recode lsphp74-pspell lsphp74-process lsphp74-pgsql lsphp74-pear lsphp74-pdo lsphp74-opcache ' \
+ 'lsphp74-odbc lsphp74-mysqlnd lsphp74-mcrypt lsphp74-mbstring lsphp74-ldap lsphp74-intl lsphp74-imap ' \
+ 'lsphp74-gmp lsphp74-gd lsphp74-enchant lsphp74-dba lsphp74-common lsphp74-bcmath'
+
install.preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
def setup_mariadb_repo(self):
diff --git a/managePHP/php74.xml b/managePHP/php74.xml
new file mode 100755
index 000000000..54676d132
--- /dev/null
+++ b/managePHP/php74.xml
@@ -0,0 +1,275 @@
+
+
+ php74
+
+
+ lsphp74-debuginfo
+ Debug information for package lsphp74
+ 0
+
+
+
+ lsphp74-pecl-igbinary-debuginfo
+ Debug information for package lsphp74-pecl-igbinary
+ 0
+
+
+
+ lsphp74-pecl-mcrypt-debuginfo
+ lsphp74 lsphp74-pecl-mcrypt-debuginfo Extension
+ 0
+
+
+
+ lsphp74-bcmath
+ A extension for PHP applications for using the bcmath library.
+ 1
+
+
+
+ lsphp74-common
+ Common files for PHP.
+ 1
+
+
+
+ lsphp74-dba
+ A database abstraction layer extension for PHP applications.
+ 1
+
+
+
+ lsphp74-devel
+ Files needed for building PHP extensions.
+ 0
+
+
+
+ lsphp74-enchant
+ Enchant spelling extension for PHP applications.
+ 1
+
+
+
+ lsphp74-gd
+ A extension for PHP applications for using the gd graphics library.
+ 1
+
+
+
+ lsphp74-gmp
+ A extension for PHP applications for using the GNU MP library.
+ 1
+
+
+
+ lsphp74-imap
+ A extension for PHP applications that use IMAP.
+ 1
+
+
+
+ lsphp74-intl
+ Internationalization extension for PHP applications.
+ 1
+
+
+
+ lsphp74-json
+ lsphp74 Json PHP Extension
+ 1
+
+
+
+ lsphp74-ldap
+ A extension for PHP applications that use LDAP.
+ 1
+
+
+
+ lsphp74-mbstring
+ A extension for PHP applications which need multi-byte string handling.
+ 1
+
+
+
+ lsphp74-mysqlnd
+ A extension for PHP applications that use MySQL databases.
+ 1
+
+
+
+ lsphp74-odbc
+ A extension for PHP applications that use ODBC databases.
+ 1
+
+
+
+ lsphp74-opcache
+ The Zend OPcache.
+ 1
+
+
+
+ lsphp74-pdo
+ A database access abstraction extension for PHP applications.
+ 1
+
+
+
+ lsphp74-pear
+ PHP Extension and Application Repository framework.
+ 1
+
+
+
+ lsphp74-pecl-apcu
+ APC User Cache.
+ 0
+
+
+
+ lsphp74-pecl-apcu-devel
+ APCu developer files (header).
+ 0
+
+
+
+ lsphp74-pecl-apcu-panel
+ APCu control panel.
+ 0
+
+
+
+ lsphp74-pecl-igbinary
+ Replacement for the standard PHP serializer.
+ 0
+
+
+
+ lsphp74-pecl-igbinary-devel
+ Igbinary developer files (header).
+ 0
+
+
+
+ lsphp74-pecl-mcrypt
+ lsphp74 lsphp74-pecl-mcrypt Extension.
+ 0
+
+
+
+ lsphp74-pecl-memcache
+ Extension to work with the Memcached caching daemon.
+ 0
+
+
+
+ lsphp74-pecl-memcached
+ Extension to work with the Memcached caching daemon.
+ 0
+
+
+
+ lsphp74-pecl-msgpack
+ API for communicating with MessagePack serialization.
+ 0
+
+
+
+ lsphp74-pecl-msgpack-devel
+ MessagePack developer files (header).
+ 0
+
+
+
+ lsphp74-pecl-redis
+ Extension for communicating with the Redis key-value store.
+ 0
+
+
+
+ lsphp74-pgsql
+ A PostgreSQL database extension for PHP.
+ 1
+
+
+
+ lsphp74-process
+ extensions for PHP script using system process interfaces.
+ 1
+
+
+
+ lsphp74-pspell
+ A extension for PHP applications for using pspell interfaces.
+ 1
+
+
+
+ lsphp74-recode
+ A extension for PHP applications for using the recode library.
+ 1
+
+
+
+ lsphp74-snmp
+ A extension for PHP applications that query SNMP-managed devices.
+ 1
+
+
+
+ lsphp74-soap
+ A extension for PHP applications that use the SOAP protocol.
+ 1
+
+
+
+ lsphp74-tidy
+ Standard PHP extension provides tidy library support.
+ 1
+
+
+
+ lsphp74-xml
+ Standard PHP extension provides tidy library support.
+ 1
+
+
+
+ lsphp74-xmlrpc
+ A extension for PHP applications which use the XML-RPC protocol.
+ 1
+
+
+
+ lsphp74-zip
+ ZIP archive management extension for PHP
+ 0
+
+
+
+ lsphp74-mcrypt
+ Standard PHP extension provides mcrypt library support.
+ 1
+
+
+
+ lsphp74-dbg
+ php73-dbg lsphp74-package
+ 0
+
+
+
+ lsphp74-ioncube
+ ioncube loaders
+ 0
+
+
+
+ lsphp74-pecl-imagick
+ Extension to create and modify images using ImageMagick
+ 0
+
+
+
\ No newline at end of file
diff --git a/managePHP/phpManager.py b/managePHP/phpManager.py
index ef61f0407..536d7b53f 100755
--- a/managePHP/phpManager.py
+++ b/managePHP/phpManager.py
@@ -12,9 +12,9 @@ class PHPManager:
@staticmethod
def findPHPVersions():
if ProcessUtilities.decideDistro() == ProcessUtilities.centos:
- return ['PHP 5.3', 'PHP 5.4', 'PHP 5.5', 'PHP 5.6', 'PHP 7.0', 'PHP 7.1', 'PHP 7.2', 'PHP 7.3']
+ return ['PHP 5.3', 'PHP 5.4', 'PHP 5.5', 'PHP 5.6', 'PHP 7.0', 'PHP 7.1', 'PHP 7.2', 'PHP 7.3', 'PHP 7.4']
else:
- return ['PHP 7.0', 'PHP 7.1', 'PHP 7.2', 'PHP 7.3']
+ return ['PHP 7.0', 'PHP 7.1', 'PHP 7.2', 'PHP 7.3', 'PHP 7.4']
@staticmethod
def getPHPString(phpVersion):
diff --git a/managePHP/ubuntuphp74.xml b/managePHP/ubuntuphp74.xml
new file mode 100755
index 000000000..f60add02a
--- /dev/null
+++ b/managePHP/ubuntuphp74.xml
@@ -0,0 +1,125 @@
+
+
+ php74
+
+
+ lsphp73-common
+ Most of what you need.
+ 1
+
+
+
+ lsphp74-curl
+ Curl (common web tools) required for PHP
+ 1
+
+
+
+ lsphp74-dbg
+ Debugging extension
+ 0
+
+
+
+ lsphp74-dev
+ Development features almost always required.
+ 1
+
+
+
+ lsphp74-imap
+ Email extensions for PHP.
+ 1
+
+
+
+ lsphp74-intl
+ Extensions for countries other than the U.S.
+ 1
+
+
+
+ lsphp74-json
+ PHP extensions for JavaScript Object Notation.
+ 1
+
+
+
+ lsphp74-ldap
+ PHP extensions for LDAP (directory access protocol)
+ 1
+
+
+
+ lsphp74-modules-source
+ PHP source modules for virtually everything. Very large.
+ 0
+
+
+
+ lsphp74-mysql
+ PHP extension for MySQL or MariaDB databases.
+ 1
+
+
+
+ lsphp74-opcache
+ PHP low-level caching of code. Very important for performance.
+ 1
+
+
+
+ lsphp74-pgsql
+ A PostgreSQL database extension for PHP.
+ 0
+
+
+
+ lsphp74-pspell
+ PHP spell checking extensions.
+ 0
+
+
+
+ lsphp74-recode
+ PHP extension to transform data between different character sets.
+ 1
+
+
+
+ lsphp74-snmp
+ PHP network management extensions.
+ 0
+
+
+
+ lsphp74-sqlite3
+ An extension for PHP applications that use the SQLite v3 features.
+ 1
+
+
+
+ lsphp74-sybase
+ An extension for PHP applications that use Sybase databases.
+ 0
+
+
+
+ lsphp74-tidy
+ PHP extensions for manipulating HTML, XHTML and XML documents.
+ 1
+
+
+
+ lsphp74-ioncube
+ ioncube loaders
+ 0
+
+
+
+ lsphp74-imagick
+ Extension to create and modify images using ImageMagick
+ 0
+
+
+
diff --git a/managePHP/views.py b/managePHP/views.py
index 5870349c4..8375f082b 100755
--- a/managePHP/views.py
+++ b/managePHP/views.py
@@ -1193,6 +1193,34 @@ def installExtensions(request):
phpExtension.save()
+ if PHP.objects.count() == 8:
+
+ newPHP74 = PHP(phpVers="php74")
+ newPHP74.save()
+
+ php74Path = ''
+
+ if ProcessUtilities.decideDistro() == ProcessUtilities.centos:
+ php74Path = os.path.join('/usr', 'local', 'CyberCP', 'managePHP', 'php74.xml')
+ else:
+ php74Path = os.path.join('/usr', 'local', 'CyberCP', 'managePHP', 'ubuntuphp74.xml')
+
+ php74 = ElementTree.parse(php74Path)
+
+ php74Extensions = php74.findall('extension')
+
+ for extension in php74Extensions:
+ extensionName = extension.find('extensionName').text
+ extensionDescription = extension.find('extensionDescription').text
+ status = int(extension.find('status').text)
+
+ phpExtension = installedPackages(phpVers=newPHP74,
+ extensionName=extensionName,
+ description=extensionDescription,
+ status=status)
+
+ phpExtension.save()
+
return render(request, 'managePHP/installExtensions.html', {'phps': PHPManager.findPHPVersions()})
except KeyError:
return redirect(loadLoginPage)
diff --git a/plogical/upgrade.py b/plogical/upgrade.py
index 85d0a35be..3eb0aa748 100755
--- a/plogical/upgrade.py
+++ b/plogical/upgrade.py
@@ -1732,6 +1732,13 @@ CSRF_COOKIE_SECURE = True
'lsphp73-odbc lsphp73-mysqlnd lsphp73-mcrypt lsphp73-mbstring lsphp73-ldap lsphp73-intl lsphp73-imap ' \
'lsphp73-gmp lsphp73-gd lsphp73-enchant lsphp73-dba lsphp73-common lsphp73-bcmath'
Upgrade.executioner(command, 'Install PHP 73, 0')
+
+ command = 'yum install -y lsphp74 lsphp74-json lsphp74-xmlrpc lsphp74-xml lsphp74-tidy lsphp74-soap lsphp74-snmp ' \
+ 'lsphp74-recode lsphp74-pspell lsphp74-process lsphp74-pgsql lsphp74-pear lsphp74-pdo lsphp74-opcache ' \
+ 'lsphp74-odbc lsphp74-mysqlnd lsphp74-mcrypt lsphp74-mbstring lsphp74-ldap lsphp74-intl lsphp74-imap ' \
+ 'lsphp74-gmp lsphp74-gd lsphp74-enchant lsphp74-dba lsphp74-common lsphp74-bcmath'
+
+ Upgrade.executioner(command, 'Install PHP 74, 0')
except:
command = 'DEBIAN_FRONTEND=noninteractive apt-get -y install ' \
'lsphp7? lsphp7?-common lsphp7?-curl lsphp7?-dev lsphp7?-imap lsphp7?-intl lsphp7?-json ' \