本文整理汇总了PHP中chemin_image函数的典型用法代码示例。如果您正苦于以下问题:PHP chemin_image函数的具体用法?PHP chemin_image怎么用?PHP chemin_image使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了chemin_image函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: exec_articles_tous_args
function exec_articles_tous_args($id_rubrique, $aff_art, $sel_lang)
{
global $browser_layer,$spip_lang_right,$spip_lang_left;
changer_typo(); // pour definir la direction de la langue
if (!is_array($aff_art)) $aff_art = array('prop','publie');
$enfant = arbo_articles_tous();
$flag_trad = (($GLOBALS['meta']['multi_rubriques'] == 'oui'
OR $GLOBALS['meta']['multi_articles'] == 'oui')
AND $GLOBALS['meta']['gerer_trad'] == 'oui');
list($article,$text_article,$aff_statut) = texte_articles_tous($sel_lang, $flag_trad, $aff_art, lang_dir());
if (_AJAX AND $id_rubrique) {
include_spip('inc/actions');
ajax_retour(afficher_contenu_rubrique($article, $enfant, $text_article, $id_rubrique, $flag_trad, 2));
}
else {
pipeline('exec_init',array('args'=>array('exec'=>'articles_tous'),'data'=>''));
$commencer_page = charger_fonction('commencer_page', 'inc');
echo $commencer_page(_T('titre_page_articles_tous'), "accueil", "tout-site");
echo http_script('var img_deplierhaut = "'. chemin_image('noeud_plus.gif') .'";
var img_deplierbas = "'. chemin_image('noeud_moins.gif') . '";');
echo http_script('', 'jquery-ui-1.8-drag-drop.min.js');
echo http_script('', 'articles_tous_edite.js');
echo http_script('', 'pause.js');
echo debut_gauche('', true);
echo formulaire_affiche_tous($aff_art, $aff_statut, $sel_lang);
echo pipeline('affiche_gauche',array('args'=>array('exec'=>'articles_tous'),'data'=>''));
echo creer_colonne_droite('', true);
echo pipeline('affiche_droite',array('args'=>array('exec'=>'articles_tous'),'data'=>''));
echo debut_droite('', true);
if ($enfant AND $browser_layer)
echo couche_formulaire_tous();
$out = "<textarea cols='1' rows='1' id='deplacements' style='display:none;' name='deplacements'></textarea>"
. "\n<div id='apply' style='display:none;text-align:$spip_lang_right'><input type='submit' value='"._T('bouton_changer')."' /></div>";
echo "\n<div id='cancel' class='verdana2' style='display:none;text-align:$spip_lang_left;float:$spip_lang_left'>",
"<a href='javascript:annuler_deplacement();'>",
_T('bouton_annuler'),
"</a></div>",
redirige_action_post("reorganiser","",'articles_tous', '', $out),
"<ul id='articles_tous'><li id='rubrique-0' class='treeItem racine verdana2'>",
"<span class='holder icone'> </span>",
_T('info_racine_site'),
"\n<ul class=''>\n",
afficher_contenu_rubrique($article, $enfant, $text_article, 0, $flag_trad, 2),
"</ul></li></ul>\n",
fin_gauche(), fin_page();
}
}
示例2: base_restaurer_dist
function base_restaurer_dist($titre = '', $reprise = false)
{
$status_file = _DUMP_STATUS_FILE;
$status_file = _DIR_TMP . basename($status_file) . ".txt";
if (!lire_fichier($status_file, $status) or !($status = unserialize($status))) {
} else {
$redirect = parametre_url(generer_action_auteur('restaurer', _DUMP_STATUS_FILE), "step", intval(_request('step') + 1), '&');
$timeout = ini_get('max_execution_time');
// valeur conservatrice si on a pas reussi a lire le max_execution_time
if (!$timeout) {
$timeout = 30;
}
// parions sur une valeur tellement courante ...
$max_time = time() + $timeout / 2;
include_spip('inc/minipres');
@ini_set("zlib.output_compression", "0");
// pour permettre l'affichage au fur et a mesure
$titre = _T('dump:restauration_en_cours') . " (" . count($status['tables']) . ") ";
$balise_img = chercher_filtre('balise_img');
$titre .= $balise_img(chemin_image('searching.gif'));
echo install_debut_html($titre);
// script de rechargement auto sur timeout
echo http_script("window.setTimeout('location.href=\"" . $redirect . "\";'," . $timeout * 1000 . ")");
echo "<div style='text-align: left'>\n";
dump_serveur($status['connect']);
spip_connect('dump');
// au premier coup on ne fait rien sauf afficher l'ecran de sauvegarde
if (_request('step')) {
$options = array('callback_progression' => 'dump_afficher_progres', 'max_time' => $max_time, 'no_erase_dest' => lister_tables_noerase(), 'where' => $status['where'] ? $status['where'] : array(), 'desc_tables_dest' => array());
if ($desc = sql_getfetsel('valeur', 'spip_meta', "nom='dump_structure_temp'", '', '', '', '', 'dump') and $desc = unserialize($desc)) {
$options['desc_tables_dest'] = $desc;
}
#var_dump(sql_allfetsel('nom,valeur','spip_meta',"",'','','','','dump'));
#die();
$res = base_copier_tables($status_file, $status['tables'], 'dump', '', $options);
} else {
// mais on en profite pour reparer les version base pour etre sur de ne pas les perdre
sql_updateq("spip_meta", array('impt' => 'oui'), "nom='version_installee'", '', 'dump');
sql_updateq("spip_meta", array('impt' => 'oui'), "nom LIKE '%_base_version'", '', 'dump');
}
echo "</div>\n";
if (!$res) {
echo dump_relance($redirect);
}
echo install_fin_html();
ob_end_flush();
flush();
if (!$res) {
exit;
}
// quand on sort de $export avec true c'est qu'on a fini
dump_end(_DUMP_STATUS_FILE, 'restaurer');
include_spip('inc/headers');
echo redirige_formulaire(generer_url_ecrire("restaurer", 'status=' . _DUMP_STATUS_FILE, '', true, true));
}
}
示例3: affiche_stats_lang
function affiche_stats_lang($critere)
{
global $spip_lang_right;
$taille = 450;
//
// Statistiques par langue
//
$out = "";
$r = sql_fetsel("SUM({$critere}) AS total_visites", "spip_articles");
$visites = 1;
// attention a '0.0'
if ($r and $r['total_visites'] > 0) {
$total_visites = $r['total_visites'];
} else {
$total_visites = 1;
}
$result = sql_select("lang, SUM(" . $critere . ") AS cnt", "spip_articles", "statut='publie' ", "lang");
$out .= "\n<table cellpadding='2' cellspacing='0' border='0' width='100%' style='border: 1px solid #aaaaaa;'>";
$ifond = 1;
$visites_abs = 0;
while ($row = sql_fetch($result)) {
$lang = $row['lang'];
if ($row['cnt']) {
$visites = round($row['cnt'] / $total_visites * $taille);
$pourcent = round($row['cnt'] / $total_visites * 100);
}
if ($visites > 0) {
if ($ifond == 0) {
$ifond = 1;
$couleur = "white";
} else {
$ifond = 0;
$couleur = "eeeeee";
}
$out .= "\n<tr style='background-color: {$couleur}'>";
$dir = lang_dir($lang, '', ' dir="rtl"');
$out .= "<td style='width: 100%; border-bottom: 1px solid #cccccc;'><p {$dir}><span style='float: {$spip_lang_right};'>{$pourcent}%</span>" . traduire_nom_langue($lang) . "</p></td>";
$out .= "<td style='border-bottom: 1px solid #cccccc;'>";
$out .= "\n<table cellpadding='0' cellspacing='0' border='0' width='" . ($taille + 5) . "'>";
$out .= "\n<tr><td style='align:{$spip_lang_right}; background-color: #eeeeee; border: 1px solid #999999; white-space: nowrap;'>";
if ($visites_abs > 0) {
$out .= "<img src='" . chemin_image('rien.gif') . "' width='{$visites_abs}' height='10' alt=' ' />";
}
if ($visites > 0) {
$out .= "<img src='" . chemin_image('rien.gif') . "' class='couleur_langue' style='border: 0px;' width='{$visites}' height='8' alt=' ' />";
}
$out .= "</td></tr></table>\n";
$out .= "</td>";
$out .= "</tr>";
$visites_abs += $visites;
}
}
$out .= "</table>\n";
return $out;
}
示例4: puce_statut_mot
function puce_statut_mot($id, $statut, $id_groupe, $type, $ajax='') {
static $icones = array();
if (!isset($icones[$id_groupe])) {
$t = sql_fetsel('technique', 'spip_groupes_mots', 'id_groupe='.intval($id_groupe));
if ($t['technique'] == 'oui')
$icones[$id_groupe] = _DIR_PLUGIN_MOTS_TECHNIQUES.'images/mot-technique-16.png';
else
$icones[$id_groupe] = chemin_image('petite-cle.gif');
}
return "<img src='" . $icones[$id_groupe] . "' alt='' />";
}
示例5: action_tester_taille_dist
function action_tester_taille_dist()
{
if (!autoriser('configurer')) {
return;
}
$taille = _request('arg');
$taille = explode('-', $taille);
$GLOBALS['taille_max'] = end($taille);
$GLOBALS['taille_min'] = 0;
if (count($taille) > 1) {
$GLOBALS['taille_min'] = reset($taille);
}
// si l'intervalle est assez petit, on garde la valeur min
if ($GLOBALS['taille_max'] * $GLOBALS['taille_max'] - $GLOBALS['taille_min'] * $GLOBALS['taille_min'] < 50000) {
ecrire_meta('max_taille_vignettes', $t = $GLOBALS['taille_min'] * $GLOBALS['taille_min'] * 0.9, 'non');
echo round($t / 1000000, 3) . ' Mpx';
die;
}
$taille = $GLOBALS['taille_test'] = round(($GLOBALS['taille_max'] + $GLOBALS['taille_min']) / 2);
include_spip('inc/filtres');
// des inclusions representatives d'un hit prive et/ou public pour la conso memoire
include_spip('public/assembler');
include_spip('public/balises');
include_spip('public/boucles');
include_spip('public/cacher');
include_spip('public/compiler');
include_spip('public/composer');
include_spip('public/criteres');
include_spip('public/interfaces');
include_spip('public/parametrer');
include_spip('public/phraser_html');
include_spip('public/references');
include_spip('inc/presentation');
include_spip('inc/charsets');
include_spip('inc/documents');
include_spip('inc/header');
propre("<doc1>");
// charger propre avec le trairement d'un modele
$i = _request('i') + 1;
$image_source = chemin_image("test.png");
$GLOBALS['redirect'] = generer_url_action("tester_taille", "i={$i}&arg=" . $GLOBALS['taille_min'] . "-" . $GLOBALS['taille_test']);
ob_start('action_tester_taille_error_handler');
filtrer('image_recadre', $image_source, $taille, $taille);
$GLOBALS['redirect'] = generer_url_action("tester_taille", "i={$i}&arg={$taille}-" . $GLOBALS['taille_max']);
// si la valeur intermediaire a reussi, on teste la valeur maxi qui est peut etre sous estimee
$taille = $GLOBALS['taille_max'];
filtrer('image_recadre', $image_source, $taille, $taille);
$GLOBALS['redirect'] = generer_url_action("tester_taille", "i={$i}&arg={$taille}-" . $GLOBALS['taille_max']);
ob_end_clean();
// on est ici, donc pas de plantage
echo redirige_formulaire($GLOBALS['redirect']);
}
示例6: install_etape__dist
/**
* Affiche l'étape 0 d'installation : écran d'accueil.
*
* @uses info_copyright()
**/
function install_etape__dist()
{
utiliser_langue_visiteur();
$menu_langues = menu_langues('var_lang_ecrire');
if (!$menu_langues) {
redirige_url_ecrire('install', "etape=chmod");
} else {
include_spip('inc/presentation');
// pour info_copyright
$res = "<div class='petit-centre'><img alt='SPIP' src='" . chemin_image('logo-spip2.gif') . "' />\n" . "<p class='small'>" . info_copyright() . "</p></div>\n" . "<p>" . _T('install_select_langue') . "</p>" . "<div>" . $menu_langues . "</div>\n" . generer_form_ecrire('install', "<input type='hidden' name='etape' value='chmod' />" . bouton_suivant());
echo minipres('AUTO', $res);
}
}
示例7: inc_tourner_dist
function inc_tourner_dist($id_document, $document, $script, $flag, $type)
{
global $spip_lang_right;
if (!$document) {
// retour d'Ajax
$document = sql_fetsel("*", "spip_documents", "id_document = " . intval($id_document));
}
$prim = 'id_' . $type;
// si pas de doc le hash sera inutilisable
$id = intval(sql_getfetsel('id_objet', 'spip_documents_liens', "objet=".sql_quote($type)." AND id_document = " . intval($id_document)));
$titre = $document['titre'];
$id_vignette = $document['id_vignette'];
$fichier = entites_html($document['fichier']);
if (isset($document['url']))
$url = $document['url'];
else {
$url = generer_url_entite($id_document, 'document');
}
$res = '';
// Indiquer les documents manquants avec un panneau de warning
if ($document['distant'] != 'oui') {
if (!@file_exists(get_spip_doc($document['fichier']))){
$c = _T('fichier_introuvable',
array('fichier'=>basename($document['fichier'])));
$res = "<img src='" . chemin_image('warning-24.gif')
."'\n\tstyle='float: right;'\n\talt=\"$c\"\n\ttitle=\"$c\" />";
} else {
if ($flag AND !$id_vignette)
$res = boutons_rotateurs($document, $type, $id, $id_document,$script);
}
} else {
$res = "\n<div class='verdana1' style='float: $spip_lang_right; text-align: $spip_lang_right;'>";
// Signaler les documents distants par une icone de trombone
$res .= "<img src='" . chemin_image('attachment.gif') . "'\n\t \n\talt=\"$fichier\"\n\ttitle=\"$fichier\" />\n";
// Bouton permettant de copier en local le fichier
$res .= bouton_copier_local($document, $type, $id, $id_document, $script);
$res .= "</div>\n";
}
return tourner_greffe($id_document, $document, $url, $res);
}
示例8: exec_test_ajax_dist
function exec_test_ajax_dist() {
switch (_request('js')) {
// on est appele par <noscript>
case -1:
spip_setcookie('spip_accepte_ajax', -1);
include_spip('inc/headers');
redirige_par_entete(chemin_image('puce-orange-anim.gif'));
break;
// ou par ajax
case 1:
default:
spip_setcookie('spip_accepte_ajax', 1);
break;
}
}
示例9: skeleditor_afficher_dir_skel
/**
* Afficher l'arborescence du dossier squelette
*
* @param string $path_base
* @param string $current_file
* @return string
*/
function skeleditor_afficher_dir_skel($path_base,$current_file) {
include_spip('inc/skeleditor');
include_spip('inc/presentation');
$file_list = skeleditor_files_editables($path_base);
$current_file = substr($current_file,strlen($path_base));
$output = "<div id='arbo'><div class='dir'>\n";
$init_dir = $current_dir = "";
foreach($file_list as $file){
$dir = substr(dirname($file),strlen($path_base));
$file = substr($file,strlen($path_base));
if ($dir != $current_dir)
$output .= skeleditor_tree_open_close_dir($current_dir,$dir,$current_file);
$class="fichier";
$readonly = false;
if (!is_writable($path_base.$dir) OR !is_writable($path_base.$file)) {
$readonly = true;
$class .= " readonly";
}
$class .= ($file==$current_file?" on":'');
$icon = "file";
if (preg_match(',('._SE_EXTENSIONS_IMG.')$,',$file))
$icon = "image";
include_spip('inc/filtres_images_mini');
$cadenas = ($readonly) ? " ".inserer_attribut(image_reduire(chemin_image('cadenas-16.png'),12),'title',attribut_html(_T('texte_inc_meta_2'))) : "";
$output .= "<a href='".generer_url_ecrire('skeleditor','f='.urlencode($f=$path_base.$file))."' class='$class'
onclick=\"jQuery('#contenu > :first').ajaxReload({history:true,args:{f:'$f'}});return false;\">"
. "<img src='"._DIR_PLUGIN_SKELEDITOR."images/se-$icon-16.png' alt='$icon' /> "
.basename($file)
.$cadenas
. "</a>"
;
}
$output .= skeleditor_tree_open_close_dir($current_dir,$init_dir,$current_file);
$output .= "</div></div>\n";
return $output;
}
示例10: inc_sauvegarder_dist
function inc_sauvegarder_dist($status_file, $redirect = '')
{
$status_file = _DIR_TMP . basename($status_file) . ".txt";
if (!lire_fichier($status_file, $status) or !($status = unserialize($status))) {
} else {
$timeout = ini_get('max_execution_time');
// valeur conservatrice si on a pas reussi a lire le max_execution_time
if (!$timeout) {
$timeout = 30;
}
// parions sur une valeur tellement courante ...
$max_time = time() + $timeout / 2;
include_spip('inc/minipres');
@ini_set("zlib.output_compression", "0");
// pour permettre l'affichage au fur et a mesure
$titre = _T('dump:sauvegarde_en_cours') . " (" . count($status['tables']) . ") ";
$balise_img = chercher_filtre('balise_img');
$titre .= $balise_img(chemin_image('searching.gif'));
echo install_debut_html($titre);
// script de rechargement auto sur timeout
echo http_script("window.setTimeout('location.href=\"" . $redirect . "\";'," . $timeout * 1000 . ")");
echo "<div style='text-align: left'>\n";
dump_serveur($status['connect']);
spip_connect('dump');
// au premier coup on ne fait rien sauf afficher l'ecran de sauvegarde
$res = false;
if (_request('step')) {
$options = array('callback_progression' => 'dump_afficher_progres', 'max_time' => $max_time, 'no_erase_dest' => lister_tables_noerase(), 'where' => $status['where'] ? $status['where'] : array());
$res = base_copier_tables($status_file, $status['tables'], '', 'dump', $options);
}
echo "</div>\n";
if (!$res and $redirect) {
echo dump_relance($redirect);
}
echo install_fin_html();
ob_end_flush();
flush();
return $res;
}
}
示例11: html_65c161fa3974dab7ff9b5b08fa07491e
function html_65c161fa3974dab7ff9b5b08fa07491e($Cache, $Pile, $doublons = array(), $Numrows = array(), $SP = 0)
{
if (isset($Pile[0]["doublons"]) and is_array($Pile[0]["doublons"])) {
$doublons = nettoyer_env_doublons($Pile[0]["doublons"]);
}
$connect = '';
$page = ($t1 = strval(invalideur_session($Cache, (function_exists("autoriser") || include_spip("inc/autoriser")) && autoriser('configurer', '_admin_vider') ? " " : "" ? ' ' : ''))) !== '' ? $t1 . ('
' . boite_ouvrir(interdire_scripts(wrap(concat(filtre_balise_img_dist(chemin_image('image-24.png'), '', 'cadre-icone'), _T('info_images_auto')), '<h3>')), 'simple', 'titrem') . '<div id="placehoder_taille_cache_images"><p> <br /> <br /> <br /></p></div>
<script type="text/javascript">
jQuery(function(){jQuery(\'#placehoder_taille_cache_images\').animateLoading().load(\'' . invalideur_session($Cache, replace(generer_action_auteur('calculer_taille_cache', 'images'), '&', '&')) . '\');});
</script>
<noscript>
<iframe src="' . invalideur_session($Cache, generer_action_auteur('calculer_taille_cache', 'images')) . '" style="width: 100%;height: 3em;overflow: hidden;"></iframe>
</noscript>
' . boite_pied() . '
' . bouton_action(_T('public|spip|ecrire:bouton_vider_cache'), invalideur_session($Cache, generer_action_auteur('purger', 'vignettes', invalideur_session($Cache, self()))), 'ajax') . '
' . boite_fermer() . '
') : '';
return analyse_resultat_skel('html_65c161fa3974dab7ff9b5b08fa07491e', $Cache, $page, '../prive/squelettes/inclure/admin_vider_images.html');
}
示例12: compositions_charger_infos
/**
* Charger les informations contenues dans le xml d'une composition
*
* @param string $nom
* @param string $info
* @return array|string
*/
function compositions_charger_infos($nom,$info=""){
// on peut appeller avec le nom du squelette
$nom = preg_replace(',[.]html$,i','',$nom).".xml";
include_spip('inc/xml');
$composition = array();
if ($xml = spip_xml_load($nom,false)){
if (count($xml['composition'])){
$xml = reset($xml['composition']);
$composition['nom'] = _T_ou_typo(spip_xml_aplatit($xml['nom']));
$composition['description'] = isset($xml['description'])?_T_ou_typo(spip_xml_aplatit($xml['description'])):'';
if (isset($xml['icon'])) {
$icon = chemin_image(reset($xml['icon']));
if (!$icon) {
$icon = find_in_path(reset($xml['icon']));
}
} else {
$icon = '';
}
$composition['image_exemple'] = isset($xml['image_exemple']) ? find_in_path(reset($xml['image_exemple'])) : '';
$composition['icon'] = $icon;
$composition['class'] = isset($xml['class']) ? trim(reset($xml['class'])) : '';
$composition['configuration'] = isset($xml['configuration']) ? spip_xml_aplatit($xml['configuration']) : '';
$composition['branche'] = array();
if (spip_xml_match_nodes(',^branche,', $xml, $branches)){
foreach (array_keys($branches) as $branche){
list($balise, $attributs) = spip_xml_decompose_tag($branche);
$composition['branche'][$attributs['type']] = $attributs['composition'];
}
}
}
}
if (!$info)
return $composition;
else
return isset($composition[$info])?$composition[$info]:"";
}
示例13: auth_spip_formulaire_login
/**
* Completer le formulaire de login avec le js ou les saisie specifiques a ce mode d'auth
*
* @param array $flux
* @return array
*/
function auth_spip_formulaire_login($flux)
{
// faut il encore envoyer md5 ?
// on regarde si il reste des pass md5 en base pour des auteurs en statut pas poubelle
// les hash md5 ont une longueur 32, les sha 64
$compat_md5 = sql_countsel("spip_auteurs", "length(pass)=32 AND statut<>'poubelle'");
// javascript qui gere la securite du login en evitant de faire circuler le pass en clair
$flux['data'] .= ($compat_md5 ? '<script type="text/javascript" src="' . _DIR_JAVASCRIPT . 'md5.js"></script>' : '') . '<script type="text/javascript" src="' . _DIR_JAVASCRIPT . 'sha256.js"></script>' . '<script type="text/javascript" src="' . _DIR_JAVASCRIPT . 'login.js"></script>' . '<script type="text/javascript">/*<![CDATA[*/' . "var alea_actuel='" . $flux['args']['contexte']['_alea_actuel'] . "';" . "var alea_futur='" . $flux['args']['contexte']['_alea_futur'] . "';" . "var login='" . $flux['args']['contexte']['var_login'] . "';" . "var page_auteur = '" . generer_url_public('informer_auteur') . "';" . "var informe_auteur_en_cours = false;" . "var attente_informe = 0;" . "var compat_md5 = " . ($compat_md5 ? "true;" : "false;") . "(function(\$){\n\t\t\$('#password')\n\t\t\t.after(\"<em id='pass_securise'><img src='" . chemin_image('cadenas-16.png') . "' width='16' height='16' alt='" . attribut_html(_T('login_securise')) . "' title='" . attribut_html(_T('login_securise')) . "' \\/><\\/em>\");\n\t\taffiche_login_secure();\n\t\t\$('#var_login').change(actualise_auteur);\n\t\t\$('form#formulaire_login').submit(login_submit);\n\t}(jQuery));" . "/*]]>*/</script>";
return $flux;
}
示例14: puce_statut_mot_dist
function puce_statut_mot_dist($id, $statut, $id_groupe, $type, $ajax = '', $menu_rapide = _ACTIVER_PUCE_RAPIDE)
{
return "<img src='" . chemin_image("mot-16.png") . "' width='16' height='16' alt='' />";
}
示例15: inc_migrer_vers_dist
function inc_migrer_vers_dist($status_file, $redirect='') {
if (!$status = migrer_vers_lire_status($status_file)) {
// rien a faire ?
}
else {
$status_file = _DIR_TMP.basename($status_file).".txt";
$timeout = ini_get('max_execution_time');
// valeur conservatrice si on a pas reussi a lire le max_execution_time
if (!$timeout) $timeout=30; // parions sur une valeur tellement courante ...
$timeout = min($timeout,30); // ne prolongeons pas plus que 30s car cela peut produire des erreur 500 et bloque le refresh
$max_time = time()+$timeout/2;
include_spip('inc/minipres');
//@apache_setenv('no-gzip', 1); // trop agressif, plante sur certains hebergements
@ini_set("zlib.output_compression","0"); // pour permettre l'affichage au fur et a mesure
@ini_set("output_buffering","off");
@ini_set('implicit_flush', 1);
@ob_implicit_flush(1);
switch ($status['etape']){
case 'init':
$titre = _T('migration:titre_debut_migration');
break;
case 'base':
case 'basecopie':
$titre = _T('migration:titre_migration_en_cours_base') . " (".count($status['tables']).") ";
break;
case 'fichiers':
case 'fichierscopie':
$titre = _T('migration:titre_migration_en_cours_fichiers') . " (".count($status['files']).") ";
break;
case 'squelettes':
case 'squelettescopie':
$titre = _T('migration:titre_migration_en_cours_squelettes') . " (".array_sum(array_map('count',$status['squelettes'])).") ";
break;
}
$titre .= "<img src=\"".chemin_image('searching.gif')."\" />";
echo ( install_debut_html($titre));
// script de rechargement auto sur timeout
echo "<meta http-equiv='Refresh' content='$timeout'>";
@flush();
echo "<div style='text-align: left'>\n";
include_spip('inc/migration');
$s = lire_migration_vers_status();
// au premier coup on ne fait rien sauf afficher l'ecran de sauvegarde
switch ($status['etape']){
case 'init':
$status['etape'] = migrer_vers_etape_suivante($status['etape'],$s['quoi']);
ecrire_fichier($status_file, serialize($status));
break;
case 'base':
case 'basecopie':
$options = array(
'callback_progression' => 'migrer_vers_afficher_progres',
'max_time' => $max_time,
'no_erase_dest' => lister_tables_noerase(),
'where' => $status['where']?$status['where']:array(),
'racine_fonctions_dest' =>'migration/envoi',
'data_pool' => 200*1024,
);
$res = base_copier_tables($status_file, $status['tables'], '', '', $options);
if ($res) {
if ($res==="abort"){
$s = lire_migration_vers_status();
$s['status'] = 'abort';
ecrire_migration_status('vers',$s);
}
if ($s['status'] != 'abort') {
$status['etape'] = migrer_vers_etape_suivante($status['etape'],$s['quoi']);
ecrire_fichier($status_file, serialize($status));
}
}
break;
case 'fichiers':
case 'fichierscopie':
$options = array(
'callback_progression' => 'migrer_vers_afficher_progres',
'max_time' => $max_time,
'racine_fonctions_dest' =>'migration/envoi',
'data_pool' => 200*1024,
);
$res = base_copier_files($status_file, $status['files'],_DIR_IMG,_DIR_IMG, $options);
if ($res) {
$status['etape'] = migrer_vers_etape_suivante($status['etape'],$s['quoi']);
ecrire_fichier($status_file, serialize($status));
}
break;
case 'squelettes':
case 'squelettescopie':
$options = array(
'callback_progression' => 'migrer_vers_afficher_progres',
'max_time' => $max_time,
'racine_fonctions_dest' =>'migration/envoi',
'data_pool' => 200*1024,
'etape_suivante' => 'squelettescopie',
);
$res = true;
//.........这里部分代码省略.........