/** * function for installing coscms from a profile */ function cos_install($options = false) { // we need a profile specified if (!isset($options['profile'])) { common::abort('You need to specifiy a profile'); } // create files - logs/ - files/ cos_create_files(); // drop database drop_db_default($ary = array('silence' => 1)); // create database create_db(); // load default base sql. load_db_default(); // Set up profile to install $pro = new profile(); $pro->setProfileInfo($options['profile']); // install all the profile modules foreach ($pro->profileModules as $key => $val) { // check if master is specified. Else use profile version if (conf::getMainIni('git_use_master')) { $tag = 'master'; } else { $tag = $val['module_version']; } $options['repo'] = $val['public_clone_url']; $options['version'] = $tag; //$val['module_version']; $options['module'] = $val['module_name']; // check out and install cos_git_install($options, 'module'); } // install templates foreach ($pro->profileTemplates as $key => $val) { if (conf::getMainIni('git_use_master')) { $tag = 'master'; } else { $tag = $val['module_version']; } $options['repo'] = $val['public_clone_url']; $options['version'] = $tag; //$val['module_version']; $options['template'] = $val['module_name']; // check out and install cos_git_install($options, 'template'); } // load all profile ini files $pro->loadProfileFiles($options['profile']); // set template $pro->setProfileTemplate(); }
function install_from_profile($options) { $pro = new profile(); $pro->setProfileInfo($options['profile']); $final = true; foreach ($pro->profileModules as $val) { $val['module'] = $val['module_name']; $val['version'] = $val['module_version']; if ($val['module'] == 'siteclone') { continue; } $module = new moduleinstaller($val); if ($module->isInstalled($val['module_name'])) { upgrade_module($val); } else { $ret = install_module_silent($val); if (!$ret) { $final = false; } } } // set template $pro->setProfileTemplate(); return $final; }
/** * wrapper function for settings template * change template in db to load specified template. * @param array options */ function set_template($options) { $template = $options['template']; $pro = new profile(); return $pro->setProfileTemplate($template); }