Esempio n. 1
0
 private static function ImportUDT($mod)
 {
     // Création du sous-dossier
     $subdir = "_UDT";
     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
     $template_extension = $mod->GetPreference('udt_extension');
     // Récupération de la liste des GCB
     $gCms = cmsms();
     $db = $gCms->GetDb();
     $uto = $gCms->GetUserTagOperations();
     $udts = $uto->ListUserTags();
     if (count($udts) > 0) {
         // Date de la dernière modification
         $most_recent_edit = te_base::GetMostRecentEdit($mod);
         foreach ($udts as $udt) {
             $udt = $uto->GetUserTag($udt);
             $fname = $cache_path . DIRECTORY_SEPARATOR . $subdir . DIRECTORY_SEPARATOR . te_base::escapeFilename($udt['userplugin_name']) . '.' . $template_extension;
             if (!@file_exists($fname)) {
                 continue;
             }
             $ftime = filemtime($fname);
             $fsize = filesize($fname);
             $most_recent_edit = max($most_recent_edit, $ftime);
             $dbmtime = $db->UnixTimeStamp($udt['modified_date']);
             $fdbtime = $db->DbTimeStamp($ftime);
             if ($ftime > $dbmtime && $fsize != 0) {
                 $fp = fopen($fname, 'r');
                 $udt['code'] = fread($fp, $fsize);
                 fclose($fp);
                 $uto->SetUserTag($udt['userplugin_name'], $udt['code']);
                 te_base::ResetTimeOut($mod);
             }
         }
     }
 }