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); } } } }
private static function ExportUDT($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) { foreach ($udts as $udt) { $udt = $uto->GetUserTag($udt); $fname = $cache_path . '/' . $subdir . '/' . te_base::escapeFilename($udt['userplugin_name']) . '.' . $template_extension; $fp = fopen($fname, 'w'); // Conversion du CRLF vers le LF pour la compatibilité Unix fwrite($fp, te_base::escapeContent($udt['code'])); fclose($fp); // Rendre chaque fichier disponible en écriture chmod($fname, 0666); // Modifier la date du fichier avec la date de modification du template touch($fname, $db->UnixTimeStamp($udt['modified_date'])); } } }