示例#1
0
 private static function ImportExaCSS($mod)
 {
     $db = cmsms()->GetDb();
     $ExaCSS = cms_utils::get_module('ExaCSS');
     if ($ExaCSS == false) {
         return;
     }
     // Sous-dossier des fichiers
     $subdir = "ExaCSS";
     // Récupération du répertoire d'exportation
     $cache_path = te_base::GetCachePath($mod);
     // Date de la dernière modification
     $most_recent_edit = te_base::GetMostRecentEdit($mod);
     // Récupération de l'extension du fichier
     $stylesheet_extension = $mod->GetPreference('stylesheet_extension');
     // Récupération de la liste des feuilles de style
     $stylesheets = ExaCSSstylesheet::Get();
     $stylesheets = $stylesheets['list'];
     foreach ($stylesheets as $stylesheet) {
         $fname = cms_join_path($cache_path, $subdir, te_base::escapeFilename("style_" . $stylesheet['name']) . '.' . $stylesheet_extension);
         $ftime = @filemtime($fname);
         $most_recent_edit = max($most_recent_edit, $ftime);
         // Chargement du fichier seulement s'il a été modifié et si la taille est supérieure à 0
         if ($ftime > $db->UnixTimeStamp($stylesheet['date_modification']) && ($fsize = filesize($fname)) != 0) {
             $fp = fopen($fname, 'r');
             $stylesheet['content'] = fread($fp, $fsize);
             $tmp = ExaCSSstylesheet::EditContent($stylesheet['id'], $stylesheet['content']);
             fclose($fp);
             te_base::ResetTimeOut($mod);
         }
     }
     // Récupération de la liste des feuilles de variables
     $variables = ExaCSSvariable::Get();
     $variables = $variables['list'];
     foreach ($variables as $variable) {
         $fname = cms_join_path($cache_path, $subdir, te_base::escapeFilename("variable_" . $variable['name']) . '.' . $stylesheet_extension);
         $ftime = @filemtime($fname);
         $most_recent_edit = max($most_recent_edit, $ftime);
         // Chargement du fichier seulement s'il a été modifié et si la taille est supérieure à 0
         if ($ftime > $db->UnixTimeStamp($variable['date_modification']) && ($fsize = filesize($fname)) != 0) {
             $fp = fopen($fname, 'r');
             $variable['content'] = fread($fp, $fsize);
             $tmp = ExaCSSvariable::EditContent($variable['id'], $variable['content']);
             fclose($fp);
             te_base::ResetTimeOut($mod);
         }
     }
     // Récupération de la liste des feuilles de mixins
     $mixins = ExaCSSmixin::Get();
     $mixins = $mixins['list'];
     foreach ($mixins as $mixin) {
         $fname = cms_join_path($cache_path, $subdir, te_base::escapeFilename("mixin_" . $mixin['name']) . '.' . $stylesheet_extension);
         $ftime = @filemtime($fname);
         $most_recent_edit = max($most_recent_edit, $ftime);
         // Chargement du fichier seulement s'il a été modifié et si la taille est supérieure à 0
         if ($ftime > $db->UnixTimeStamp($mixin['date_modification']) && ($fsize = filesize($fname)) != 0) {
             $fp = fopen($fname, 'r');
             $mixin['content'] = fread($fp, $fsize);
             $tmp = ExaCSSmixin::EditContent($mixin['id'], $mixin['content']);
             fclose($fp);
             te_base::ResetTimeOut($mod);
         }
     }
 }
示例#2
0
 private static function ExportExaCSS($mod)
 {
     $db = cmsms()->GetDb();
     $ExaCSS = cms_utils::get_module('ExaCSS');
     if ($ExaCSS == false) {
         return;
     }
     // Création du sous-dossier
     $subdir = "ExaCSS";
     te_base::CreateSubDir($mod, $subdir);
     // Récupération du répertoire d'exportation
     $cache_path = te_base::GetCachePath($mod);
     // Récupération de l'extension du fichier
     $stylesheet_extension = $mod->GetPreference('stylesheet_extension');
     // Récupération de la liste des feuilles de styles
     $stylesheets = ExaCSSstylesheet::Get();
     $stylesheets = $stylesheets['list'];
     // Exportation de chaque feuille de style dans des fichiers séparés
     foreach ($stylesheets as $stylesheet) {
         $fname = cms_join_path($cache_path, $subdir, te_base::escapeFilename("style_" . $stylesheet['name']) . '.' . $stylesheet_extension);
         $fp = fopen($fname, 'w');
         // Conversion du CRLF vers le LF pour la compatibilité Unix
         fwrite($fp, te_base::escapeContent($stylesheet['content']));
         fclose($fp);
         // Rendre chaque fichier disponible en écriture
         chmod($fname, 0666);
         // Modifier la date du fichier avec la date de modification du CSS
         touch($fname, $db->UnixTimeStamp($stylesheet['date_modification']));
     }
     // Récupération de la liste des feuilles de variables
     $variables = ExaCSSvariable::Get();
     $variables = $variables['list'];
     // Exportation de chaque feuille de variables dans des fichiers séparés
     foreach ($variables as $variable) {
         $fname = cms_join_path($cache_path, $subdir, te_base::escapeFilename("variable_" . $variable['name']) . '.' . $stylesheet_extension);
         $fp = fopen($fname, 'w');
         // Conversion du CRLF vers le LF pour la compatibilité Unix
         fwrite($fp, te_base::escapeContent($variable['content']));
         fclose($fp);
         // Rendre chaque fichier disponible en écriture
         chmod($fname, 0666);
         // Modifier la date du fichier avec la date de modification du CSS
         touch($fname, $db->UnixTimeStamp($variable['date_modification']));
     }
     // Récupération de la liste des feuilles de mixins
     $mixins = ExaCSSmixin::Get();
     $mixins = $mixins['list'];
     // Exportation de chaque feuille de mixins dans des fichiers séparés
     foreach ($mixins as $mixin) {
         $fname = cms_join_path($cache_path, $subdir, te_base::escapeFilename("mixin_" . $mixin['name']) . '.' . $stylesheet_extension);
         $fp = fopen($fname, 'w');
         // Conversion du CRLF vers le LF pour la compatibilité Unix
         fwrite($fp, te_base::escapeContent($mixin['content']));
         fclose($fp);
         // Rendre chaque fichier disponible en écriture
         chmod($fname, 0666);
         // Modifier la date du fichier avec la date de modification du CSS
         touch($fname, $db->UnixTimeStamp($mixin['date_modification']));
     }
 }