/home/projects/qss/test_ls6.10/application/helpers/SurveyThemeHelper.php(503)
491 * a warning is logged with details about the issue. 492 * 493 * @param string $configFile Path to the configuration file to be checked and potentially updated. 494 * 495 * @return void This function does not return a value. It may either update the configuration file 496 * or log a warning if the file is invalid or cannot be processed. 497 * 498 * @throws \Exception Propagates any exceptions thrown by `checkDomDocument`. 499 */ 500 public static function checkConfigFiles($configFile) 501 { 502 $domDocument = new \DOMDocument; 503 $domDocument->load($configFile); 504 if (!$domDocument) { 505 \Yii::log('Invalid config file at ' . $configFile, \CLogger::LEVEL_WARNING, 'application'); 506 return; 507 } 508 try { 509 $newDomDocument = self::checkDomDocument($domDocument); 510 if ($newDomDocument) { 511 $newDomDocument->save($configFile); 512 } 513 } catch (\Exception $e) { 514 \Yii::log('Error: ' . $e->getMessage() . 'found in ' . $configFile, \CLogger::LEVEL_WARNING, 'application'); 515 }
#0 |
+
–
/home/projects/qss/test_ls6.10/application/helpers/SurveyThemeHelper.php(503): DOMDocument->load("/home/projects/qss/test_ls6.10/themes/survey/fruity_twentythree/...") 498 * @throws \Exception Propagates any exceptions thrown by `checkDomDocument`. 499 */ 500 public static function checkConfigFiles($configFile) 501 { 502 $domDocument = new \DOMDocument; 503 $domDocument->load($configFile); 504 if (!$domDocument) { 505 \Yii::log('Invalid config file at ' . $configFile, \CLogger::LEVEL_WARNING, 'application'); 506 return; 507 } 508 try { |
#1 |
+
–
/home/projects/qss/test_ls6.10/application/models/TemplateManifest.php(1042): SurveyThemeHelper::checkConfigFiles("/home/projects/qss/test_ls6.10/themes/survey/fruity_twentythree/...") 1037 if (\PHP_VERSION_ID < 80000) { 1038 $bOldEntityLoaderState = libxml_disable_entity_loader( 1039 true 1040 ); // @see: http://phpsecurity.readthedocs.io/en/latest/Injection-Attacks.html#xml-external-entity-injection 1041 } 1042 SurveyThemeHelper::checkConfigFiles($this->xmlFile); 1043 $sXMLConfigFile = file_get_contents( 1044 realpath($this->xmlFile) 1045 ); // @see: Now that entity loader is disabled, we can't use simplexml_load_file; so we must read the file with file_get_contents and convert it as a string 1046 $oDOMConfig = new DOMDocument(); 1047 // the loadXML is error suppressed, so we can check the return value |
#2 |
+
–
/home/projects/qss/test_ls6.10/application/models/TemplateManifest.php(1149): TemplateManifest->readManifest() 1144 { 1145 // In manifest mode, we always use the default value from manifest, so no inheritance, no $bUseMagicInherit set needed 1146 $this->setTemplateName($sTemplateName, $iSurveyId); // Check and set template name 1147 $this->setIsStandard(); // Check if it is a CORE template 1148 $this->setPath(); // Check and set path 1149 $this->readManifest(); // Check and read the manifest to set local params 1150 } 1151 1152 /** 1153 * Get showpopups value from config or template configuration 1154 */ |
#3 |
+
–
/home/projects/qss/test_ls6.10/application/models/Template.php(390): TemplateManifest->setBasics("fruity_twentythree", null) 385 386 387 // If no row found, or if the template folder for this configuration row doesn't exist we load the XML config (which will load the default XML) 388 if ($bForceXML || !is_a($oTemplateConfigurationModel, 'TemplateConfiguration') || !$oTemplateConfigurationModel->checkTemplate()) { 389 $oTemplateConfigurationModel = new TemplateManifest(null); 390 $oTemplateConfigurationModel->setBasics($sTemplateName, $iSurveyId); 391 } 392 393 //$oTemplateConfigurationModel->prepareTemplateRendering($sTemplateName, $iSurveyId); 394 return $oTemplateConfigurationModel; 395 } |
#4 |
+
–
/home/projects/qss/test_ls6.10/application/models/Template.php(579): Template::getTemplateConfiguration("fruity_twentythree", null, null, true, ...) 574 $sTemplateName = App()->getConfig('defaulttheme'); 575 } 576 577 // TODO: this probably not use any more. Check and remove it. 578 if ($abstractInstance === true) { 579 return self::getTemplateConfiguration($sTemplateName, $iSurveyId, $iSurveyGroupId, $bForceXML, true); 580 } 581 582 if (empty(self::$instance) || ! self::isCorrectInstance($sTemplateName)) { 583 self::$instance = self::getTemplateConfiguration($sTemplateName, $iSurveyId, $iSurveyGroupId, $bForceXML); 584 self::$instance->prepareTemplateRendering($sTemplateName, $iSurveyId); |
#5 |
+
–
/home/projects/qss/test_ls6.10/application/controllers/admin/Themes.php(1109): Template::getInstance("fruity_twentythree", null, null, true, ...) 1104 * @return void 1105 */ 1106 protected function initialise($templatename, $screenname, $editfile, $showsummary = true) 1107 { 1108 // LimeSurvey style 1109 $oEditedTemplate = Template::getInstance($templatename, null, null, true, true)->prepareTemplateRendering($templatename, null, true); 1110 1111 //App()->getClientScript()->reset(); 1112 Yii::app()->loadHelper('surveytranslator'); 1113 Yii::app()->loadHelper('admin/template'); 1114 |
#6 |
+
–
/home/projects/qss/test_ls6.10/application/controllers/admin/Themes.php(561): Themes->initialise("fruity_twentythree", "welcome", "", true, ...) 556 $this->getController()->redirect(array('admin/themes/sa/view/', 'templatename' => getGlobalSetting('defaulttheme'))); 557 } 558 559 /* Keep Bootstrap Package clean after loading template : because template can update boostrap */ 560 561 $aViewUrls = $this->initialise($templatename, $screenname, $editfile, true, true); 562 563 App()->getClientScript()->reset(); 564 565 $undo = gT("Undo (Ctrl-Z)", "js"); 566 $redo = gT("Redo (Ctrl-Y)", "js"); |
#7 |
unknown(0): Themes->index("", "welcome", "fruity_twentythree")
|
#8 |
+
–
/home/projects/qss/test_ls6.10/vendor/yiisoft/yii/framework/web/actions/CAction.php(114): ReflectionMethod->invokeArgs(Themes, array("", "welcome", "fruity_twentythree")) 109 elseif($param->isDefaultValueAvailable()) 110 $ps[]=$param->getDefaultValue(); 111 else 112 return false; 113 } 114 $method->invokeArgs($object,$ps); 115 return true; 116 } 117 } |
#9 |
+
–
/home/projects/qss/test_ls6.10/application/core/SurveyCommonAction.php(83): CAction->runWithParamsInternal(Themes, ReflectionMethod, array("templatename" => "fruity_twentythree", "sa" => "view")) 78 $oMethod = new ReflectionMethod($this, $sDefault); 79 } 80 81 // We're all good to go, let's execute it 82 // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params 83 return parent::runWithParamsInternal($this, $oMethod, $params); 84 } 85 86 /** 87 * Some functions have different parameters, which are just an alias of the 88 * usual parameters we're getting in the url. This function just populates |
#10 |
+
–
/home/projects/qss/test_ls6.10/application/controllers/admin/Themes.php(31): SurveyCommonAction->runWithParams(array("templatename" => "fruity_twentythree", "sa" => "view")) 26 { 27 public function runWithParams($params) 28 { 29 $sTemplateName = trim(Yii::app()->request->getPost('templatename', '')); 30 if (Permission::model()->hasGlobalPermission('templates', 'read') || Permission::model()->hasTemplatePermission($sTemplateName)) { 31 parent::runWithParams($params); 32 } else { 33 Yii::app()->setFlashMessage(gT("We are sorry but you don't have permissions to do this."), 'error'); 34 $this->getController()->redirect(array("themeOptions/index")); 35 } 36 } |
#11 |
+
–
/home/projects/qss/test_ls6.10/vendor/yiisoft/yii/framework/web/CController.php(308): Themes->runWithParams(array("templatename" => "fruity_twentythree", "sa" => "view")) 303 { 304 $priorAction=$this->_action; 305 $this->_action=$action; 306 if($this->beforeAction($action)) 307 { 308 if($action->runWithParams($this->getActionParams())===false) 309 $this->invalidActionParams($action); 310 else 311 $this->afterAction($action); 312 } 313 $this->_action=$priorAction; |
#12 |
+
–
/home/projects/qss/test_ls6.10/vendor/yiisoft/yii/framework/web/CController.php(286): CController->runAction(Themes) 281 * @see runAction 282 */ 283 public function runActionWithFilters($action,$filters) 284 { 285 if(empty($filters)) 286 $this->runAction($action); 287 else 288 { 289 $priorAction=$this->_action; 290 $this->_action=$action; 291 CFilterChain::create($this,$action,$filters)->run(); |
#13 |
+
–
/home/projects/qss/test_ls6.10/vendor/yiisoft/yii/framework/web/CController.php(265): CController->runActionWithFilters(Themes, array()) 260 { 261 if(($parent=$this->getModule())===null) 262 $parent=Yii::app(); 263 if($parent->beforeControllerAction($this,$action)) 264 { 265 $this->runActionWithFilters($action,$this->filters()); 266 $parent->afterControllerAction($this,$action); 267 } 268 } 269 else 270 $this->missingAction($actionID); |
#14 |
+
–
/home/projects/qss/test_ls6.10/application/controllers/AdminController.php(204): CController->run("themes") 199 $this->runModuleController($action); 200 // this will redirect the default action to the new controller previously "admin/index" or "admin" to "dashboard/view" 201 if (empty($action) || $action === 'index') { 202 $this->redirect($this->createUrl('dashboard/view')); 203 } 204 return parent::run($action); 205 } 206 207 /** 208 * Starting with LS4, 3rd party developer can extends any of the LimeSurve controllers. 209 * |
#15 |
+
–
/home/projects/qss/test_ls6.10/vendor/yiisoft/yii/framework/web/CWebApplication.php(282): AdminController->run("themes") 277 { 278 list($controller,$actionID)=$ca; 279 $oldController=$this->_controller; 280 $this->_controller=$controller; 281 $controller->init(); 282 $controller->run($actionID); 283 $this->_controller=$oldController; 284 } 285 else 286 throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".', 287 array('{route}'=>$route===''?$this->defaultController:$route))); |
#16 |
+
–
/home/projects/qss/test_ls6.10/vendor/yiisoft/yii/framework/web/CWebApplication.php(141): CWebApplication->runController("admin/themes/sa/view") 136 foreach(array_splice($this->catchAllRequest,1) as $name=>$value) 137 $_GET[$name]=$value; 138 } 139 else 140 $route=$this->getUrlManager()->parseUrl($this->getRequest()); 141 $this->runController($route); 142 } 143 144 /** 145 * Registers the core application components. 146 * This method overrides the parent implementation by registering additional core components. |
#17 |
+
–
/home/projects/qss/test_ls6.10/vendor/yiisoft/yii/framework/base/CApplication.php(185): CWebApplication->processRequest() 180 public function run() 181 { 182 if($this->hasEventHandler('onBeginRequest')) 183 $this->onBeginRequest(new CEvent($this)); 184 register_shutdown_function(array($this,'end'),0,false); 185 $this->processRequest(); 186 if($this->hasEventHandler('onEndRequest')) 187 $this->onEndRequest(new CEvent($this)); 188 } 189 190 /** |
#18 |
+
–
/home/projects/qss/test_ls6.10/index.php(161): CApplication->run() 156 require_once APPPATH . 'core/LSYii_Application' . EXT; 157 158 $config = require_once(APPPATH . 'config/internal' . EXT); 159 160 Yii::$enableIncludePath = false; 161 Yii::createApplication('LSYii_Application', $config)->run(); 162 163 /* End of file index.php */ 164 /* Location: ./index.php */ |