/** * Create and return our Project object * * @param string $projectName name of our new Project * @param string $projectType ProjectType to create * @param LoggerInterface $Logger our Logger object * @param array $options any additional Project options * * @return ProjectAbstract */ public static function build($projectName, $projectType, LoggerInterface $Logger, array $options = array()) { Project::init(); Project::setLogger($Logger); Project::setName($projectName); Project::setType($projectType); Project::setOptions($options); return Project::getObject(); }
function smarty_function_getConfigValue($params, Smarty_Internal_Template $template) { if (isset($params['keyname'])) { $project = \Synergy\Project::getObject(); if ($project instanceof \Synergy\Project\ProjectAbstract) { $template->assign($params['assign'], $project->getOption($params['keyname'])); } } else { throw new \Synergy\Exception\TemplateFunctionException('getConfigValue function requires a keyname to search for'); } }
/** * Test that Project::Init() resets the stored parameters */ public function testProjectInit() { Project::init(); Project::setName('Test Project'); Project::setType(ProjectType::WEB); Project::setOptions(array(1 => true, 2 => false, 3 => 'no')); $this->assertEquals('Test Project', Project::getName()); $this->assertEquals(ProjectType::WEB, Project::getType()); $this->assertArrayHasKey(1, Project::getOptions()); $this->assertArrayHasKey(2, Project::getOptions()); $this->assertArrayHasKey(3, Project::getOptions()); Project::init(); $this->assertNull(Project::getName()); $this->assertNull(Project::getType()); $this->assertEmpty(Project::getOptions()); }
public static function setUpBeforeClass() { Project::setName('TestProject'); }
/** * Sends the asset straight to the browser and exits * * @return void * @throws SynergyException */ public function deliver() { if ((isset($this->filename) || isset($this->contents)) && isset($this->contentType)) { if (Project::isDev()) { $aHeaders = array('Expires' => date('r', strtotime('Yesterday')), 'Cache-Control' => 'no-store, no-cache, max-age=0, must-revalidate', 'Pragma' => 'no-cache'); } else { $aHeaders = array('Expires' => date('r', strtotime('+5 min')), 'Cache-Control' => 'private, max-age=300, must-revalidate', 'Pragma' => 'private'); } // Important headers if (isset($this->filename) && !isset($this->contents)) { $aHeaders['X-Filename'] = $this->filename; $aHeaders['Last-Modified'] = date('r', filectime($this->filename)); $aHeaders['ETag'] = md5(filectime($this->filename)); $aHeaders['Content-Length'] = filesize($this->filename); } else { $aHeaders['Last-Modified'] = date('r'); $aHeaders['Content-Length'] = strlen($this->contents); } $this->aHeaders = array_merge($aHeaders, $this->aHeaders); $this->sendHeaders(); if (isset($this->filename) && !isset($this->contents)) { $fp = fopen($this->filename, 'rb'); fpassthru($fp); exit; } else { die($this->contents); } } throw new SynergyException('Invalid init of WebAsset, unable to deliver'); }
/** * is this a dev project * * @param bool $isDev is this a dev project * * @return void */ public function setDev($isDev) { $this->isDev = $isDev; Project::setDev($isDev); }