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'])); } } }
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); } } } }
te_base::DeleteCachePath($this); te_export::ExportAll($this); } if (isset($params['refresh_submit'])) { $this->Redirect($id, 'defaultadmin', $returnid, array('active_tab' => "utilisation", 'module_message' => $this->Lang('refreshed'))); } unset($params); } /* Récupération des données - Fin ******************************************* */ /* Création du formulaire - Début ******************************************* */ $smarty->assign('formstart_utilisation', $this->CreateFormStart($id, 'defaultadmin', $returnid, 'post', 'multipart/form-data', false, '', array(), '')); $smarty->assign('formend_utilisation', $this->CreateFormEnd()); if (te_base::GetStatus($this) == false) { $smarty->assign('utilisation_submit', $this->CreateInputSubmit($id, 'utilisation_submit', $this->lang('enable_submit'))); } else { $smarty->assign('utilisation_submit', $this->CreateInputSubmit($id, 'utilisation_submit', $this->lang('disable_submit'))); $smarty->assign('refresh_submit', $this->CreateInputSubmit($id, 'refresh_submit', $this->lang('refresh_submit'))); } /* Création du formulaire - Fin ********************************************* */ /* Traitement du temps restant - Début ************************************** */ $timeoutleft = te_base::CheckTimeOut($this); if ($timeoutleft >= 0) { $timeoutleft = ceil($timeoutleft / 60); } $smarty->assign("timeoutleft", $timeoutleft); /* Traitement du temps restant - Fin **************************************** */ /* Afficher le template - Début ********************************************* */ $smarty->assign("status", te_base::GetStatus($this)); $smarty->assign_by_ref('mod', $this); echo $this->ProcessTemplate('defaultadmin.tab.utilisation.tpl'); /* Afficher le template - Fin *********************************************** */