Development

Changeset 17713

You must first sign up to be able to contribute.

Changeset 17713

Show
Ignore:
Timestamp:
04/28/09 15:46:58 (6 years ago)
Author:
FabianLange
Message:

[1.1, 1.2, 1.3] lets be DRY in sfViewConfigHandler.class.php

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.1/lib/config/sfViewConfigHandler.class.php

    r9085 r17713  
    246246    // Merge the current view's stylesheets with the app's default stylesheets 
    247247    $stylesheets = $this->mergeConfigValue('stylesheets', $viewName); 
     248    $data = array_merge($data, $this->addAssets('Stylesheet', $stylesheets)); 
     249     
     250    $omit = array(); 
     251    $delete_all = false; 
     252 
     253    // Merge the current view's javascripts with the app's default javascripts 
     254    $javascripts = $this->mergeConfigValue('javascripts', $viewName); 
     255    $data = array_merge($data, $this->addAssets('Javascript', $javascripts)); 
     256 
     257    return implode("\n", $data)."\n"; 
     258  } 
     259 
     260  /** 
     261   * Creates a list of add$Type PHP statements for the given type and config. 
     262   * 
     263   * @param string $type of asset. Requires an sfWebResponse->add$Type(string, string, array) method 
     264   * 
     265   * @return array ist of add$Type PHP statements 
     266   */ 
     267  private function addAssets($type, $assets){ 
    248268    $tmp = array(); 
    249     foreach ((array) $stylesheets as $css
     269    foreach ((array) $assets as $asset
    250270    { 
    251271      $position = ''; 
    252       if (is_array($css)) 
    253       { 
    254         $key = key($css); 
    255         $options = $css[$key]; 
     272      if (is_array($asset)) 
     273      { 
     274        $key = key($asset); 
     275        $options = $asset[$key]; 
    256276        if (isset($options['position'])) 
    257277        { 
     
    262282      else 
    263283      { 
    264         $key = $css
     284        $key = $asset
    265285        $options = array(); 
    266286      } 
     
    276296      else 
    277297      { 
    278         $tmp[$key] = sprintf("  \$response->addStylesheet('%s', '%s', %s);", $key, $position, str_replace("\n", '', var_export($options, true))); 
    279       } 
    280     } 
    281  
    282     $data = array_merge($data, array_values($tmp)); 
    283  
    284     $omit = array(); 
    285     $delete_all = false; 
    286  
    287     // Merge the current view's javascripts with the app's default javascripts 
    288     $javascripts = $this->mergeConfigValue('javascripts', $viewName); 
    289     $tmp = array(); 
    290     foreach ((array) $javascripts as $js) 
    291     { 
    292       $position = ''; 
    293       if (is_array($js)) 
    294       { 
    295         $key = key($js); 
    296         $options = $js[$key]; 
    297         if (isset($options['position'])) 
    298         { 
    299           $position = $options['position']; 
    300           unset($options['position']); 
    301         } 
    302       } 
    303       else 
    304       { 
    305         $key = $js; 
    306         $options = array(); 
    307       } 
    308  
    309       if ('-*' == $key) 
    310       { 
    311         $tmp = array(); 
    312       } 
    313       else if ('-' == $key[0]) 
    314       { 
    315         unset($tmp[substr($key, 1)]); 
    316       } 
    317       else 
    318       { 
    319         $tmp[$key] = sprintf("  \$response->addJavascript('%s', '%s', %s);", $key, $position, str_replace("\n", '', var_export($options, true))); 
    320       } 
    321     } 
    322  
    323     $data = array_merge($data, array_values($tmp)); 
    324  
    325     return implode("\n", $data)."\n"; 
     298        $tmp[$key] = sprintf("  \$response->add%s('%s', '%s', %s);", $type, $key, $position, str_replace("\n", '', var_export($options, true))); 
     299      } 
     300    } 
     301    return array_values($tmp); 
    326302  } 
    327303 
  • branches/1.2/lib/config/sfViewConfigHandler.class.php

    r9085 r17713  
    246246    // Merge the current view's stylesheets with the app's default stylesheets 
    247247    $stylesheets = $this->mergeConfigValue('stylesheets', $viewName); 
     248    $data = array_merge($data, $this->addAssets('Stylesheet', $stylesheets)); 
     249     
     250    $omit = array(); 
     251    $delete_all = false; 
     252 
     253    // Merge the current view's javascripts with the app's default javascripts 
     254    $javascripts = $this->mergeConfigValue('javascripts', $viewName); 
     255    $data = array_merge($data, $this->addAssets('Javascript', $javascripts)); 
     256 
     257    return implode("\n", $data)."\n"; 
     258  } 
     259 
     260  /** 
     261   * Creates a list of add$Type PHP statements for the given type and config. 
     262   * 
     263   * @param string $type of asset. Requires an sfWebResponse->add$Type(string, string, array) method 
     264   * 
     265   * @return array ist of add$Type PHP statements 
     266   */ 
     267  private function addAssets($type, $assets){ 
    248268    $tmp = array(); 
    249     foreach ((array) $stylesheets as $css
     269    foreach ((array) $assets as $asset
    250270    { 
    251271      $position = ''; 
    252       if (is_array($css)) 
    253       { 
    254         $key = key($css); 
    255         $options = $css[$key]; 
     272      if (is_array($asset)) 
     273      { 
     274        $key = key($asset); 
     275        $options = $asset[$key]; 
    256276        if (isset($options['position'])) 
    257277        { 
     
    262282      else 
    263283      { 
    264         $key = $css
     284        $key = $asset
    265285        $options = array(); 
    266286      } 
     
    276296      else 
    277297      { 
    278         $tmp[$key] = sprintf("  \$response->addStylesheet('%s', '%s', %s);", $key, $position, str_replace("\n", '', var_export($options, true))); 
    279       } 
    280     } 
    281  
    282     $data = array_merge($data, array_values($tmp)); 
    283  
    284     $omit = array(); 
    285     $delete_all = false; 
    286  
    287     // Merge the current view's javascripts with the app's default javascripts 
    288     $javascripts = $this->mergeConfigValue('javascripts', $viewName); 
    289     $tmp = array(); 
    290     foreach ((array) $javascripts as $js) 
    291     { 
    292       $position = ''; 
    293       if (is_array($js)) 
    294       { 
    295         $key = key($js); 
    296         $options = $js[$key]; 
    297         if (isset($options['position'])) 
    298         { 
    299           $position = $options['position']; 
    300           unset($options['position']); 
    301         } 
    302       } 
    303       else 
    304       { 
    305         $key = $js; 
    306         $options = array(); 
    307       } 
    308  
    309       if ('-*' == $key) 
    310       { 
    311         $tmp = array(); 
    312       } 
    313       else if ('-' == $key[0]) 
    314       { 
    315         unset($tmp[substr($key, 1)]); 
    316       } 
    317       else 
    318       { 
    319         $tmp[$key] = sprintf("  \$response->addJavascript('%s', '%s', %s);", $key, $position, str_replace("\n", '', var_export($options, true))); 
    320       } 
    321     } 
    322  
    323     $data = array_merge($data, array_values($tmp)); 
    324  
    325     return implode("\n", $data)."\n"; 
     298        $tmp[$key] = sprintf("  \$response->add%s('%s', '%s', %s);", $type, $key, $position, str_replace("\n", '', var_export($options, true))); 
     299      } 
     300    } 
     301    return array_values($tmp); 
    326302  } 
    327303 
  • branches/1.3/lib/config/sfViewConfigHandler.class.php

    r9085 r17713  
    246246    // Merge the current view's stylesheets with the app's default stylesheets 
    247247    $stylesheets = $this->mergeConfigValue('stylesheets', $viewName); 
     248    $data = array_merge($data, $this->addAssets('Stylesheet', $stylesheets)); 
     249     
     250    $omit = array(); 
     251    $delete_all = false; 
     252 
     253    // Merge the current view's javascripts with the app's default javascripts 
     254    $javascripts = $this->mergeConfigValue('javascripts', $viewName); 
     255    $data = array_merge($data, $this->addAssets('Javascript', $javascripts)); 
     256 
     257    return implode("\n", $data)."\n"; 
     258  } 
     259 
     260  /** 
     261   * Creates a list of add$Type PHP statements for the given type and config. 
     262   * 
     263   * @param string $type of asset. Requires an sfWebResponse->add$Type(string, string, array) method 
     264   * 
     265   * @return array ist of add$Type PHP statements 
     266   */ 
     267  private function addAssets($type, $assets){ 
    248268    $tmp = array(); 
    249     foreach ((array) $stylesheets as $css
     269    foreach ((array) $assets as $asset
    250270    { 
    251271      $position = ''; 
    252       if (is_array($css)) 
    253       { 
    254         $key = key($css); 
    255         $options = $css[$key]; 
     272      if (is_array($asset)) 
     273      { 
     274        $key = key($asset); 
     275        $options = $asset[$key]; 
    256276        if (isset($options['position'])) 
    257277        { 
     
    262282      else 
    263283      { 
    264         $key = $css
     284        $key = $asset
    265285        $options = array(); 
    266286      } 
     
    276296      else 
    277297      { 
    278         $tmp[$key] = sprintf("  \$response->addStylesheet('%s', '%s', %s);", $key, $position, str_replace("\n", '', var_export($options, true))); 
    279       } 
    280     } 
    281  
    282     $data = array_merge($data, array_values($tmp)); 
    283  
    284     $omit = array(); 
    285     $delete_all = false; 
    286  
    287     // Merge the current view's javascripts with the app's default javascripts 
    288     $javascripts = $this->mergeConfigValue('javascripts', $viewName); 
    289     $tmp = array(); 
    290     foreach ((array) $javascripts as $js) 
    291     { 
    292       $position = ''; 
    293       if (is_array($js)) 
    294       { 
    295         $key = key($js); 
    296         $options = $js[$key]; 
    297         if (isset($options['position'])) 
    298         { 
    299           $position = $options['position']; 
    300           unset($options['position']); 
    301         } 
    302       } 
    303       else 
    304       { 
    305         $key = $js; 
    306         $options = array(); 
    307       } 
    308  
    309       if ('-*' == $key) 
    310       { 
    311         $tmp = array(); 
    312       } 
    313       else if ('-' == $key[0]) 
    314       { 
    315         unset($tmp[substr($key, 1)]); 
    316       } 
    317       else 
    318       { 
    319         $tmp[$key] = sprintf("  \$response->addJavascript('%s', '%s', %s);", $key, $position, str_replace("\n", '', var_export($options, true))); 
    320       } 
    321     } 
    322  
    323     $data = array_merge($data, array_values($tmp)); 
    324  
    325     return implode("\n", $data)."\n"; 
     298        $tmp[$key] = sprintf("  \$response->add%s('%s', '%s', %s);", $type, $key, $position, str_replace("\n", '', var_export($options, true))); 
     299      } 
     300    } 
     301    return array_values($tmp); 
    326302  } 
    327303