source: spip-zone/_squelettes_/soyezcreateurs_net/plugins_1.9.3/plugins/__soyezcreateurs/inc/iconifier.php @ 12826

Last change on this file since 12826 was 12826, checked in by real3t@…, 13 years ago

Synchronisation avec la SVN 1.9.3

File size: 7.1 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2007                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined("_ECRIRE_INC_VERSION")) return;
14
15include_spip('inc/actions');
16
17// http://doc.spip.org/@inc_iconifier_dist
18function inc_iconifier_dist($id_objet, $id,  $script, $visible=false) {
19
20        $texteon = $GLOBALS['logo_libelles'][($id OR $id_objet != 'id_rubrique') ? $id_objet : 'id_racine'];
21
22        $chercher_logo = charger_fonction('chercher_logo', 'inc');
23       
24        // Add the redirect url when uploading via iframe
25        $iframe_script = generer_url_ecrire('iconifier',"type=$id_objet&$id_objet=$id&script=$script",true);
26    $iframe = "<input type='hidden' name='iframe_redirect' value='".rawurlencode($iframe_script)."' />\n";
27       
28        if (!$logo = $chercher_logo($id, $id_objet, 'on')) {
29                if ($GLOBALS['meta']['activer_logos'] != 'non') {
30                $masque = indiquer_logo($texteon, $id_objet, 'on', $id, $script, $iframe);
31                        $bouton = bouton_block_depliable($texteon,$visible,'on');
32                        $res = debut_block_depliable($visible,'on') . $masque . fin_block();
33                }
34        } else {
35                list($img, $clic) = decrire_logo($id_objet,'on',$id, 170, 170, $logo, $texteon, $script);
36
37                $bouton = bouton_block_depliable("$texteon<br />$img",$visible,'on');
38                $masque = debut_block_depliable($visible,'on') . $clic . fin_block();
39                $res = "<div style='text-align: center'>$masque</div><br /><br />";;
40                $texteoff = _T('logo_survol');
41
42                if ($logo = $chercher_logo($id, $id_objet, 'off')) {
43
44                        list($img, $clic) = decrire_logo($id_objet, 'off', $id, 170, 170, $logo, $texteoff, $script);
45
46                        $masque = block_parfois_visible('off', "$texteoff<br />$img", $clic, 'margin-bottom: -2px');
47                        $res .= "<div style='text-align: center'>$masque</div>";
48                } else {
49                        if ($GLOBALS['meta']['activer_logos_survol'] == 'oui') {
50                  $masque = indiquer_logo($texteoff, $id_objet, 'off', $id, $script, $iframe);
51                                $res .= block_parfois_visible('off', "$texteoff", $masque);
52                        }
53                }
54        }
55
56        if ($res) {
57                $res = debut_cadre_relief("image-24.gif", true,'',$bouton)
58        . "<div class='verdana1' style='text-align: center;'>"
59        . $res
60        . "</div>"
61        . fin_cadre_relief(true);
62
63  $js = "";
64  if(_request("exec")!="iconifier") {
65      $js .= "<script src='"._DIR_JAVASCRIPT."async_upload.js' type='text/javascript'></script>\n";
66                $js .= <<<EOF
67      <script type='text/javascript'>
68      $("form.form_upload_icon").async_upload(async_upload_icon);
69      </script>
70EOF;
71    }
72        }
73
74        return ajax_action_greffe("iconifier", $id, $res).$js;
75
76}
77
78global $logo_libelles;
79$logo_libelles = array(
80                       'id_article' => _T('logo_article').aide ("logoart"),
81                       'id_auteur'  => _T('logo_auteur').aide ("logoart"),
82                       'id_breve'   => _T('logo_breve').aide ("breveslogo"),
83                       'id_syndic'  => _T('logo_site')." ".aide ("rublogo"),
84                       'id_mot'     => _T('logo_mot_cle').aide("breveslogo"),
85                       'id_rubrique' => _T('logo_rubrique')." ".aide ("rublogo"),
86                       'id_racine' => _T('logo_standard_rubrique')." ".aide ("rublogo")
87                       );
88
89// http://doc.spip.org/@indiquer_logo
90function indiquer_logo($titre, $id_objet, $mode, $id, $script, $iframe_script) {
91
92        global $formats_logos;
93        $afficher = "";
94        $reg = '[.](' . join('|', $formats_logos) . ')$';
95
96
97/*
98        # CODE MORT SI ON DECIDE DE NE PAS LAISSER UPLOADER DES LOGOS PAR FTP
99
100        if ($GLOBALS['flag_upload']
101        AND $dir_ftp = determine_upload('logos')
102        AND $fichiers = preg_files($dir_ftp, $reg)) {
103                foreach ($fichiers as $f) {
104                        $f = substr($f, strlen($dir_ftp));
105                        $afficher .= "\n<option value='$f'>$f</option>";
106                }
107        }
108        if (!$afficher) {
109                if ($dir_ftp) {
110                        $afficher = _T('info_installer_images_dossier',
111                                array('upload' => '<b>' . joli_repertoire($dir_ftp) . '</b>'));
112                }
113                } else {
114                $afficher = "\n<div style='text-align: left'>" .
115                        _T('info_selectionner_fichier',
116                                array('upload' => '<b>' . joli_repertoire($dir_ftp) . '</b>')) .
117                        ":</div>" .
118                        "\n<select name='source' class='forml' size='1'>$afficher\n</select>" .
119                        "\n<div style='text-align:" .
120                        $GLOBALS['spip_lang_right'] .
121                        "'><input name='sousaction2' type='submit' value='".
122                        _T('bouton_choisir') .
123                        "' class='fondo spip_xx-small'  /></div>";
124                }
125*/
126
127                $afficher = "\n" .
128                        _T('info_telecharger_nouveau_logo') .
129                        "<br />" .
130                        "\n<input name='image' type='file' class='forml spip_xx-small' size='15' />" .
131                "<div style='text-align: " .  $GLOBALS['spip_lang_right'] . "'>" .
132                        "\n<input name='sousaction1' type='submit' value='" .
133                        _T('bouton_telecharger') .
134                        "' class='fondo spip_xx-small' /></div>" .
135                        $afficher;
136
137                $type = type_du_logo($id_objet);
138                return generer_action_auteur('iconifier',
139                        "$id+$type$mode$id",
140                        generer_url_ecrire($script, "$id_objet=$id", true), 
141                        $iframe_script.$afficher,
142                        " method='post' enctype='multipart/form-data' class='form_upload_icon'");
143}
144
145// http://doc.spip.org/@decrire_logo
146function decrire_logo($id_objet, $mode, $id, $width, $height, $img, $titre="", $script="") {
147
148        list($fid, $dir, $nom, $format) = $img;
149        include_spip('inc/filtres_images');
150        if ($format != 'swf') {
151        $res = image_reduire("<img src='$fid' alt='' />", $width, $height);
152        } else {
153                include_spip('inc/swfheader');
154                $swf = new swfheader();
155                $swf->loadswf($fid);
156                if ($swf->valid) {
157                        $taille_origine[0] = $swf->width;
158                        $taille_origine[1] = $swf->height;
159                        list ($width,$height, $ratio) = image_ratio($taille_origine[0], $taille_origine[1], $width, $height);
160                        $res = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'
161  codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'
162  width='$width' height='$height' type='application/x-shockwave-flash>
163  <param name='movie' value='$fid' />
164  <param name='quality' value='high' />
165  <!--[if !IE]>-->
166  <object type='application/x-shockwave-flash'
167    data='$fid'
168    width='$width' height='$height'>
169        <param name='movie' value='$fid' />
170        <param name='quality' value='high' />
171  </object>
172  <!--<![endif]-->
173  </object>";
174                }
175        }
176
177        if ($res)
178            $res = "<div><a href='" .   $fid . "'>$res</a></div>";
179        else
180            $res = "<img src='$fid' width='$width' height='$height' alt=\"" . htmlentities($titre) . '" />';
181        if ($taille = @getimagesize($fid))
182                $taille = _T('info_largeur_vignette', array('largeur_vignette' => $taille[0], 'hauteur_vignette' => $taille[1]));
183
184        return array($res,
185                        "<div class='spip_xx-small'>" .
186                     $taille .
187                     "\n<br />[" .
188                     ajax_action_auteur("iconifier", "$id-$nom.$format", $script, "$id_objet=$id&type=$id_objet", array(_T('lien_supprimer')),'',"function(r,status) {this.innerHTML = r; \$('.form_upload_icon',this).async_upload(async_upload_icon);}") .
189                     "]</div>");
190}
191?>
Note: See TracBrowser for help on using the repository browser.