Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/single_page/dashboard/extend/update.php
Строк: 80
<?php
namespace ConcreteControllerSinglePageDashboardExtend;

use 
ConcreteCorePageControllerDashboardPageController;
use 
TaskPermission;
use 
Package;
use 
Marketplace;
use 
ConcreteCoreMarketplaceRemoteItem as MarketplaceRemoteItem;
use 
Localization;
use 
Loader;
use 
Exception;

class 
Update extends DashboardPageController {
    
    public function 
on_start() {
        
$this->error Loader::helper('validation/error');
    }
    public function 
do_update($pkgHandle false) {
        
$tp = new TaskPermission();
        if (
$tp->canInstallPackages()) { 
            if (
$pkgHandle) {
                
$tests Package::testForInstall($pkgHandlefalse);
                if (
is_array($tests)) {
                    
$tests Package::mapError($tests);
                    
$this->set('error'$tests);
                } else {
                    
$p Package::getByHandle($pkgHandle);
                    
$currentLocale Localization::activeLocale();
                    if (
$currentLocale != 'en_US') {
                        
// Prevent the database records being stored in wrong language
                        
Localization::changeLocale('en_US');
                    }
                    try {
                        
$p->upgradeCoreData();
                        
$p->upgrade();
                        if (
$currentLocale != 'en_US') {
                            
Localization::changeLocale($currentLocale);
                        }
                        
$this->set('message't('The package has been updated successfully.'));
                    } catch(
Exception $e) {
                        if (
$currentLocale != 'en_US') {
                            
Localization::changeLocale($currentLocale);
                        }
                        
$this->error->add($e);
                    }
                }
            }
        }
        
$this->view();
    }
    
    public function 
view() {
        
$tp = new TaskPermission();
        if (
$tp->canInstallPackages()) { 
            
$mi Marketplace::getInstance();
            if (
$mi->isConnected()) {
                
Marketplace::checkPackageUpdates();
            }
        }
    }

    public function 
prepare_remote_upgrade($remoteMPID 0){
        
$tp = new TaskPermission();
        if (
$tp->canInstallPackages()) { 
            
            
$mri MarketplaceRemoteItem::getByID($remoteMPID);
    
            if (!
is_object($mri)) {
                
$this->set('error', array(t('Invalid marketplace item ID.')));
                return;
            }
            
            
$local Package::getbyHandle($mri->getHandle());
            if (!
is_object($local) || $local->isPackageInstalled() == false) {
                
$this->set('error', array(Package::E_PACKAGE_NOT_FOUND));
                return;
            }        
            
            
$r $mri->downloadUpdate();
    
            if (
$r != false) {
                if (!
is_array($r)) {
                    
$this->set('error', array($r));
                } else {
                    
$errors Package::mapError($r);
                    
$this->set('error'$errors);
                }
            } else {
                
$this->redirect('/dashboard/extend/update''do_update'$mri->getHandle());
            }
        }
    }

}
Онлайн: 3
Реклама