Changeset 83967 in spip-zone


Ignore:
Timestamp:
Jul 31, 2014, 4:10:04 PM (7 years ago)
Author:
kent1@…
Message:

Et hop, on ajoute la prise en compte des logos

Version 1.7.3

Location:
_plugins_/diogene/diogene/trunk
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/diogene/diogene/trunk/diogene_pipelines.php

    r83966 r83967  
    169169                                $flux['data'] = preg_replace(",(<div [^>]*class=[\"'][^>]*formulaire_editer_$type),Uims",$ajouts."\\1",$flux['data'],1);
    170170                        }
    171 
    172171                        /**
    173172                         * On ajoute le formulaire de langue sur les articles
     
    254253                                }
    255254                                $flux['data'] = preg_replace(',(.*)(<!--extra-->),ims',"\\1<ul>".$saisie."</ul>\\2",$flux['data'],1);
     255                        }
     256                        if(($champs_sup = unserialize($diogene['champs_ajoutes'])) && is_array($champs_sup) && in_array('logo',$champs_sup) && !preg_match(',<form.*enctype=.*>,Uims',$flux['data'],$regs)){
     257                                $flux['data'] = preg_replace(',<(form.*[^>])>,Uims','<\\1 enctype=\'multipart/form-data\'>',$flux['data'],1);
    256258                        }
    257259                }
     
    540542       
    541543        if($flux['args']['table'] == 'spip_diogenes'){
    542                 $champs = pipeline('diogene_champs_pre_edition',array('polyhier_desactiver','cextras_enleves','cacher_heure','workflow_simplifie'));
     544                $champs = pipeline('diogene_champs_pre_edition',array('polyhier_desactiver','cextras_enleves','cacher_heure','workflow_simplifie','explications_logo'));
    543545                if(isset($flux['data']['options_complements']))
    544546                        $options_complements = is_array(unserialize($flux['data']['options_complements'])) ? unserialize($flux['data']['options_complements']) : array();
     
    603605 */
    604606function diogene_diogene_objets($flux){
     607        $flux['article']['champs_sup']['logo'] = _T('ecrire:logo_article');
    605608        $flux['article']['champs_sup']['date'] = _T('diogene:champ_date_publication');
    606609        if($GLOBALS['meta']['articles_redac'] !== 'non')
     
    613616                $flux['page']['diogene_max'] = 1;
    614617                $flux['page']['ss_rubrique'] = true;
    615         }
     618                $flux['article']['champs_sup']['logo'] = _T('ecrire:logo_article');
     619        }
     620
     621        $flux['site'] = array();
     622        $flux['site']['champs_sup']['logo'] = _T('ecrire:logo_site');
     623
     624        $flux['rubrique'] = array();
     625        $flux['rubrique']['champs_sup']['logo'] = _T('ecrire:logo_rubrique');
    616626       
    617         $flux['site'] = array();
    618        
    619         $flux['rubrique'] = array();
    620627        return $flux;
    621628}
     
    654661function diogene_diogene_ajouter_saisies($flux){
    655662        if(is_array(unserialize($flux['args']['champs_ajoutes']))){
     663                $flux['args']['contexte']['objet'] = $flux['args']['type'];
    656664                if(in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])) && in_array('date',unserialize($flux['args']['champs_ajoutes'])) && ($GLOBALS['meta']['articles_redac'] != 'non')){
    657665                        $dates_ajoutees = 'date_full';
     
    685693                        $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_forums',$flux['args']['contexte']);
    686694                }
     695                if(in_array('logo',unserialize($flux['args']['champs_ajoutes']))){
     696                        $flux['args']['contexte']['explications_logo'] = $flux['args']['options_complements']['explications_logo'];
     697                        $chercher_logo = charger_fonction('chercher_logo', 'inc');
     698                        $etats = array('on');
     699                        foreach($etats as $etat) {
     700                                $logo_envoi = $chercher_logo($flux['args']['contexte']['id_objet'], id_table_objet($flux['args']['contexte']['objet']), $etat);
     701                                if (is_array($logo_envoi) && count($logo_envoi) > 0){
     702                                        $flux['args']['contexte']['logo_'.$etat] = $logo_envoi[0];
     703                                }
     704                        }
     705                        $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_logo',$flux['args']['contexte']);
     706                }
    687707        }
    688708        return $flux;
     
    702722 */
    703723function diogene_diogene_verifier($flux){
    704         $erreurs = $flux['args']['erreurs'];
    705724        if(_request('date_orig') || _request('date_redac_orig')){
    706725                /**
     
    709728                 */
    710729                include_spip('inc/date_gestion');
    711                 if(!$erreurs['date'] && ($date = _request('date_orig')))
    712                         $date_orig = verifier_corriger_date_saisie('orig', 'oui', $erreurs);
    713                 if(!$erreurs['date_redac'] && ($date = _request('date_redac_orig')))
    714                         $date_redac_orig = verifier_corriger_date_saisie('redac_orig', 'oui', $erreurs);
    715         }
    716         if(!$erreurs['forums'] && ($forums = _request('forums')) && !in_array($forums,array('pos','pri','abo','non')))
    717                 $erreurs['forums'] = _T('diogene:erreur_forums');
     730                if(!$flux['args']['erreurs']['date'] && ($date = _request('date_orig')))
     731                        $date_orig = verifier_corriger_date_saisie('orig', 'oui', $flux['args']['erreurs']);
     732                if(!$flux['args']['erreurs']['date_redac'] && ($date = _request('date_redac_orig')))
     733                        $date_redac_orig = verifier_corriger_date_saisie('redac_orig', 'oui', $flux['args']['erreurs']);
     734        }
     735        if(!$flux['args']['erreurs']['forums'] && ($forums = _request('forums')) && !in_array($forums,array('pos','pri','abo','non')))
     736                $flux['data']['forums'] = _T('diogene:erreur_forums');
     737
     738        if(($id_diogene = intval(_request('id_diogene'))) && $id_diogene > 0){
     739                $champs_ajoutes = unserialize(sql_getfetsel("champs_ajoutes","spip_diogenes","id_diogene=".intval($id_diogene)));
     740                if (is_array($champs_ajoutes) && in_array('logo',$champs_ajoutes)){
     741                        include_spip('formulaires/editer_logo');
     742                        $sources = formulaire_editer_logo_get_sources();
     743                        foreach($sources as $etat=>$file) {
     744                                // seulement si une reception correcte a eu lieu
     745                                if ($file AND $file['error'] == 0) {
     746                                        if (!in_array(strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)),array('jpg','png','gif','jpeg')))
     747                                                $flux['data']['logo'] = _L('Extension non reconnue');
     748                                }
     749                        }
     750                }
     751        }
    718752        return $flux;
    719753}
     
    750784                        include_spip('inc/invalideur');
    751785                        suivre_invalideur("id='id_forum/$id_objet'");
     786                }
     787        }
     788
     789        // effectuer la suppression si demandee d'un logo
     790        if (_request('supprimer_logo_on')){
     791                $objet = $flux['args']['type'];
     792                $_id_objet = id_table_objet($objet);
     793               
     794                include_spip('inc/chercher_logo');
     795                include_spip('inc/flock');
     796                $type = type_du_logo($_id_objet);
     797                $chercher_logo = charger_fonction('chercher_logo','inc');
     798               
     799                $logo = $chercher_logo($flux['args']['id_objet'], $_id_objet, 'on');
     800                if ($logo)
     801                        spip_unlink($logo[0]);
     802                set_request('logo_up',' ');
     803        }
     804        if (!$_FILES)
     805                $_FILES = $GLOBALS['HTTP_POST_FILES'];
     806
     807        if (is_array($_FILES) && isset($_FILES['logo_on'])){
     808                include_spip('formulaire/editer_logo');
     809
     810                $objet = $flux['args']['type'];
     811                $_id_objet = id_table_objet($objet);
     812               
     813                // supprimer l'ancien logo puis copier le nouveau
     814                include_spip('inc/chercher_logo');
     815                include_spip('inc/flock');
     816                $type = type_du_logo($_id_objet);
     817                $chercher_logo = charger_fonction('chercher_logo','inc');
     818
     819                include_spip('action/iconifier');
     820                $ajouter_image = charger_fonction('spip_image_ajouter','action');
     821                $sources = formulaire_editer_logo_get_sources();
     822                foreach($sources as $etat=>$file) {
     823                        if ($file and $file['error']==0) {
     824                                $logo = $chercher_logo($flux['args']['id_objet'], $_id_objet, 'on');
     825                                if ($logo)
     826                                        spip_unlink($logo[0]);
     827                                if ($err = $ajouter_image($type.$etat.$id_objet," ",$file,true))
     828                                        $flux['message_erreur'] = $err;
     829                                set_request('logo_up',' ');
     830                        }
    752831                }
    753832        }
  • _plugins_/diogene/diogene/trunk/lang/diogene_fr.php

    r81988 r83967  
    8383        'label_change_statut_normal_site' => 'Modifier le statut de ce site',
    8484        'label_description' => 'Description',
     85        'label_explications_logo' => 'Explications du logo',
    8586        'label_limiter_rubriques' => 'Limiter aux rubriques',
    8687        'label_limiter_secteur' => 'Limiter au secteur',
  • _plugins_/diogene/diogene/trunk/paquet.xml

    r83966 r83967  
    22        prefix="diogene"
    33        categorie="edition"
    4         version="1.7.2"
     4        version="1.7.3"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.