mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-13 08:46:09 +01:00
bug fix: Correctly store databases and users for cPanel Importer
This commit is contained in:
@@ -193,11 +193,18 @@ class FileManager:
|
|||||||
if not self.data['newPath'].find(self.data['home']) > -1:
|
if not self.data['newPath'].find(self.data['home']) > -1:
|
||||||
return self.ajaxPre(0, 'Not allowed to move in this path, please choose location inside home!')
|
return self.ajaxPre(0, 'Not allowed to move in this path, please choose location inside home!')
|
||||||
|
|
||||||
|
if len(self.data['fileAndFolders']) == 1:
|
||||||
|
command = 'yes| cp -Rf %s %s' % (self.returnPathEnclosed(self.data['basePath']+ '/' + self.data['fileAndFolders'][0]), self.data['newPath'])
|
||||||
|
ProcessUtilities.executioner(command, website.externalApp)
|
||||||
|
self.changeOwner(self.data['newPath'])
|
||||||
|
json_data = json.dumps(finalData)
|
||||||
|
return HttpResponse(json_data)
|
||||||
|
|
||||||
command = 'mkdir ' + self.returnPathEnclosed(self.data['newPath'])
|
command = 'mkdir ' + self.returnPathEnclosed(self.data['newPath'])
|
||||||
ProcessUtilities.executioner(command, website.externalApp)
|
ProcessUtilities.executioner(command, website.externalApp)
|
||||||
|
|
||||||
for item in self.data['fileAndFolders']:
|
for item in self.data['fileAndFolders']:
|
||||||
command = 'cp -R ' + self.returnPathEnclosed(self.data['basePath'] + '/' + item) + ' ' + self.returnPathEnclosed(self.data['newPath'] + '/' + item)
|
command = '%scp -Rf ' % ('yes |') + self.returnPathEnclosed(self.data['basePath'] + '/' + item) + ' ' + self.returnPathEnclosed(self.data['newPath'])
|
||||||
ProcessUtilities.executioner(command, website.externalApp)
|
ProcessUtilities.executioner(command, website.externalApp)
|
||||||
|
|
||||||
self.changeOwner(self.data['newPath'])
|
self.changeOwner(self.data['newPath'])
|
||||||
|
|||||||
@@ -519,7 +519,7 @@ class ACLManager:
|
|||||||
|
|
||||||
if currentACL['admin'] == 1:
|
if currentACL['admin'] == 1:
|
||||||
return 1
|
return 1
|
||||||
elif domain.admin.admin == admin:
|
elif domain.admin == admin:
|
||||||
return 1
|
return 1
|
||||||
elif domain.admin.owner == admin.pk:
|
elif domain.admin.owner == admin.pk:
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
@@ -628,7 +628,7 @@ class cPanelImporter:
|
|||||||
logging.statusWriter(self.logFile, message, 1)
|
logging.statusWriter(self.logFile, message, 1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
cursor.execute("CREATE DATABASE " + items.replace('.sql', ''))
|
cursor.execute("CREATE DATABASE `%s`" % (items.replace('.sql', '')))
|
||||||
except BaseException, msg:
|
except BaseException, msg:
|
||||||
message = 'Failed while restoring database %s from backup file %s, error message: %s' % (items.replace('.sql', ''), self.backupFile, str(msg))
|
message = 'Failed while restoring database %s from backup file %s, error message: %s' % (items.replace('.sql', ''), self.backupFile, str(msg))
|
||||||
logging.statusWriter(self.logFile, message, 1)
|
logging.statusWriter(self.logFile, message, 1)
|
||||||
@@ -644,7 +644,26 @@ class cPanelImporter:
|
|||||||
|
|
||||||
website = Websites.objects.get(domain=self.mainDomain)
|
website = Websites.objects.get(domain=self.mainDomain)
|
||||||
|
|
||||||
db = Databases(website=website, dbName=items.replace('.sql', ''), dbUser=items.replace('.sql', ''))
|
## Trying to figure out dbname
|
||||||
|
|
||||||
|
CommandsPath = '%s/mysql.sql' % (CompletPathToExtractedArchive)
|
||||||
|
|
||||||
|
data = open(CommandsPath, 'r').readlines()
|
||||||
|
|
||||||
|
for inItems in data:
|
||||||
|
if inItems.find('GRANT ALL PRIVILEGES') > -1 and inItems.find('localhost') > -1 and inItems.find('_test') == -1:
|
||||||
|
cDBName = inItems.split('`')[1].replace('\\', '')
|
||||||
|
logging.statusWriter(self.logFile, inItems, 1)
|
||||||
|
if cDBName == items.replace('.sql', ''):
|
||||||
|
cDBUser = inItems.split("'")[1]
|
||||||
|
message = 'Database user for %s is %s.' % (cDBName, cDBUser)
|
||||||
|
logging.statusWriter(self.logFile, message, 1)
|
||||||
|
if Databases.objects.filter(dbUser=cDBUser).count() > 0:
|
||||||
|
continue
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
|
db = Databases(website=website, dbName=items.replace('.sql', ''), dbUser=cDBUser)
|
||||||
db.save()
|
db.save()
|
||||||
|
|
||||||
message = 'MySQL dump successfully restored for %s.' % (items.replace('.sql', ''))
|
message = 'MySQL dump successfully restored for %s.' % (items.replace('.sql', ''))
|
||||||
|
|||||||
Reference in New Issue
Block a user