Changeset 50650 in spip-zone


Ignore:
Timestamp:
Aug 22, 2011, 7:14:37 PM (8 years ago)
Author:
kent1@…
Message:

tester la fonction PHP exec()

Incrément de version

Location:
_plugins_/spipmotion
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spipmotion/inc/spipmotion_verifier_binaires.php

    r46433 r50650  
    66 * Auteurs :
    77 * Quentin Drouet (kent1)
    8  * 2008-2010 - Distribué sous licence GNU/GPL
     8 * 2008-2011 - Distribué sous licence GNU/GPL
    99 *
    1010 */
     
    1717 * -* ffmpeg2theora
    1818 * -* flvtool2
     19 * -* flvtool++
    1920 * -* qt-faststart
    2021 * -* le script spipmotion.sh
     
    5354                $valeurs = lire_config('spipmotion');
    5455
    55         /**
    56          * Tester ffmpeg2theora
    57          */
    58         exec('ffmpeg2theora',$retour_ffmpeg2theora,$retour_ffmpeg2theora_int);
    59         if($retour_ffmpeg2theora_int != 0){
    60                 ecrire_config('spipmotion_ffmpeg2theora_casse', 'oui');
    61                 $erreurs[] = 'ffmpeg2theora';
    62         }else{
    63                 effacer_config('spipmotion_ffmpeg2theora_casse');
     56        if(!function_exists('exec')){
     57                ecrire_config('spipmotion_exec_casse', 'oui');
     58                $erreurs[] = 'exec';
    6459        }
    65 
    66         /**
    67          * Tester flvtool2
    68          */
    69         exec('flvtool2',$retour_flvtool,$retour_flvtool_int);
    70         if($retour_flvtool_int != 0){
    71                 ecrire_config('spipmotion_flvtool_casse', 'oui');
    72                 $erreurs[] = 'flvtool2';
    73         }else{
    74                 effacer_config('spipmotion_flvtool_casse');
    75         }
    76 
    77         /**
    78          * Tester qt-faststart
    79          */
    80         exec('qt-faststart',$retour_qt_faststart,$retour_qt_faststart_int);
    81         if($retour_qt_faststart_int != 0){
    82                 ecrire_config('spipmotion_qt-faststart_casse', 'oui');
    83                 $erreurs[] = 'qt-faststart';
    84         }else{
    85                 effacer_config('spipmotion_qt-faststart_casse');
    86         }
     60        else{
     61                /**
     62                 * Tester ffmpeg2theora
     63                 */
     64                exec('ffmpeg2theora',$retour_ffmpeg2theora,$retour_ffmpeg2theora_int);
     65                if($retour_ffmpeg2theora_int != 0){
     66                        ecrire_config('spipmotion_ffmpeg2theora_casse', 'oui');
     67                        $erreurs[] = 'ffmpeg2theora';
     68                }else{
     69                        effacer_config('spipmotion_ffmpeg2theora_casse');
     70                }
    8771       
    88         /**
    89          * Tester mediainfo
    90          * MediaInfo n'est pas indispensable au bon fonctionnement
    91          * On n'envoie pas de mail de notification
    92          * On ne bloquera pas les encodages
    93          */
    94         exec('mediainfo --help',$retour_mediainfo,$retour_mediainfo_int);
    95         if(!in_array($retour_mediainfo_int,array(0,255))){
    96                 ecrire_config('spipmotion_mediainfo_casse', 'oui');
    97         }else{
    98                 effacer_config('spipmotion_mediainfo_casse');
    99         }
    100 
    101         /**
    102          * Tester le script spipmotion.sh présent dans script_bash/
    103          * Si le safe_mode est activé, il doit se trouver dans le répertoire des scripts autorisés
    104          */
    105         if($safe_mode == 1){
    106                 $spipmotion_sh = $safe_mode_path.'/spipmotion.sh';
    107         }else{
    108                 $spipmotion_sh = find_in_path('script_bash/spipmotion.sh');
    109         }
    110         exec($spipmotion_sh." --help",$retour_spipmotionsh,$retour_spipmotionsh_int);
    111         if($retour_spipmotionsh_int != 0){
    112                 ecrire_config('spipmotion_spipmotionsh_casse', 'oui');
    113                 $erreurs[] = 'spipmotion.sh';
    114         }else{
    115                 effacer_config('spipmotion_spipmotionsh_casse');
    116         }
    117 
    118         /**
    119          * Tester ffmpeg
    120          */
    121         if($valeurs['chemin'] != ''){
    122                 exec($spipmotion_sh." --p ".$valeurs['chemin']." --info '-version'",$retour_ffmpeg,$retour_int_ffmpeg);
    123                 if($retour_int_ffmpeg != 0){
    124                         ecrire_config('spipmotion_ffmpeg_casse', 'oui');
    125                         $erreurs[] = 'ffmpeg';
     72                /**
     73                 * Tester flvtool2
     74                 */
     75                exec('flvtool2',$retour_flvtool,$retour_flvtool_int);
     76                if($retour_flvtool_int != 0){
     77                        ecrire_config('spipmotion_flvtool_casse', 'oui');
     78                        $erreurs[] = 'flvtool2';
    12679                }else{
    127                         effacer_config('spipmotion_ffmpeg_casse');
     80                        effacer_config('spipmotion_flvtool_casse');
    12881                }
    129         }else{
    130                 exec($spipmotion_sh." --info -version",$retour_ffmpeg,$retour_int_ffmpeg);
    131                 if($retour_int_ffmpeg != 0){
    132                         ecrire_config('spipmotion_casse', 'oui');
    133                         $erreurs[] = 'ffmpeg';
     82       
     83                /**
     84                 * Tester qt-faststart
     85                 */
     86                exec('qt-faststart',$retour_qt_faststart,$retour_qt_faststart_int);
     87                if($retour_qt_faststart_int != 0){
     88                        ecrire_config('spipmotion_qt-faststart_casse', 'oui');
     89                        $erreurs[] = 'qt-faststart';
    13490                }else{
    135                         if($GLOBALS['meta']['spipmotion_casse'] == 'oui'){
    136                                 effacer_config('spipmotion_casse');
     91                        effacer_config('spipmotion_qt-faststart_casse');
     92                }
     93               
     94                /**
     95                 * Tester mediainfo
     96                 * MediaInfo n'est pas indispensable au bon fonctionnement
     97                 * On n'envoie pas de mail de notification
     98                 * On ne bloquera pas les encodages
     99                 */
     100                exec('mediainfo --help',$retour_mediainfo,$retour_mediainfo_int);
     101                if(!in_array($retour_mediainfo_int,array(0,255))){
     102                        ecrire_config('spipmotion_mediainfo_casse', 'oui');
     103                }else{
     104                        effacer_config('spipmotion_mediainfo_casse');
     105                }
     106       
     107                /**
     108                 * Tester le script spipmotion.sh présent dans script_bash/
     109                 * Si le safe_mode est activé, il doit se trouver dans le répertoire des scripts autorisés
     110                 */
     111                if($safe_mode == 1){
     112                        $spipmotion_sh = $safe_mode_path.'/spipmotion.sh';
     113                }else{
     114                        $spipmotion_sh = find_in_path('script_bash/spipmotion.sh');
     115                }
     116                exec($spipmotion_sh." --help",$retour_spipmotionsh,$retour_spipmotionsh_int);
     117                if($retour_spipmotionsh_int != 0){
     118                        ecrire_config('spipmotion_spipmotionsh_casse', 'oui');
     119                        $erreurs[] = 'spipmotion.sh';
     120                }else{
     121                        effacer_config('spipmotion_spipmotionsh_casse');
     122                }
     123       
     124                /**
     125                 * Tester ffmpeg
     126                 */
     127                if($valeurs['chemin'] != ''){
     128                        exec($spipmotion_sh." --p ".$valeurs['chemin']." --info '-version'",$retour_ffmpeg,$retour_int_ffmpeg);
     129                        if($retour_int_ffmpeg != 0){
     130                                ecrire_config('spipmotion_ffmpeg_casse', 'oui');
     131                                $erreurs[] = 'ffmpeg';
     132                        }else{
     133                                effacer_config('spipmotion_ffmpeg_casse');
     134                        }
     135                }else{
     136                        exec($spipmotion_sh." --info -version",$retour_ffmpeg,$retour_int_ffmpeg);
     137                        if($retour_int_ffmpeg != 0){
     138                                ecrire_config('spipmotion_casse', 'oui');
     139                                $erreurs[] = 'ffmpeg';
     140                        }else{
     141                                if($GLOBALS['meta']['spipmotion_casse'] == 'oui'){
     142                                        effacer_config('spipmotion_casse');
     143                                }
    137144                        }
    138145                }
    139         }
    140         if (!class_exists('ffmpeg_movie')) {
    141                 ecrire_config('spipmotion_ffmpeg-php_casse', 'oui');
    142                 $erreurs[] = 'ffmpeg-php';
    143         }else{
    144                 effacer_config('spipmotion_ffmpeg-php_casse');
     146                if (!class_exists('ffmpeg_movie')) {
     147                        ecrire_config('spipmotion_ffmpeg-php_casse', 'oui');
     148                        $erreurs[] = 'ffmpeg-php';
     149                }else{
     150                        effacer_config('spipmotion_ffmpeg-php_casse');
     151                }
    145152        }
    146153
  • _plugins_/spipmotion/lang/spipmotion_en.php

    r46757 r50650  
    173173        'message_texte_binaire_manquant' => 'A necessary software is not available on your server:',
    174174        'message_texte_binaires_informer' => 'Please inform your system administrator.',
     175        'message_texte_binaires_informer_exec' => 'Your PHP setup doesn\'t allow to launch external softwares.',
    175176        'message_texte_binaires_informer_safe_mode' => 'Safe mode is activated on your website. Binaries should be installed in the "@execdir@" folder of the server.',
    176177        'message_texte_binaires_manquant' => 'Several software needed are not available on your server:',
  • _plugins_/spipmotion/lang/spipmotion_fr.php

    r46757 r50650  
    171171        'message_texte_binaire_manquant' => 'Un logiciel nécessaire n\'est pas disponible sur votre serveur :',
    172172        'message_texte_binaires_informer' => 'Veuillez en informer votre administrateur.',
     173        'message_texte_binaires_informer_exec' => 'Votre configuration de PHP ne permet pas d\'exécuter d\'applications.',
    173174        'message_texte_binaires_informer_safe_mode' => 'Le safe mode est activé sur votre site. Les binaires nécessaires doivent se trouver dans le répertoire "@execdir@" du serveur.',
    174175        'message_texte_binaires_manquant' => 'Plusieurs logiciels nécessaires ne sont pas disponibles sur votre serveur :',
  • _plugins_/spipmotion/notifications/spipmotion_verifier_binaires.html

    r39695 r50650  
    1212][(#HTTP_HEADER{Content-type: text/plain[; charset=(#CHARSET)]})]#CACHE{0}
    1313[[(#NOM_SITE_SPIP|filtrer_entites|nettoyer_titre_email|trim)]] - <:spipmotion:info_erreurs:> : [(#ENV{nb}|affiche_un_ou_plusieurs{<:spipmotion:message_titre_binaire_manquant|nettoyer_titre_email:>,<:spipmotion:message_titre_binaires_manquant|nettoyer_titre_email:>})]
    14 [(#ENV{nb}|>{1}|non)
     14[(#ENV{exec}|oui)[(#ENV{nb}|>{1}|non)
    1515<:spipmotion:message_texte_binaire_manquant:>][(#ENV{nb}|>{1}|oui)
    16 <:spipmotion:message_texte_binaires_manquant:>]
     16<:spipmotion:message_texte_binaires_manquant:>]]
    1717<BOUCLE_binaires(POUR){tableau #ENV*{erreurs}}>
    1818- #VALEUR
    19 </BOUCLE_binaires>
    20 [(#CONFIG{spipmotion_safe_mode}|=={oui}|oui)
     19</BOUCLE_binaires>[(#CONFIG{spipmotion_exec_casse}|=={oui}|oui)
     20<:spipmotion:message_texte_binaires_informer_exec:>
     21][(#CONFIG{spipmotion_safe_mode}|=={oui}|oui)
    2122<:spipmotion:message_texte_binaires_informer_safe_mode{execdir=#CONFIG{spipmotion_safe_mode_exec_dir}}:>]
    2223<:spipmotion:message_texte_binaires_informer:>
  • _plugins_/spipmotion/notifications/spipmotion_verifier_binaires.php

    r39695 r50650  
    66 * Auteurs :
    77 * Quentin Drouet (kent1)
    8  * 2008-2010 - Distribué sous licence GNU/GPL
     8 * 2008-2011 - Distribué sous licence GNU/GPL
    99 *
    1010 */
     
    3535                                'data'=>$tous)
    3636                );
    37                 $msg_mail = recuperer_fond('notifications/spipmotion_verifier_binaires',array('erreurs'=>$options['erreurs'],'nb' => $nb));
     37                if(in_array('exec',$options['erreurs'])){
     38                        unset($erreurs[0]);
     39                        $msg_mail = recuperer_fond('notifications/spipmotion_verifier_binaires',array('exec'=>'oui','nb' => 1));
     40                }else{
     41                        $msg_mail = recuperer_fond('notifications/spipmotion_verifier_binaires',array('erreurs'=>$options['erreurs'],'nb' => $nb));
     42                }
    3843                /**
    3944                 * Nettoyage de la liste d'emails en vérifiant les doublons
  • _plugins_/spipmotion/plugin.xml

    r48097 r50650  
    44        <auteur>kent1 (kent1@arscenic.info)</auteur>
    55        <licence>GNU/GPL v3</licence>
    6         <version>0.7.8</version>
     6        <version>0.7.9</version>
    77        <version_base>0.7.8</version_base>
    88        <etat>test</etat>
Note: See TracChangeset for help on using the changeset viewer.