public function onSubmit() { $templateName = $_POST[$this->addName("options")]; if ($this->testTemplate($templateName) === true) { $config = Engine::getConfig(); $config->setConfigFilename(TEMP_CONFIG_FILE); $config->TEMPLATE = $templateName; $template = (include Engine::getTemplate($templateName)); if (!$template instanceof Template) { $this->sendStatus(true, array($this->addName("error"))); } else { $template->configure($this); $config->save(true); } } else { $this->sendStatus(true, array($this->addName("error"))); } }
public function test_getTemplate() { //We are testing the getTemplate function in Engine. //We want to know if getTemplate returns the filename to the template name. For example "FacebookAnalyser" should go to /engine/templates/FacebookAnalyser/main.php //The function must return the path to the main template file, we remove the main.php to get the template name, and we also test with our getTemplates function so //that it doesn't matter what templates are there, as long as our function returns the right path. //Get a list of templates, then test for each one if it can get the template path and that it's in the template array $this->assertEquals(null, Engine::getTemplate("")); //Get list of templates foreach (Engine::getTemplates() as $value) { //Test that the function returns the same as the value from the getTemplates array $this->assertEquals($value, Engine::getTemplate(basename(str_replace(basename($value), "", $value)))); } }