PageRenderTime 111ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/_plugins_/sjcycle/branches/v0/formulaires/sjcycle.php

https://bitbucket.org/pombredanne/spip-zone-treemap
PHP | 129 lines | 83 code | 27 blank | 19 comment | 17 complexity | 403bcab4e256a60cda6d50b995d778bd MD5 | raw file
  1. <?php
  2. include_spip('sjcycle_fonctions');
  3. function formulaires_sjcycle_charger_dist(){
  4. $valeurs = array ();
  5. //Charger les valeurs par défaut
  6. $valeurs = lire_config('sjcycle');
  7. //si rien en base
  8. if (count($valeurs)==0) {
  9. /*$valeurs = default_values_assign();*/
  10. $valeurs = init_sjcycle_default('default_value_list');
  11. //on ecrit en base
  12. ecrire_config('sjcycle',serialize($valeurs));
  13. //on affecte les valeurs de _request
  14. foreach ($valeurs as $key => $value) {
  15. set_request($key, $value);
  16. }
  17. }
  18. return $valeurs;
  19. }
  20. function formulaires_sjcycle_verifier_dist(){
  21. $valeurs = array ();
  22. $erreurs = array();
  23. $log_modif = '';
  24. // si on a pas poste de formulaire, pas la peine de controler
  25. // ce qui mettrait de fausses valeurs dans l'environnement
  26. if (!_request('_cfg_ok') && !_request('_cfg_delete')) { return true; }
  27. $valeurs_enregistrees = lire_config('sjcycle');
  28. if (!lire_config('image_process')){
  29. $erreurs['message_erreur'] = _T('sjcycle:erreur_config_image_process');
  30. return $erreurs;
  31. }
  32. if (lire_config('creer_preview')!='oui') {//Génération de miniatures des images inactive
  33. $erreurs['message_erreur'] = _T('sjcycle:erreur_config_creer_preview');
  34. return $erreurs;
  35. }
  36. /*
  37. $champs = array_keys(default_values_assign());
  38. */
  39. $champs = init_sjcycle_default();
  40. // stockage des nouvelles valeurs
  41. foreach ($champs as $name) {
  42. // enregistrement des valeurs postees
  43. $oldval = $valeurs_enregistrees[$name];
  44. $valeurs[$name] = _request($name);
  45. // tracer les modifications
  46. if ($oldval != $valeurs[$name]) {
  47. $log_modif .= $name . ':' . var_export($oldval, true) . '/' . var_export($valeurs[$name], true) .', ';
  48. }
  49. }
  50. // si pas de changement, pas la peine de continuer
  51. if (!$log_modif && !_request('_cfg_delete')) {
  52. //if (strlen($log_modif)==0) {
  53. $erreurs['message_erreur'] = _T('cfg:pas_de_changement',array('nom' => 'sjcycle'));
  54. return $erreurs;
  55. }
  56. //si reinitialise le plugin
  57. if (_request('_cfg_delete')){
  58. effacer_config('sjcycle');
  59. ecrire_config('sjcycle',serialize(formulaires_sjcycle_charger_dist()));
  60. return array("editable" => true,"message_ok" => _T("sjcycle:sjcycle_reinitialise"));
  61. }
  62. // verifier que les champs obligatoires sont bien la :
  63. foreach(init_sjcycle_default('obligatoire_list') as $obligatoire){
  64. if (strlen(_request($obligatoire))==0) { $erreurs[$obligatoire] = 'Le champ "'._T('sjcycle:'.$obligatoire).'" est obligatoire'; }
  65. }
  66. // verification des données _request
  67. $rulz = init_sjcycle_default('preg_match_rule_list');
  68. foreach ($valeurs as $key => $value) {
  69. if($rulz[$key]){
  70. $tmp_clean_value = checkRulz ($value,$rulz[$key]);
  71. if(strlen($tmp_clean_value)>0){
  72. set_request($key,$tmp_clean_value);
  73. } else {
  74. $erreurs[$key] = _T('sjcycle:sjcycle_champ_erreur',array('champ' => _T('sjcycle:'.$key)));
  75. }
  76. }
  77. }
  78. if (count($erreurs)){
  79. $erreurs['message_erreur'] = _T('sjcycle:sjcycle_message_erreur');
  80. }
  81. return $erreurs;
  82. }
  83. function formulaires_sjcycle_traiter_dist(){
  84. $valeurs = array();
  85. foreach (init_sjcycle_default() as $key) {
  86. $valeurs[$key]=_request($key);
  87. }
  88. //CALCUL DE LA TAILLE DU DIAPORAMA
  89. $valeurs['sjcycle_width'] = (_request('sjcycle_img_margin')*2) + _request('sjcycle_img_width');
  90. $valeurs['sjcycle_height'] = (_request('sjcycle_img_margin')*2) + _request('sjcycle_img_height');
  91. $taille_spip_preview = lire_config('taille_preview');//Taille maximale des vignettes générées par le système
  92. $taille_reduire_max = _request('sjcycle_img_height');
  93. if(_request('sjcycle_img_width') >_request('sjcycle_img_height')){
  94. $taille_reduire_max = _request('sjcycle_img_width');
  95. }
  96. if($taille_spip_preview < $taille_reduire_max){
  97. ecrire_config('taille_preview',$taille_reduire_max);
  98. }
  99. ecrire_config('sjcycle',serialize($valeurs));
  100. return array("editable" => true,"message_ok" => _T('cfg:config_enregistree',array('nom' => 'sjcycle')));
  101. }
  102. ?>