|
Just this: Notice: Undefined offset: 0 in /home/limegit/domains/limegit.toolsforresearch.com/public_html/application/models/TemplateConfiguration.php on line 634
when debug = 0 or 1 |
|
tammo
2017-10-12 15:59
developer
~44620
Last edited: 2017-10-12 16:00
|
css/template.css just has:
body{
background:yellow;
}
which is not picked up. |
|
|
Error message disapperars when you go back to standard template. |
|
|
Seems like the minimal template is broken. |
|
|
But why does the error message appear only on copy_of_minimal and not on minimal? |
|
|
Sorry, I mean the material template. Is this from a clean install? I can get it to work by renaming column extends_template_name to extends (should already have happened in the db update). |
|
|
Yes, clean GIT install of this afternoon.
Column in which table?
Can you fix it structurally? |
|
|
Strange, because material was not involved...
When I tried, material just worked. |
|
|
Oh, I get an error when trying to copy minimal, too. Will look more tomorrow. |
|
|
The affected table is <prefix>_templates. |
|
|
Look forward to it. Thanks sofar. |
|
|
database table "templates" already has column "extends" ... |
|
|
PHP warning
Cannot modify header information - headers already sent by (output started at /home/limegit/domains/limegit.toolsforresearch.com/public_html/application/models/TemplateConfiguration.php:634)
/home/limegit/domains/limegit.toolsforresearch.com/public_html/framework/web/CHttpRequest.php(1514)
1502 }
1503
1504 /*
1505 Sends a cookie.
1506 @param CHttpCookie $cookie cookie to be sent
1507 /
1508 protected function addCookie($cookie)
1509 {
1510 $value=$cookie->value;
1511 if($this->_request->enableCookieValidation)
1512 $value=Yii::app()->getSecurityManager()->hashData(serialize($value));
1513 if(version_compare(PHP_VERSION,'5.2.0','>='))
1514 setcookie($cookie->name,$value,$cookie->expire,$cookie->path,$cookie->domain,$cookie->secure,$cookie->httpOnly);
1515 else
1516 setcookie($cookie->name,$value,$cookie->expire,$cookie->path,$cookie->domain,$cookie->secure);
1517 }
1518
1519 /*
1520 Deletes a cookie.
1521 @param CHttpCookie $cookie cookie to be deleted
1522 /
1523 protected function removeCookie($cookie)
1524 {
1525 if(version_compare(PHP_VERSION,'5.2.0','>='))
1526 setcookie($cookie->name,'',0,$cookie->path,$cookie->domain,$cookie->secure,$cookie->httpOnly); |
|
|
And:
TEMPLATE ERROR!
/home/limegit/domains/limegit.toolsforresearch.com/public_html/application/core/LSETwigViewRenderer.php(159)
147 {
148 $oRTemplate = Template::model()->getInstance();
149 $oTemplate = $this->getTemplateForView($sView, $oRTemplate);
150 if ($oTemplate) {
151 $line = file_get_contents($oTemplate->viewPath.$sView);
152 $result = $this->renderTemplateFromString($line, $aDatas, $oRTemplate, $bReturn);
153
154 if ($bReturn) {
155 Yii::app()->clientScript->registerPackage($oRTemplate->sPackageName);
156 return $result;
157 }
158 } else {
159 trigger_error("TEMPLATE ERROR!", E_USER_ERROR);
160 }
161
162 return null;
163 }
164
165 public function renderOptionPage($oTemplate,$renderArray = array())
166 {
167 $oRTemplate = $oTemplate;
168
169 $sOptionFile = '/options/options.twig';
170 $sOptionJS = '/options/options.js';
171 |
|
|
And:
Notice: Undefined offset: 0 in /home/limegit/domains/limegit.toolsforresearch.com/public_html/application/models/TemplateConfiguration.php on line 634
PHP warning
session_regenerate_id(): Cannot regenerate session id - headers already sent
/home/limegit/domains/limegit.toolsforresearch.com/public_html/framework/web/CHttpSession.php(184)
172 session_id($value);
173 }
174
175 /*
176 Updates the current session id with a newly generated one .
177 Please refer to {@link http://php.net/session_regenerate_id} for more details.
178 @param boolean $deleteOldSession Whether to delete the old associated session file or not.
179 @since 1.1.8
180 /
181 public function regenerateID($deleteOldSession=false)
182 {
183 if($this->getIsStarted())
184 session_regenerate_id($deleteOldSession);
185 }
186
187 /
188 @return string the current session name
189 /
190 public function getSessionName()
191 {
192 return session_name();
193 }
194
195 /
196 * @param string $value the session name for the current session, must be an alphanumeric string, defaults to PHPSESSID |
|
|
@ollehar
Stack trace when I try to preview survey:
Notice: Undefined offset: 0 in /home/limegit/domains/limegit.toolsforresearch.com/public_html/application/models/TemplateConfiguration.php on line 634
PHP warning
session_regenerate_id(): Cannot regenerate session id - headers already sent
/home/limegit/domains/limegit.toolsforresearch.com/public_html/framework/web/CHttpSession.php(184)
172 session_id($value);
173 }
174
175 /
176 Updates the current session id with a newly generated one .
177 Please refer to {@link http://php.net/session_regenerate_id} for more details.
178 @param boolean $deleteOldSession Whether to delete the old associated session file or not.
179 @since 1.1.8
180 */
181 public function regenerateID($deleteOldSession=false)
182 {
183 if($this->getIsStarted())
184 session_regenerate_id($deleteOldSession);
185 }
186
187 /
188 @return string the current session name
189 /
190 public function getSessionName()
191 {
192 return session_name();
193 }
194
195 /
196 @param string $value the session name for the current session, must be an alphanumeric string, defaults to PHPSESSID
Stack Trace
#0
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/framework/web/CHttpSession.php(184): session_regenerate_id(true)
179 @since 1.1.8
180 */
181 public function regenerateID($deleteOldSession=false)
182 {
183 if($this->getIsStarted())
184 session_regenerate_id($deleteOldSession);
185 }
186
187 /
188 @return string the current session name
189 /
#1
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/application/helpers/frontend_helper.php(1417): CHttpSession->regenerateID(true)
1412 @param int $surveyid
1413 @return void
1414 /
1415 function resetAllSessionVariables($surveyid)
1416 {
1417 Yii:app()->session->regenerateID(true);
1418 unset($SESSION['survey'.$surveyid]['grouplist']);
1419 unset($SESSION['survey'.$surveyid]['fieldarray']);
1420 unset($SESSION['survey'.$surveyid]['insertarray']);
1421 unset($SESSION['survey'.$surveyid]['fieldnamesInfo']);
1422 unset($SESSION['survey'.$surveyid]['fieldmap-' . $surveyid . '-randMaster']);
#2
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/application/helpers/frontend_helper.php(838): resetAllSessionVariables("366446")
833 App()->getController()->sTemplate = $oTemplate->sTemplateName; // It's going to be hard to be sure this is used ....
834 $sTemplateViewPath = $oTemplate->viewPath;
835
836
837 // Reset all the session variables and start again
838 resetAllSessionVariables($surveyid);
839
840 // Multi lingual support order : by REQUEST, if not by Token->language else by survey default language
841 if (returnGlobal('lang',true)){
842 $language_to_set = returnGlobal('lang',true);
843 }elseif (isset($oTokenEntry) && $oTokenEntry){
#3
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/application/helpers/SurveyRuntimeHelper.php(649): buildsurveysession("366446")
644
645 // First time the survey is loaded
646 if (!isset($_SESSION[$this->LEMsessid]['step']))
647 {
648 // Init session, randomization and filed array
649 buildsurveysession($this->iSurveyid);
650 randomizationGroupsAndQuestions($this->iSurveyid);
651
652 // Check surveyid coherence
653 if($this->iSurveyid != LimeExpressionManager::getLEMsurveyId())
654 LimeExpressionManager::SetDirtyFlag();
#4
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/application/helpers/SurveyRuntimeHelper.php(503): SurveyRuntimeHelper->initFirstStep()
498 + Is the survey finished?
499 + Are all the answer validated? (like: participant didn't answered to a mandatory question)
500 /
501 private function initMove()
502 {
503 $this->initFirstStep(); // If it's the first time user load this survey, will init session and LEM
504 $this->initTotalAndMaxSteps();
505 $this->checkIfUseBrowserNav(); // Check if user used browser navigation, or relaoded page
506
507 if ($this->move != 'clearcancel' && $this->move != 'confirmquota'){
508 $this->checkPrevStep(); // Check if prev step is set, else set it
#5
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/application/helpers/SurveyRuntimeHelper.php(103): SurveyRuntimeHelper->initMove()
098 if (!isset($_SESSION[$this->LEMsessid]['step'])){
099 $this->showTokenOrCaptchaFormsIfNeeded();
100 }
101
102 if ( !$this->previewgrp && !$this->previewquestion){
103 $this->initMove(); // main methods to init session, LEM, moves, errors, etc
104 $this->checkQuotas(); // check quotas (then the process will stop here)
105 $this->displayFirstPageIfNeeded();
106 $this->saveAllIfNeeded();
107 $this->saveSubmitIfNeeded();
108
#6
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/application/controllers/survey/index.php(586): SurveyRuntimeHelper->run("366446", array("surveyid" => "366446", "thissurvey" => array("htmlemail" => "Y", "format" => "G", "template" => "copy_of_minimal", "language" => "en", ...), "thisstep" => null, "tokensexist" => 0, ...))
581 //Send local variables to the appropriate survey type
582 unset($redata);
583 $redata = compact(array_keys(get_defined_vars()));
584 Yii::import('application.helpers.SurveyRuntimeHelper');
585 $tmp = new SurveyRuntimeHelper();
586 $tmp->run($surveyid,$redata);
587
588 if (App()->request->getPost('saveall') || isset($flashmessage)){
589 App()->clientScript->registerScript("saveflashmessage","alert('".gT("Your responses were successfully saved.","js")."');",CClientScript::POS_READY);
590 }
591 }
#7
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/application/controllers/survey/index.php(21): index->action()
16 public $oTemplate;
17
18 public function run()
19 {
20 useFirebug();
21 $this->action();
22 }
23
24 function action()
25 {
26 global $surveyid;
#8
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/framework/web/actions/CAction.php(76): index->run()
71 {
72 $method=new ReflectionMethod($this, 'run');
73 if($method->getNumberOfParameters()>0)
74 return $this->runWithParamsInternal($this, $method, $params);
75
76 $this->run();
77 return true;
78 }
79
80 /*
81 Executes a method of an object with the supplied named parameters.
#9
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/framework/web/CController.php(308): CAction->runWithParams(array("lang" => "en", "sid" => "366446"))
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;
#10
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/framework/web/CController.php(286): CController->runAction(index)
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();
#11
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/framework/web/CController.php(265): CController->runActionWithFilters(index, 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);
#12
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/framework/web/CWebApplication.php(282): CController->run("index")
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)));
#13
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/framework/web/CWebApplication.php(141): CWebApplication->runController("survey/index/sid/366446")
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.
#14
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/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 /
#15
– /home/limegit/domains/limegit.toolsforresearch.com/public_html/index.php(195): CApplication->run()
190 require_once APPPATH . 'core/LSYii_Application' . EXT;
191
192 $config = require_once(APPPATH . 'config/internal' . EXT);
193
194 Yii::$enableIncludePath = false;
195 Yii::createApplication('LSYii_Application', $config)->run();
196
197 / End of file index.php /
198 / Location: ./index.php /
2017-10-13 13:42:56 Apache/2 Yii Framework/1.1.18 |
|
|
Latest error report:
PHP notice
Undefined offset: 0
D:\dev\lsgit\application\models\TemplateConfiguration.php(634)
622
623 protected function setOptionInheritance()
624 {
625 $oOptions = $this->oOptions;
626
627 foreach($oOptions as $sKey => $sOption){
628 $oOptions->$sKey = $this->getOptionKey($sKey);
629 }
630 }
631
632 protected function getOptionKey($key){
633 $aOptions = (array) json_decode($this->options);
634 $value = $aOptions[$key];
635 if($value === 'inherit'){
636 return $this->getParentConfiguration()->getOptionKey($key);
637 }
638 return $value;
639 }
640
641 protected function addMotherTemplatePackage($packages)
642 {
643 if (!empty($this->template->extends)){
644 $sMotherTemplateName = (string) $this->template->extends;
645 $packages[] = 'survey-template-'.$sMotherTemplateName;
646 }
Stack Trace
#0
– D:\dev\lsgit\application\models\TemplateConfiguration.php(628): TemplateConfiguration->getOptionKey("0")
623 protected function setOptionInheritance()
624 {
625 $oOptions = $this->oOptions;
626
627 foreach($oOptions as $sKey => $sOption){
628 $oOptions->$sKey = $this->getOptionKey($sKey);
629 }
630 }
631
632 protected function getOptionKey($key){
633 $aOptions = (array) json_decode($this->options);
#1
– D:\dev\lsgit\application\models\TemplateConfiguration.php(620): TemplateConfiguration->setOptionInheritance()
615 $this->oOptions = array();
616 if (!empty($this->options)){
617 $this->oOptions = json_decode($this->options);
618 }
619
620 $this->setOptionInheritance();
621 }
622
623 protected function setOptionInheritance()
624 {
625 $oOptions = $this->oOptions;
#2
– D:\dev\lsgit\application\models\TemplateConfiguration.php(585): TemplateConfiguration->setOptions()
580 $this->apiVersion = (!empty($this->template->api_version))? $this->template->api_version : $this->oMotherTemplate->apiVersion;
581 $this->viewPath = (!empty($this->template->view_folder)) ? $this->path.DIRECTORY_SEPARATOR.$this->template->view_folder.DIRECTORY_SEPARATOR : $this->path.DIRECTORY_SEPARATOR.$this->oMotherTemplate->view_folder.DIRECTORY_SEPARATOR;
582 $this->filesPath = (!empty($this->template->files_folder)) ? $this->path.DIRECTORY_SEPARATOR.$this->template->files_folder.DIRECTORY_SEPARATOR : $this->path.DIRECTORY_SEPARATOR.$this->oMotherTemplate->file_folder.DIRECTORY_SEPARATOR;
583
584 // Options are optional
585 $this->setOptions();
586
587 // Not mandatory (use package dependances)
588 $this->setCssFramework();
589 $this->packages = $this->getDependsPackages($this);
590 if (!empty($this->packages_to_load)){
#3
– D:\dev\lsgit\application\models\TemplateConfiguration.php(391): TemplateConfiguration->setThisTemplate()
386 $this->setIsStandard(); // Check if it is a CORE template
387 $this->path = ($this->isStandard)
388 ? Yii::app()->getConfig("standardtemplaterootdir").DIRECTORY_SEPARATOR.$this->template->folder
389 : Yii::app()->getConfig("usertemplaterootdir").DIRECTORY_SEPARATOR.$this->template->folder;
390 $this->setMotherTemplates(); // Recursive mother templates configuration
391 $this->setThisTemplate(); // Set the main config values of this template
392 $this->createTemplatePackage($this); // Create an asset package ready to be loaded
393 return $this;
394 }
395
396 /
#4
– D:\dev\lsgit\application\models\Template.php(408): TemplateConfiguration->prepareTemplateRendering("", "542662")
403 }
404
405 if (empty(self::$instance)) {
406 // getTemplateConfiguration($sTemplateName=null, $iSurveyId=null, $iSurveyGroupId=null, $bForceXML=false)
407 self::$instance = $toto = self::getTemplateConfiguration($sTemplateName, $iSurveyId, $iSurveyGroupId, $bForceXML);
408 self::$instance->prepareTemplateRendering($sTemplateName, $iSurveyId);
409 }
410
411
412 return self::$instance;
413 }
#5
– D:\dev\lsgit\application\controllers\survey\index.php(281): Template::getInstance("", "542662")
276 unset($token);
277 unset($clienttoken);
278 }
279
280 //SET THE TEMPLATE DIRECTORY
281 $oTemplate = Template::model()->getInstance('', $surveyid);
282 $timeadjust = Yii::app()->getConfig("timeadjust");
283
284 //MAKE SURE SURVEY HASN'T EXPIRED
285 if ($thissurvey['expiry']!='' and dateShift(date("Y-m-d H:i:s"), "Y-m-d H:i:s", $timeadjust)>$thissurvey['expiry'] && $thissurvey['active']!='N' && !$previewmode){
286 $aErrors=array(gT('Error'));
#6
– D:\dev\lsgit\application\controllers\survey\index.php(21): index->action()
16 public $oTemplate;
17
18 public function run()
19 {
20 useFirebug();
21 $this->action();
22 }
23
24 function action()
25 {
26 global $surveyid;
#7
– D:\dev\lsgit\framework\web\actions\CAction.php(76): index->run()
71 {
72 $method=new ReflectionMethod($this, 'run');
73 if($method->getNumberOfParameters()>0)
74 return $this->runWithParamsInternal($this, $method, $params);
75
76 $this->run();
77 return true;
78 }
79
80 /
81 Executes a method of an object with the supplied named parameters.
#8
– D:\dev\lsgit\framework\web\CController.php(308): CAction->runWithParams(array("lang" => "en", "sid" => "542662"))
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;
#9
– D:\dev\lsgit\framework\web\CController.php(286): CController->runAction(index)
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();
#10
– D:\dev\lsgit\framework\web\CController.php(265): CController->runActionWithFilters(index, 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);
#11
– D:\dev\lsgit\framework\web\CWebApplication.php(282): CController->run("index")
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)));
#12
– D:\dev\lsgit\framework\web\CWebApplication.php(141): CWebApplication->runController("survey/index/sid/542662")
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.
#13
– D:\dev\lsgit\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 /
#14
– D:\dev\lsgit\index.php(195): CApplication->run()
190 require_once APPPATH . 'core/LSYii_Application' . EXT;
191
192 $config = require_once(APPPATH . 'config/internal' . EXT);
193
194 Yii::$enableIncludePath = false;
195 Yii::createApplication('LSYii_Application', $config)->run();
196
197 / End of file index.php /
198 / Location: ./index.php /
2017-10-13 15:38:35 Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.5.30 Yii Framework/1.1.18 |
|
|
Is this solved after Louis' fixes yesterday? |
|
|
Tested, OK now! |
|