Exemplo n.º 1
0
 /**
  * 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');
    }
}
Exemplo n.º 3
0
 /**
  * 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());
 }
Exemplo n.º 4
0
 public static function setUpBeforeClass()
 {
     Project::setName('TestProject');
 }
Exemplo n.º 5
0
 /**
  * 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');
 }
Exemplo n.º 6
0
 /**
  * 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);
 }