예제 #1
0
 /**
  * @return array
  */
 public static function set()
 {
     //Current URL
     $getUrl = http_url::getUrl(true);
     $parseUrl = parse_url($getUrl);
     $setPositionStart = strpos($parseUrl['path'], "/") + 1;
     if (strrpos($parseUrl['path'], "/") < 3) {
         $setPositionEnd = strrpos($parseUrl['path'], "/") - 1;
         $setModule = substr($parseUrl['path'], $setPositionStart, $setPositionEnd);
     } else {
         $setModule = substr($parseUrl['path'], $setPositionStart);
     }
     $getModule = explode('/', $setModule);
     return $getModule;
 }
예제 #2
0
/**
 * Smarty {geturl} function plugin
 *
 * Type:     function
 * Name:     getUrl
 * Date:     August 21, 2009
 * Purpose:  Récupère l'url du nom de domaine ou défini le root du site automatiquement
 * Examples: {geturl}
 * Output:   
 * @link 
 * @author   Gerits Aurelien
 * @version  1.0
 * @param array
 * @param Smarty
 * @return string
 */
function smarty_function_geturl($params, $template)
{
    return http_url::getUrl();
}
예제 #3
0
 /**
  * @access public
  * @static
  * getUrlConcat Retourne la concaténation de la minification de fichiers
  * @param $options
  * @return string
  * @throws Exception
  * @author Gérits Aurelien and JB Demonte (http://jb.demonte.fr/)
  */
 public static function getUrlConcat($options)
 {
     if (is_array($options)) {
         if (array_key_exists('caches', $options)) {
             $min_cachePath = $options['caches'];
         } else {
             throw new Exception("Error caches dir is not defined");
         }
         if (array_key_exists('href', $options)) {
             $url = $options["href"];
             $ext = 'css';
         } elseif (array_key_exists('src', $options)) {
             $url = $options["src"];
             $ext = 'js';
         }
         if (array_key_exists('filesgroups', $options)) {
             $filesgroups = $options['filesgroups'];
         } else {
             $filesgroups = 'min/groupsConfig.php';
         }
         if (array_key_exists('minDir', $options)) {
             $minDir = $options['minDir'];
         } else {
             $minDir = '/min/';
         }
         if (array_key_exists('callback', $options)) {
             $callback = $options['callback'];
         } else {
             $callback = '';
         }
     } else {
         throw new Exception("Error options is not array");
     }
     $name = "";
     //Parse a URL and return its components
     $parseurl = parse_url($url);
     //return position
     $position = strpos($parseurl['query'], '=');
     //return first query
     $query = substr($parseurl['query'], 0, $position);
     //return url after query
     $filesPath = substr(strrchr($parseurl['query'], '='), 1);
     // Group
     if ($query === 'g') {
         $filesCollection = array();
         if (file_exists($filesgroups)) {
             $groups = (require $filesgroups);
             foreach (explode(",", $filesPath) as $group) {
                 $filesCollection = array_merge($filesCollection, isset($groups[$group]) ? $groups[$group] : array());
             }
         } else {
             throw new Exception("filesgroups is not exist");
         }
         // Files
     } elseif ($query === 'f') {
         $filesCollection = explode(",", $filesPath);
     }
     foreach ($filesCollection as &$file) {
         $file = ltrim($file, "/");
         $name .= $file . "|" . filemtime(self::basePath() . $file) . "|" . filesize(self::basePath() . $file) . "/";
     }
     $sha1name = sha1($name) . "." . $ext;
     if (file_exists($min_cachePath) and is_writable($min_cachePath)) {
         $filepath = realpath(".") . "/" . $min_cachePath . "/" . $sha1name;
         if (!file_exists($filepath)) {
             $content = file_get_contents(http_url::getUrl() . $minDir . '?f=' . implode(",", $filesCollection));
             file_put_contents($filepath, $content);
         }
         return $callback . "/" . $min_cachePath . "/" . $sha1name;
     } else {
         throw new Exception("Error " . $min_cachePath . " is not writable");
     }
 }