0) $valeurs['parents'][] = $p['objet'].'|'.$p['id_objet']; else $valeurs['_hidden'] .= ""; } // en fonction de la config du site on a le droit ou pas de modifier la date if ($valeurs['_editer_date'] = (lire_config('documents_date') == 'oui' ? ' ' : '')){ $valeurs['saisie_date'] = affdate($valeurs['date'],'d/m/Y'); $valeurs['saisie_heure'] = affdate($valeurs['date'],'H:i'); } elseif (isset($valeurs['date'])){ unset($valeurs['date']); } // en fonction du format $valeurs['_editer_dimension'] = autoriser('tailler','document',$id_document)?' ':''; // type du document et inclusion $row = sql_fetsel('titre as type_document,inclus','spip_types_documents','extension='.sql_quote($valeurs['extension'])); $valeurs['type_document'] = $row['type_document']; $valeurs['_inclus'] = $row['inclus']; if (in_array($valeurs['extension'],array('jpg','gif','png'))){ $valeurs['apercu'] = get_spip_doc($valeurs['fichier']); } // verifier les infos de taille et dimensions sur les fichiers locaux // cas des maj de fichier directes par ftp if ($valeurs['distant']!=='oui'){ include_spip('inc/renseigner_document'); $infos = renseigner_taille_dimension_image(get_spip_doc($valeurs['fichier']),$valeurs['extension']); if ($infos['taille']!=$valeurs['taille'] OR ($infos['type_image'] && ($infos['largeur']!=$valeurs['largeur'])) OR ($infos['type_image'] && ($infos['hauteur']!=$valeurs['hauteur']))){ $valeurs['_taille_modif'] = $infos['taille']; $valeurs['_largeur_modif'] = $infos['largeur']; $valeurs['_hauteur_modif'] = $infos['hauteur']; $valeurs['_hidden'].= "" . "" . ""; } } // pour l'upload d'un nouveau doc if ($valeurs['fichier']){ $charger = charger_fonction('charger','formulaires/joindre_document'); $valeurs = array_merge($valeurs,$charger($id_document,0,'','choix')); $valeurs['_hidden'] .= ""; } return $valeurs; } // Choix par defaut des options de presentation function documents_edit_config($row) { global $spip_lang; $config = array();//$GLOBALS['meta']; $config['lignes'] = 8; $config['langue'] = $spip_lang; $config['restreint'] = ($row['statut'] == 'publie'); return $config; } function formulaires_editer_document_verifier_dist($id_document='new', $id_parent='', $retour='', $lier_trad=0, $config_fonc='documents_edit_config', $row=array(), $hidden=''){ $erreurs = formulaires_editer_objet_verifier('document',$id_document,is_numeric($id_document)?array():array('titre')); // verifier l'upload si on a demande a changer le document if (_request('joindre_upload') OR _request('joindre_ftp') OR _request('joindre_distant')){ if (_request('copier_local')){ } else { $verifier = charger_fonction('verifier','formulaires/joindre_document'); $erreurs = array_merge($erreurs,$verifier($id_document)); } } // On ne vérifie la date que si on avait le droit de la modifier if (lire_config('documents_date') == 'oui'){ if (!$date = recup_date(_request('saisie_date').' '._request('saisie_heure').':00') OR !($date = mktime($date[3],$date[4],0,$date[1],$date[2],$date[0]))) $erreurs['saisie_date'] = _T('medias:format_date_incorrect'); else { set_request('saisie_date',date('d/m/Y',$date)); set_request('saisie_heure',date('H:i',$date)); set_request('date',date("Y-m-d H:i:s",$date)); } } return $erreurs; } // http://code.spip.net/@inc_editer_article_dist function formulaires_editer_document_traiter_dist($id_document='new', $id_parent='', $retour='', $lier_trad=0, $config_fonc='documents_edit_config', $row=array(), $hidden=''){ if (is_null(_request('parents'))) set_request('parents',array()); // verifier les infos de taille et dimensions sur les fichiers locaux // cas des maj de fichier directes par ftp foreach(array('taille','largeur','hauteur') as $c) if (($v=_request("_{$c}_modif")) AND !_request($c)){ set_request($c,$v); } $res = formulaires_editer_objet_traiter('document',$id_document,$id_parent,$lier_trad,$retour,$config_fonc,$row,$hidden); set_request('parents'); $autoclose = ""; if (_request('copier_local') OR _request('joindre_upload') OR _request('joindre_ftp') OR _request('joindre_distant') OR _request('joindre_zip')){ $autoclose = ""; if (_request('copier_local')){ $copier_local = charger_fonction('copier_local','action'); $res = array('editable'=>true); if (($err=$copier_local($id_document))===true) $res['message_ok'] = (isset($res['message_ok'])?$res['message_ok'].'
':'')._T('medias:document_copie_locale_succes'); else $res['message_erreur'] = (isset($res['message_erreur'])?$res['message_erreur'].'
':'').$err; set_request('credits'); // modifie par la copie locale } else { // liberer le nom de l'ancien fichier pour permettre le remplacement par un fichier du meme nom if ($ancien_fichier = sql_getfetsel('fichier','spip_documents','id_document='.intval($id_document)) AND !tester_url_absolue($ancien_fichier) AND @file_exists($rename = get_spip_doc($ancien_fichier))){ @rename($rename,"$rename--.old"); } $traiter = charger_fonction('traiter','formulaires/joindre_document'); $res2 = $traiter($id_document); if (isset($res2['message_erreur'])){ $res['message_erreur'] = $res2['message_erreur']; // retablir le fichier ! if ($rename) @rename("$rename--.old",$rename); } else // supprimer vraiment le fichier initial spip_unlink("$rename--.old"); } // on annule les saisies largeur/hauteur : l'upload a pu charger les siens set_request('largeur'); set_request('hauteur'); } else{ // regarder si une demande de rotation a eu lieu // c'est un bouton image, dont on a pas toujours le name en request, on fait avec $angle = 0; if (_request('tournerL90') OR _request('tournerL90_x')) $angle = -90; if (_request('tournerR90') OR _request('tournerR90_x')) $angle = 90; if (_request('tourner180') OR _request('tourner180_x')) $angle = 180; if ($angle){ $autoclose = ""; $tourner = charger_fonction('tourner','action'); action_tourner_post($id_document,$angle); } } if (!isset($res['redirect'])) $res['editable'] = true; if (!isset($res['message_erreur'])) $res['message_ok'] = _T('info_modification_enregistree').$autoclose; if ($res['message_ok']) $res['message_ok'].=''; return $res; } ?>