Changeset 101505 in spip-zone for _plugins_/info_sites/branches/v1
- Timestamp:
- Jan 4, 2017, 7:52:51 AM (2 years ago)
- Location:
- _plugins_/info_sites/branches/v1
- Files:
-
- 29 edited
- 5 copied
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/info_sites/branches/v1
- Property svn:mergeinfo changed
/_plugins_/info_sites/trunk merged: 100434,101122,101124,101126-101127,101131,101195-101197,101199,101230-101231,101248,101504
- Property svn:mergeinfo changed
-
_plugins_/info_sites/branches/v1/inc/info_sites_outiller.php
r100287 r101505 16 16 17 17 function compiler_branches_logiciel($logiciel_nom = null) { 18 19 18 include_spip('base/abstract_sql'); 20 19 $branches = array(); … … 37 36 $branches = array_map('array_unique', $branches); 38 37 39 if (is_null($logiciel_nom) or empty($logiciel_nom)) { 38 $branches = pipeline('compiler_branches_logiciel', array('args' => array(), 'data' => $branches)); 39 $branches = array_map('array_values', $branches); 40 41 if (!is_null($logiciel_nom) and !empty($logiciel_nom)) { 40 42 return (isset($branches[$logiciel_nom]) ? $branches[$logiciel_nom] : null); 41 43 } -
_plugins_/info_sites/branches/v1/info_sites_administrations.php
r100289 r101505 42 42 include_spip('base/info_sites_extras'); 43 43 cextras_api_upgrade(info_sites_declarer_champs_extras(), $maj['1.1.0']); 44 $maj['1.2.0'][] = array('info_sites_maj_120'); 44 45 45 46 include_spip('base/upgrade'); … … 151 152 } 152 153 154 /** 155 * MAJ 1.2.0 : transferer de spip_organisations_contacts dans spip_organisations_liens. Le plugin C&O v3.0 le fait normalement, mais il peut arriver que la mise à jour ne s'est pas très bien déroulée. Donc, on appelle la fonction conctacts_maj_1_13_0() 156 * 157 */ 158 function info_sites_maj_120() { 159 include_spip('base/abstract_sql'); 160 $count_organisations_contacts = sql_countsel('spip_organisations_contacts'); 161 include_spip('contacts/contacts_administrations'); 162 163 if ($count_organisations_contacts > 0 and function_exists('conctacts_maj_1_13_0')) { 164 conctacts_maj_1_13_0(); 165 } 166 } 167 -
_plugins_/info_sites/branches/v1/info_sites_autorisations.php
r98661 r101505 29 29 * @param string $faire Action demandée 30 30 * @param string $type Type d'objet sur lequel appliquer l'action 31 * @param int $idIdentifiant de l'objet32 * @param array $quiDescription de l'auteur demandant l'autorisation33 * @param array $optOptions de cette autorisation31 * @param int $id Identifiant de l'objet 32 * @param array $qui Description de l'auteur demandant l'autorisation 33 * @param array $opt Options de cette autorisation 34 34 * 35 35 * @return bool true s'il a le droit, false sinon … … 47 47 * @param string $faire Action demandée 48 48 * @param string $type Type d'objet sur lequel appliquer l'action 49 * @param int $idIdentifiant de l'objet50 * @param array $quiDescription de l'auteur demandant l'autorisation51 * @param array $optOptions de cette autorisation49 * @param int $id Identifiant de l'objet 50 * @param array $qui Description de l'auteur demandant l'autorisation 51 * @param array $opt Options de cette autorisation 52 52 * 53 53 * @return bool true s'il a le droit, false sinon … … 68 68 * 69 69 * @param string $faire Action demandée 70 * @param string $type Type d'objet sur lequel appliquer l'action 71 * @param int $id Identifiant de l'objet 72 * @param array $qui Description de l'auteur demandant l'autorisation 73 * @param array $opt Options de cette autorisation 70 * @param string $type Type d'objet sur lequel appliquer l'action 71 * @param int $id Identifiant de l'objet 72 * @param array $qui Description de l'auteur demandant l'autorisation 73 * @param array $opt Options de cette autorisation 74 * 74 75 * @return bool true s'il a le droit, false sinon 75 76 */ … … 104 105 * @param string $faire Action demandée 105 106 * @param string $type Type d'objet sur lequel appliquer l'action 106 * @param int $idIdentifiant de l'objet107 * @param array $quiDescription de l'auteur demandant l'autorisation108 * @param array $optOptions de cette autorisation107 * @param int $id Identifiant de l'objet 108 * @param array $qui Description de l'auteur demandant l'autorisation 109 * @param array $opt Options de cette autorisation 109 110 * 110 111 * @return bool true s'il a le droit, false sinon … … 122 123 * @param string $faire Action demandée 123 124 * @param string $type Type d'objet sur lequel appliquer l'action 124 * @param int $idIdentifiant de l'objet125 * @param array $quiDescription de l'auteur demandant l'autorisation126 * @param array $optOptions de cette autorisation125 * @param int $id Identifiant de l'objet 126 * @param array $qui Description de l'auteur demandant l'autorisation 127 * @param array $opt Options de cette autorisation 127 128 * 128 129 * @return bool true s'il a le droit, false sinon … … 140 141 * @param string $faire Action demandée 141 142 * @param string $type Type d'objet sur lequel appliquer l'action 142 * @param int $idIdentifiant de l'objet143 * @param array $quiDescription de l'auteur demandant l'autorisation144 * @param array $optOptions de cette autorisation143 * @param int $id Identifiant de l'objet 144 * @param array $qui Description de l'auteur demandant l'autorisation 145 * @param array $opt Options de cette autorisation 145 146 * 146 147 * @return bool true s'il a le droit, false sinon … … 165 166 * @param string $faire Action demandée 166 167 * @param string $type Type d'objet sur lequel appliquer l'action 167 * @param int $idIdentifiant de l'objet168 * @param array $quiDescription de l'auteur demandant l'autorisation169 * @param array $optOptions de cette autorisation168 * @param int $id Identifiant de l'objet 169 * @param array $qui Description de l'auteur demandant l'autorisation 170 * @param array $opt Options de cette autorisation 170 171 * 171 172 * @return bool true s'il a le droit, false sinon … … 180 181 * @param string $faire Action demandée 181 182 * @param string $type Type d'objet sur lequel appliquer l'action 182 * @param int $idIdentifiant de l'objet183 * @param array $quiDescription de l'auteur demandant l'autorisation184 * @param array $optOptions de cette autorisation183 * @param int $id Identifiant de l'objet 184 * @param array $qui Description de l'auteur demandant l'autorisation 185 * @param array $opt Options de cette autorisation 185 186 * 186 187 * @return bool true s'il a le droit, false sinon … … 198 199 * @param string $faire Action demandée 199 200 * @param string $type Type d'objet sur lequel appliquer l'action 200 * @param int $idIdentifiant de l'objet201 * @param array $quiDescription de l'auteur demandant l'autorisation202 * @param array $optOptions de cette autorisation201 * @param int $id Identifiant de l'objet 202 * @param array $qui Description de l'auteur demandant l'autorisation 203 * @param array $opt Options de cette autorisation 203 204 * 204 205 * @return bool true s'il a le droit, false sinon … … 216 217 * @param string $faire Action demandée 217 218 * @param string $type Type d'objet sur lequel appliquer l'action 218 * @param int $idIdentifiant de l'objet219 * @param array $quiDescription de l'auteur demandant l'autorisation220 * @param array $optOptions de cette autorisation219 * @param int $id Identifiant de l'objet 220 * @param array $qui Description de l'auteur demandant l'autorisation 221 * @param array $opt Options de cette autorisation 221 222 * 222 223 * @return bool true s'il a le droit, false sinon … … 238 239 * @param string $faire Action demandée 239 240 * @param string $type Type d'objet sur lequel appliquer l'action 240 * @param int $idIdentifiant de l'objet241 * @param array $quiDescription de l'auteur demandant l'autorisation242 * @param array $optOptions de cette autorisation241 * @param int $id Identifiant de l'objet 242 * @param array $qui Description de l'auteur demandant l'autorisation 243 * @param array $opt Options de cette autorisation 243 244 * 244 245 * @return bool true s'il a le droit, false sinon … … 266 267 * @param string $faire Action demandée 267 268 * @param string $type Type d'objet sur lequel appliquer l'action 268 * @param int $idIdentifiant de l'objet269 * @param array $quiDescription de l'auteur demandant l'autorisation270 * @param array $optOptions de cette autorisation269 * @param int $id Identifiant de l'objet 270 * @param array $qui Description de l'auteur demandant l'autorisation 271 * @param array $opt Options de cette autorisation 271 272 * 272 273 * @return bool true s'il a le droit, false sinon … … 281 282 * @param string $faire Action demandée 282 283 * @param string $type Type d'objet sur lequel appliquer l'action 283 * @param int $idIdentifiant de l'objet284 * @param array $quiDescription de l'auteur demandant l'autorisation285 * @param array $optOptions de cette autorisation284 * @param int $id Identifiant de l'objet 285 * @param array $qui Description de l'auteur demandant l'autorisation 286 * @param array $opt Options de cette autorisation 286 287 * 287 288 * @return bool true s'il a le droit, false sinon … … 306 307 * @param string $faire Action demandée 307 308 * @param string $type Type d'objet sur lequel appliquer l'action 308 * @param int $idIdentifiant de l'objet309 * @param array $quiDescription de l'auteur demandant l'autorisation310 * @param array $optOptions de cette autorisation309 * @param int $id Identifiant de l'objet 310 * @param array $qui Description de l'auteur demandant l'autorisation 311 * @param array $opt Options de cette autorisation 311 312 * 312 313 * @return bool true s'il a le droit, false sinon … … 321 322 * @param string $faire Action demandée 322 323 * @param string $type Type d'objet sur lequel appliquer l'action 323 * @param int $idIdentifiant de l'objet324 * @param array $quiDescription de l'auteur demandant l'autorisation325 * @param array $optOptions de cette autorisation324 * @param int $id Identifiant de l'objet 325 * @param array $qui Description de l'auteur demandant l'autorisation 326 * @param array $opt Options de cette autorisation 326 327 * 327 328 * @return bool true s'il a le droit, false sinon … … 336 337 * @param string $faire Action demandée 337 338 * @param string $type Type d'objet sur lequel appliquer l'action 338 * @param int $idIdentifiant de l'objet339 * @param array $quiDescription de l'auteur demandant l'autorisation340 * @param array $optOptions de cette autorisation339 * @param int $id Identifiant de l'objet 340 * @param array $qui Description de l'auteur demandant l'autorisation 341 * @param array $opt Options de cette autorisation 341 342 * 342 343 * @return bool true s'il a le droit, false sinon … … 360 361 * @param string $faire Action demandée 361 362 * @param string $type Type d'objet sur lequel appliquer l'action 362 * @param int $idIdentifiant de l'objet363 * @param array $quiDescription de l'auteur demandant l'autorisation364 * @param array $optOptions de cette autorisation363 * @param int $id Identifiant de l'objet 364 * @param array $qui Description de l'auteur demandant l'autorisation 365 * @param array $opt Options de cette autorisation 365 366 * 366 367 * @return bool true s'il a le droit, false sinon … … 381 382 * @param string $faire Action demandée 382 383 * @param string $type Type d'objet sur lequel appliquer l'action 383 * @param int $idIdentifiant de l'objet384 * @param array $quiDescription de l'auteur demandant l'autorisation385 * @param array $optOptions de cette autorisation384 * @param int $id Identifiant de l'objet 385 * @param array $qui Description de l'auteur demandant l'autorisation 386 * @param array $opt Options de cette autorisation 386 387 * 387 388 * @return bool true s'il a le droit, false sinon … … 405 406 * @param string $faire Action demandée 406 407 * @param string $type Type d'objet sur lequel appliquer l'action 407 * @param int $idIdentifiant de l'objet408 * @param array $quiDescription de l'auteur demandant l'autorisation409 * @param array $optOptions de cette autorisation408 * @param int $id Identifiant de l'objet 409 * @param array $qui Description de l'auteur demandant l'autorisation 410 * @param array $opt Options de cette autorisation 410 411 * 411 412 * @return bool true s'il a le droit, false sinon … … 420 421 * @param string $faire Action demandée 421 422 * @param string $type Type d'objet sur lequel appliquer l'action 422 * @param int $idIdentifiant de l'objet423 * @param array $quiDescription de l'auteur demandant l'autorisation424 * @param array $optOptions de cette autorisation423 * @param int $id Identifiant de l'objet 424 * @param array $qui Description de l'auteur demandant l'autorisation 425 * @param array $opt Options de cette autorisation 425 426 * 426 427 * @return bool true s'il a le droit, false sinon … … 444 445 * @param string $faire Action demandée 445 446 * @param string $type Type d'objet sur lequel appliquer l'action 446 * @param int $idIdentifiant de l'objet447 * @param array $quiDescription de l'auteur demandant l'autorisation448 * @param array $optOptions de cette autorisation447 * @param int $id Identifiant de l'objet 448 * @param array $qui Description de l'auteur demandant l'autorisation 449 * @param array $opt Options de cette autorisation 449 450 * 450 451 * @return bool true s'il a le droit, false sinon … … 452 453 function autoriser_projetssitesecurite_voir($faire, $type, $id, $qui, $opt) { 453 454 include_spip('base/abstract_sql'); 454 $auteurs = sql_fetsel("role", "spip_auteurs_liens", "objet='projet' AND id_objet IN (SELECT id_objet FROM spip_projets_sites_liens WHERE objet='projet' AND id_projets_site=" . $id . ") AND id_auteur=" . $qui['id_auteur']); 455 $auteurs = sql_fetsel("role", "spip_auteurs_liens", 456 "objet='projet' AND id_objet IN (SELECT id_objet FROM spip_projets_sites_liens WHERE objet='projet' AND id_projets_site=" . $id . ") AND id_auteur=" . $qui['id_auteur']); 455 457 456 458 if (isset($auteurs['role'])) { … … 473 475 * @param string $faire Action demandée 474 476 * @param string $type Type d'objet sur lequel appliquer l'action 475 * @param int $idIdentifiant de l'objet476 * @param array $quiDescription de l'auteur demandant l'autorisation477 * @param array $optOptions de cette autorisation477 * @param int $id Identifiant de l'objet 478 * @param array $qui Description de l'auteur demandant l'autorisation 479 * @param array $opt Options de cette autorisation 478 480 * 479 481 * @return bool true s'il a le droit, false sinon … … 488 490 * @param string $faire Action demandée 489 491 * @param string $type Type d'objet sur lequel appliquer l'action 490 * @param int $idIdentifiant de l'objet491 * @param array $quiDescription de l'auteur demandant l'autorisation492 * @param array $optOptions de cette autorisation492 * @param int $id Identifiant de l'objet 493 * @param array $qui Description de l'auteur demandant l'autorisation 494 * @param array $opt Options de cette autorisation 493 495 * 494 496 * @return bool true s'il a le droit, false sinon … … 506 508 * @param string $faire Action demandée 507 509 * @param string $type Type d'objet sur lequel appliquer l'action 508 * @param int $idIdentifiant de l'objet509 * @param array $quiDescription de l'auteur demandant l'autorisation510 * @param array $optOptions de cette autorisation510 * @param int $id Identifiant de l'objet 511 * @param array $qui Description de l'auteur demandant l'autorisation 512 * @param array $opt Options de cette autorisation 511 513 * 512 514 * @return bool true s'il a le droit, false sinon … … 521 523 * @param string $faire Action demandée 522 524 * @param string $type Type d'objet sur lequel appliquer l'action 523 * @param int $idIdentifiant de l'objet524 * @param array $quiDescription de l'auteur demandant l'autorisation525 * @param array $optOptions de cette autorisation525 * @param int $id Identifiant de l'objet 526 * @param array $qui Description de l'auteur demandant l'autorisation 527 * @param array $opt Options de cette autorisation 526 528 * 527 529 * @return bool true s'il a le droit, false sinon … … 539 541 * @param string $faire Action demandée 540 542 * @param string $type Type d'objet sur lequel appliquer l'action 541 * @param int $idIdentifiant de l'objet542 * @param array $quiDescription de l'auteur demandant l'autorisation543 * @param array $optOptions de cette autorisation543 * @param int $id Identifiant de l'objet 544 * @param array $qui Description de l'auteur demandant l'autorisation 545 * @param array $opt Options de cette autorisation 544 546 * 545 547 * @return bool true s'il a le droit, false sinon … … 554 556 * @param string $faire Action demandée 555 557 * @param string $type Type d'objet sur lequel appliquer l'action 556 * @param int $idIdentifiant de l'objet557 * @param array $quiDescription de l'auteur demandant l'autorisation558 * @param array $optOptions de cette autorisation558 * @param int $id Identifiant de l'objet 559 * @param array $qui Description de l'auteur demandant l'autorisation 560 * @param array $opt Options de cette autorisation 559 561 * 560 562 * @return bool true s'il a le droit, false sinon … … 572 574 * @param string $faire Action demandée 573 575 * @param string $type Type d'objet sur lequel appliquer l'action 574 * @param int $idIdentifiant de l'objet575 * @param array $quiDescription de l'auteur demandant l'autorisation576 * @param array $optOptions de cette autorisation576 * @param int $id Identifiant de l'objet 577 * @param array $qui Description de l'auteur demandant l'autorisation 578 * @param array $opt Options de cette autorisation 577 579 * 578 580 * @return bool true s'il a le droit, false sinon … … 587 589 * @param string $faire Action demandée 588 590 * @param string $type Type d'objet sur lequel appliquer l'action 589 * @param int $idIdentifiant de l'objet590 * @param array $quiDescription de l'auteur demandant l'autorisation591 * @param array $optOptions de cette autorisation591 * @param int $id Identifiant de l'objet 592 * @param array $qui Description de l'auteur demandant l'autorisation 593 * @param array $opt Options de cette autorisation 592 594 * 593 595 * @return bool true s'il a le droit, false sinon … … 609 611 * @param string $faire Action demandée 610 612 * @param string $type Type d'objet sur lequel appliquer l'action 611 * @param int $idIdentifiant de l'objet612 * @param array $quiDescription de l'auteur demandant l'autorisation613 * @param array $optOptions de cette autorisation613 * @param int $id Identifiant de l'objet 614 * @param array $qui Description de l'auteur demandant l'autorisation 615 * @param array $opt Options de cette autorisation 614 616 * 615 617 * @return bool true s'il a le droit, false sinon … … 624 626 * @param string $faire Action demandée 625 627 * @param string $type Type d'objet sur lequel appliquer l'action 626 * @param int $idIdentifiant de l'objet627 * @param array $quiDescription de l'auteur demandant l'autorisation628 * @param array $optOptions de cette autorisation628 * @param int $id Identifiant de l'objet 629 * @param array $qui Description de l'auteur demandant l'autorisation 630 * @param array $opt Options de cette autorisation 629 631 * 630 632 * @return bool true s'il a le droit, false sinon … … 639 641 * @param string $faire Action demandée 640 642 * @param string $type Type d'objet sur lequel appliquer l'action 641 * @param int $idIdentifiant de l'objet642 * @param array $quiDescription de l'auteur demandant l'autorisation643 * @param array $optOptions de cette autorisation643 * @param int $id Identifiant de l'objet 644 * @param array $qui Description de l'auteur demandant l'autorisation 645 * @param array $opt Options de cette autorisation 644 646 * 645 647 * @return bool true s'il a le droit, false sinon … … 654 656 * @param string $faire Action demandée 655 657 * @param string $type Type d'objet sur lequel appliquer l'action 656 * @param int $idIdentifiant de l'objet657 * @param array $quiDescription de l'auteur demandant l'autorisation658 * @param array $optOptions de cette autorisation658 * @param int $id Identifiant de l'objet 659 * @param array $qui Description de l'auteur demandant l'autorisation 660 * @param array $opt Options de cette autorisation 659 661 * 660 662 * @return bool true s'il a le droit, false sinon … … 669 671 * @param string $faire Action demandée 670 672 * @param string $type Type d'objet sur lequel appliquer l'action 671 * @param int $idIdentifiant de l'objet672 * @param array $quiDescription de l'auteur demandant l'autorisation673 * @param array $optOptions de cette autorisation673 * @param int $id Identifiant de l'objet 674 * @param array $qui Description de l'auteur demandant l'autorisation 675 * @param array $opt Options de cette autorisation 674 676 * 675 677 * @return bool true s'il a le droit, false sinon … … 688 690 * @param string $faire Action demandée 689 691 * @param string $type Type d'objet sur lequel appliquer l'action 690 * @param int $idIdentifiant de l'objet691 * @param array $quiDescription de l'auteur demandant l'autorisation692 * @param array $optOptions de cette autorisation692 * @param int $id Identifiant de l'objet 693 * @param array $qui Description de l'auteur demandant l'autorisation 694 * @param array $opt Options de cette autorisation 693 695 * 694 696 * @return bool true s'il a le droit, false sinon … … 703 705 * @param string $faire Action demandée 704 706 * @param string $type Type d'objet sur lequel appliquer l'action 705 * @param int $idIdentifiant de l'objet706 * @param array $quiDescription de l'auteur demandant l'autorisation707 * @param array $optOptions de cette autorisation707 * @param int $id Identifiant de l'objet 708 * @param array $qui Description de l'auteur demandant l'autorisation 709 * @param array $opt Options de cette autorisation 708 710 * 709 711 * @return bool true s'il a le droit, false sinon … … 718 720 * @param string $faire Action demandée 719 721 * @param string $type Type d'objet sur lequel appliquer l'action 720 * @param int $idIdentifiant de l'objet721 * @param array $quiDescription de l'auteur demandant l'autorisation722 * @param array $optOptions de cette autorisation722 * @param int $id Identifiant de l'objet 723 * @param array $qui Description de l'auteur demandant l'autorisation 724 * @param array $opt Options de cette autorisation 723 725 * 724 726 * @return bool true s'il a le droit, false sinon … … 733 735 * @param string $faire Action demandée 734 736 * @param string $type Type d'objet sur lequel appliquer l'action 735 * @param int $idIdentifiant de l'objet736 * @param array $quiDescription de l'auteur demandant l'autorisation737 * @param array $optOptions de cette autorisation737 * @param int $id Identifiant de l'objet 738 * @param array $qui Description de l'auteur demandant l'autorisation 739 * @param array $opt Options de cette autorisation 738 740 * 739 741 * @return bool true s'il a le droit, false sinon … … 748 750 * @param string $faire Action demandée 749 751 * @param string $type Type d'objet sur lequel appliquer l'action 750 * @param int $idIdentifiant de l'objet751 * @param array $quiDescription de l'auteur demandant l'autorisation752 * @param array $optOptions de cette autorisation752 * @param int $id Identifiant de l'objet 753 * @param array $qui Description de l'auteur demandant l'autorisation 754 * @param array $opt Options de cette autorisation 753 755 * 754 756 * @return bool true s'il a le droit, false sinon … … 763 765 * @param string $faire Action demandée 764 766 * @param string $type Type d'objet sur lequel appliquer l'action 765 * @param int $idIdentifiant de l'objet766 * @param array $quiDescription de l'auteur demandant l'autorisation767 * @param array $optOptions de cette autorisation767 * @param int $id Identifiant de l'objet 768 * @param array $qui Description de l'auteur demandant l'autorisation 769 * @param array $opt Options de cette autorisation 768 770 * 769 771 * @return bool true s'il a le droit, false sinon … … 782 784 * @param string $faire Action demandée 783 785 * @param string $type Type d'objet sur lequel appliquer l'action 784 * @param int $idIdentifiant de l'objet785 * @param array $quiDescription de l'auteur demandant l'autorisation786 * @param array $optOptions de cette autorisation786 * @param int $id Identifiant de l'objet 787 * @param array $qui Description de l'auteur demandant l'autorisation 788 * @param array $opt Options de cette autorisation 787 789 * 788 790 * @return bool true s'il a le droit, false sinon … … 797 799 * @param string $faire Action demandée 798 800 * @param string $type Type d'objet sur lequel appliquer l'action 799 * @param int $idIdentifiant de l'objet800 * @param array $quiDescription de l'auteur demandant l'autorisation801 * @param array $optOptions de cette autorisation801 * @param int $id Identifiant de l'objet 802 * @param array $qui Description de l'auteur demandant l'autorisation 803 * @param array $opt Options de cette autorisation 802 804 * 803 805 * @return bool true s'il a le droit, false sinon … … 812 814 * @param string $faire Action demandée 813 815 * @param string $type Type d'objet sur lequel appliquer l'action 814 * @param int $idIdentifiant de l'objet815 * @param array $quiDescription de l'auteur demandant l'autorisation816 * @param array $optOptions de cette autorisation816 * @param int $id Identifiant de l'objet 817 * @param array $qui Description de l'auteur demandant l'autorisation 818 * @param array $opt Options de cette autorisation 817 819 * 818 820 * @return bool true s'il a le droit, false sinon … … 827 829 * @param string $faire Action demandée 828 830 * @param string $type Type d'objet sur lequel appliquer l'action 829 * @param int $idIdentifiant de l'objet830 * @param array $quiDescription de l'auteur demandant l'autorisation831 * @param array $optOptions de cette autorisation831 * @param int $id Identifiant de l'objet 832 * @param array $qui Description de l'auteur demandant l'autorisation 833 * @param array $opt Options de cette autorisation 832 834 * 833 835 * @return bool true s'il a le droit, false sinon … … 838 840 839 841 /** 842 * Autorisation de modifier une contact (infositesmodifier) 843 * 844 * @param string $faire Action demandée 845 * @param string $type Type d'objet sur lequel appliquer l'action 846 * @param int $id Identifiant de l'objet 847 * @param array $qui Description de l'auteur demandant l'autorisation 848 * @param array $opt Options de cette autorisation 849 * 850 * @return bool true s'il a le droit, false sinon 851 **/ 852 function autoriser_contact_infositesmodifier_dist($faire, $type, $id, $qui, $opt) { 853 return in_array($qui['statut'], array( 854 '0minirezo', 855 '1comite', 856 )) or ( 857 $id_auteur = sql_getfetsel('id_auteur', 'spip_contacts', 'id_contact = ' . intval($id)) 858 and $id_auteur > 0 859 and $id_auteur == $qui['id_auteur'] 860 ); 861 } 862 863 /** 864 * Autorisation de suppression d'une contact (infositessupprimer) 865 * 866 * @param string $faire Action demandée 867 * @param string $type Type d'objet sur lequel appliquer l'action 868 * @param int $id Identifiant de l'objet 869 * @param array $qui Description de l'auteur demandant l'autorisation 870 * @param array $opt Options de cette autorisation 871 * 872 * @return bool true s'il a le droit, false sinon 873 **/ 874 function autoriser_contact_infositessupprimer_dist($faire, $type, $id, $qui, $opt) { 875 // On prend les statuts par défaut 876 return in_array($qui['statut'], array( 877 '0minirezo', 878 '1comite', 879 )) or ( 880 $id_auteur = sql_getfetsel('id_auteur', 'spip_contacts', 'id_contact = ' . intval($id)) 881 and $id_auteur > 0 882 and $id_auteur == $qui['id_auteur'] 883 ); 884 } 885 886 /** 840 887 * Autorisation de voir (contact) 841 888 * 842 889 * @param string $faire Action demandée 843 890 * @param string $type Type d'objet sur lequel appliquer l'action 844 * @param int $idIdentifiant de l'objet845 * @param array $quiDescription de l'auteur demandant l'autorisation846 * @param array $optOptions de cette autorisation891 * @param int $id Identifiant de l'objet 892 * @param array $qui Description de l'auteur demandant l'autorisation 893 * @param array $opt Options de cette autorisation 847 894 * 848 895 * @return bool true s'il a le droit, false sinon … … 852 899 } 853 900 901 // ***************************** 902 // Les coordonnées 903 // ***************************** 904 905 906 // -------------- 907 // Objet Adresses 908 909 /** 910 * Autorisation de creer (adresse) 911 * 912 * @param string $faire Action demandée 913 * @param string $type Type d'objet sur lequel appliquer l'action 914 * @param int $id Identifiant de l'objet 915 * @param array $qui Description de l'auteur demandant l'autorisation 916 * @param array $opt Options de cette autorisation 917 * 918 * @return bool true s'il a le droit, false sinon 919 **/ 920 function autoriser_adresse_creer($faire, $type, $id, $qui, $opt) { 921 return autoriser('infositescreer', 'adresse', $id, $qui, $opt); 922 } 923 924 /** 925 * Autorisation de voir (adresse) 926 * 927 * @param string $faire Action demandée 928 * @param string $type Type d'objet sur lequel appliquer l'action 929 * @param int $id Identifiant de l'objet 930 * @param array $qui Description de l'auteur demandant l'autorisation 931 * @param array $opt Options de cette autorisation 932 * 933 * @return bool true s'il a le droit, false sinon 934 **/ 935 function autoriser_adresse_voir($faire, $type, $id, $qui, $opt) { 936 return autoriser('infositesvoir', 'adresse', $id, $qui, $opt); 937 } 938 939 /** 940 * Autorisation de modifier (adresse) 941 * 942 * @param string $faire Action demandée 943 * @param string $type Type d'objet sur lequel appliquer l'action 944 * @param int $id Identifiant de l'objet 945 * @param array $qui Description de l'auteur demandant l'autorisation 946 * @param array $opt Options de cette autorisation 947 * 948 * @return bool true s'il a le droit, false sinon 949 **/ 950 function autoriser_adresse_modifier($faire, $type, $id, $qui, $opt) { 951 return autoriser('infositesmodifier', 'adresse', $id, $qui, $opt); 952 } 953 954 /** 955 * Autorisation de supprimer (adresse) 956 * 957 * @param string $faire Action demandée 958 * @param string $type Type d'objet sur lequel appliquer l'action 959 * @param int $id Identifiant de l'objet 960 * @param array $qui Description de l'auteur demandant l'autorisation 961 * @param array $opt Options de cette autorisation 962 * 963 * @return bool true s'il a le droit, false sinon 964 **/ 965 function autoriser_adresse_supprimer($faire, $type, $id, $qui, $opt) { 966 return autoriser('infositessupprimer', 'adresse', $id, $qui, $opt); 967 } 968 969 /** 970 * Autorisation d'associer (adresse) 971 * 972 * @param string $faire Action demandée 973 * @param string $type Type d'objet sur lequel appliquer l'action 974 * @param int $id Identifiant de l'objet 975 * @param array $qui Description de l'auteur demandant l'autorisation 976 * @param array $opt Options de cette autorisation 977 * 978 * @return bool true s'il a le droit, false sinon 979 **/ 980 function autoriser_associeradresses($faire, $type, $id, $qui, $opt) { 981 return autoriser('infositesassocier', 'adresses', $id, $qui, $opt); 982 } 983 984 // -------------- 985 // Objet numeros 986 987 /** 988 * Autorisation de creer (numéro) 989 * 990 * @param string $faire Action demandée 991 * @param string $type Type d'objet sur lequel appliquer l'action 992 * @param int $id Identifiant de l'objet 993 * @param array $qui Description de l'auteur demandant l'autorisation 994 * @param array $opt Options de cette autorisation 995 * 996 * @return bool true s'il a le droit, false sinon 997 **/ 998 function autoriser_numero_creer($faire, $type, $id, $qui, $opt) { 999 return autoriser('infositescreer', 'numero', $id, $qui, $opt); 1000 } 1001 1002 /** 1003 * Autorisation de voir (numéro) 1004 * 1005 * @param string $faire Action demandée 1006 * @param string $type Type d'objet sur lequel appliquer l'action 1007 * @param int $id Identifiant de l'objet 1008 * @param array $qui Description de l'auteur demandant l'autorisation 1009 * @param array $opt Options de cette autorisation 1010 * 1011 * @return bool true s'il a le droit, false sinon 1012 **/ 1013 function autoriser_numero_voir($faire, $type, $id, $qui, $opt) { 1014 return autoriser('infositesvoir', 'numero', $id, $qui, $opt); 1015 } 1016 1017 /** 1018 * Autorisation de modifier (numéro) 1019 * 1020 * @param string $faire Action demandée 1021 * @param string $type Type d'objet sur lequel appliquer l'action 1022 * @param int $id Identifiant de l'objet 1023 * @param array $qui Description de l'auteur demandant l'autorisation 1024 * @param array $opt Options de cette autorisation 1025 * 1026 * @return bool true s'il a le droit, false sinon 1027 **/ 1028 function autoriser_numero_modifier($faire, $type, $id, $qui, $opt) { 1029 return autoriser('infositesmodifier', 'numero', $id, $qui, $opt); 1030 } 1031 1032 /** 1033 * Autorisation de supprimer (numéro) 1034 * 1035 * @param string $faire Action demandée 1036 * @param string $type Type d'objet sur lequel appliquer l'action 1037 * @param int $id Identifiant de l'objet 1038 * @param array $qui Description de l'auteur demandant l'autorisation 1039 * @param array $opt Options de cette autorisation 1040 * 1041 * @return bool true s'il a le droit, false sinon 1042 **/ 1043 function autoriser_numero_supprimer($faire, $type, $id, $qui, $opt) { 1044 return autoriser('infositessupprimer', 'numero', $id, $qui, $opt); 1045 } 1046 1047 /** 1048 * Autorisation d'associer (numéro) 1049 * 1050 * @param string $faire Action demandée 1051 * @param string $type Type d'objet sur lequel appliquer l'action 1052 * @param int $id Identifiant de l'objet 1053 * @param array $qui Description de l'auteur demandant l'autorisation 1054 * @param array $opt Options de cette autorisation 1055 * 1056 * @return bool true s'il a le droit, false sinon 1057 **/ 1058 function autoriser_associernumeros($faire, $type, $id, $qui, $opt) { 1059 return autoriser('infositesassocier', 'numeros', $id, $qui, $opt); 1060 } 1061 1062 1063 // ------------ 1064 // Objet emails 1065 1066 /** 1067 * Autorisation de creer (email) 1068 * 1069 * @param string $faire Action demandée 1070 * @param string $type Type d'objet sur lequel appliquer l'action 1071 * @param int $id Identifiant de l'objet 1072 * @param array $qui Description de l'auteur demandant l'autorisation 1073 * @param array $opt Options de cette autorisation 1074 * 1075 * @return bool true s'il a le droit, false sinon 1076 **/ 1077 function autoriser_email_creer($faire, $type, $id, $qui, $opt) { 1078 return autoriser('infositescreer', 'email', $id, $qui, $opt); 1079 } 1080 1081 /** 1082 * Autorisation de voir (email) 1083 * 1084 * @param string $faire Action demandée 1085 * @param string $type Type d'objet sur lequel appliquer l'action 1086 * @param int $id Identifiant de l'objet 1087 * @param array $qui Description de l'auteur demandant l'autorisation 1088 * @param array $opt Options de cette autorisation 1089 * 1090 * @return bool true s'il a le droit, false sinon 1091 **/ 1092 function autoriser_email_voir($faire, $type, $id, $qui, $opt) { 1093 return autoriser('infositesvoir', 'email', $id, $qui, $opt); 1094 } 1095 1096 /** 1097 * Autorisation de modifier (email) 1098 * 1099 * @param string $faire Action demandée 1100 * @param string $type Type d'objet sur lequel appliquer l'action 1101 * @param int $id Identifiant de l'objet 1102 * @param array $qui Description de l'auteur demandant l'autorisation 1103 * @param array $opt Options de cette autorisation 1104 * 1105 * @return bool true s'il a le droit, false sinon 1106 **/ 1107 function autoriser_email_modifier($faire, $type, $id, $qui, $opt) { 1108 return autoriser('infositesmodifier', 'email', $id, $qui, $opt); 1109 } 1110 1111 /** 1112 * Autorisation de supprimer (email) 1113 * 1114 * @param string $faire Action demandée 1115 * @param string $type Type d'objet sur lequel appliquer l'action 1116 * @param int $id Identifiant de l'objet 1117 * @param array $qui Description de l'auteur demandant l'autorisation 1118 * @param array $opt Options de cette autorisation 1119 * 1120 * @return bool true s'il a le droit, false sinon 1121 **/ 1122 function autoriser_email_supprimer($faire, $type, $id, $qui, $opt) { 1123 return autoriser('infositessupprimer', 'email', $id, $qui, $opt); 1124 } 1125 1126 1127 /** 1128 * Autorisation d'associer (email) 1129 * 1130 * @param string $faire Action demandée 1131 * @param string $type Type d'objet sur lequel appliquer l'action 1132 * @param int $id Identifiant de l'objet 1133 * @param array $qui Description de l'auteur demandant l'autorisation 1134 * @param array $opt Options de cette autorisation 1135 * 1136 * @return bool true s'il a le droit, false sinon 1137 **/ 1138 function autoriser_associeremails($faire, $type, $id, $qui, $opt) { 1139 return autoriser('infositesassocier', 'emails', $id, $qui, $opt); 1140 } 1141 1142 1143 /** 1144 * Récupérer les rôles d'un auteur sur un projet et ainsi s'avoir s'il a droit à certaines actions. 1145 * 1146 * @param array $qui 1147 * @param int $id_projet 1148 * @param array $role_creation 1149 * 1150 * @return bool|array 1151 */ 854 1152 function confirmer_roles_auteurs_projets($qui, $id_projet = 0, $role_creation = array()) { 855 1153 include_spip('base/abstract_sql'); 856 1154 $roles = array(); 857 $auteur_roles = sql_allfetsel('role', 'spip_auteurs_liens', 'objet=' . sql_quote('projet') . ' AND id_auteur=' . $qui['id_auteur'] . ' AND id_objet=' . $id_projet); 1155 $auteur_roles = sql_allfetsel('role', 'spip_auteurs_liens', 1156 'objet=' . sql_quote('projet') . ' AND id_auteur=' . $qui['id_auteur'] . ' AND id_objet=' . $id_projet); 858 1157 if (is_array($auteur_roles) and count($auteur_roles) > 0) { 859 1158 foreach ($auteur_roles as $auteur_role) { -
_plugins_/info_sites/branches/v1/info_sites_fonctions.php
r100283 r101505 60 60 } 61 61 natsort($liste_objets); 62 62 63 return $liste_objets; 63 }64 } 64 65 65 66 return false; … … 544 545 var_dump($doublons); 545 546 } 547 548 549 function filtre_compiler_branches_logiciel_dist($logiciel_nom = null) { 550 include_spip('inc/info_sites_outiller'); 551 $f = compiler_branches_logiciel($logiciel_nom); 552 553 return $f; 554 } -
_plugins_/info_sites/branches/v1/info_sites_pipelines.php
r98661 r101505 66 66 return $taches; 67 67 } 68 69 70 function info_sites_compiler_branches_logiciel($flux) { 71 if (is_array($flux['data']) and count($flux['data'])) { 72 if (isset($flux['data']['drupal']) and count($flux['data']['drupal'])) { 73 foreach ($flux['data']['drupal'] as $index => $branche) { 74 $flux['data']['drupal'][$index] = strval(intval($branche)); 75 } 76 $flux['data']['drupal'] = array_unique($flux['data']['drupal']); 77 } 78 if (isset($flux['data']['wordpress']) and count($flux['data']['wordpress'])) { 79 foreach ($flux['data']['wordpress'] as $index => $branche) { 80 $flux['data']['wordpress'][$index] = strval(intval($branche)); 81 } 82 $flux['data']['wordpress'] = array_unique($flux['data']['wordpress']); 83 } 84 } 85 86 return $flux; 87 } -
_plugins_/info_sites/branches/v1/lang/ecrire_fr.php
r97877 r101505 8 8 $GLOBALS[$GLOBALS['idx_lang']] = array( 9 9 10 'item_administrateur_2' => 'Niveau 1',11 'intem_redacteur' => 'Niveau 2',12 'item_visiteur' => 'Niveau 3',13 14 'info_auteurs' => 'Les utilisateurs',15 'info_modifier_auteur' => 'Modifier l\'utilisateur :',16 'entree_nom_site_2' => 'Nom du site de l\'utilisateur',17 'entree_infos_perso_2' => 'Qui est cet utilisateur ?',18 'info_nb_auteurs' => '@nb@ utilisateurs',19 'info_1_auteur' => '1 utilisateur',20 10 'auteur' => 'Utilisateur :', 21 11 'creer_et_associer_un_auteur' => 'Créer et associer un utilisateur', 12 'entree_infos_perso_2' => 'Qui est cet utilisateur ?', 13 'entree_nom_site_2' => 'Nom du site de l\'utilisateur', 22 14 'icone_afficher_auteurs' => 'Afficher les niveaux 0 à 2', 23 15 'icone_afficher_visiteurs' => 'Afficher les niveaux 3', 24 16 'icone_creer_auteur' => 'Créer un nouvel utilisateur et l’associer à cet article', 17 'info_1_auteur' => '1 utilisateur', 18 'info_1_visiteur' => '1 utilisateur', 25 19 'info_articles_auteur' => 'Les articles de cet utilisateur', 26 20 'info_aucun_auteur' => 'Aucun utilisateur', … … 28 22 'info_auteur_gere_toutes_rubriques' => 'Cet utilisateur gère <b>toutes les rubriques</b>', 29 23 'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>', 24 'info_auteurs' => 'Les utilisateurs', 30 25 'info_auteurs_par_tri' => 'Utilisateurs@partri@', 31 26 'info_auteurs_trouves' => 'Utilisateurs trouvés', 32 'info_gauche_auteurs' => 'Vous trouverez ici tous les utilisateurs du site. Leur statut est indiqué par la couleur de leur icone (niveau 1 = vert ; niveau 2 = jaune).', 33 'info_gauche_auteurs_exterieurs' => 'Les utilisateurs extérieurs, sans accès au site, sont indiqués par une icone bleue ; 34 les utilisateurs effacés par une icone grise.', 27 'info_gauche_auteurs' => 'Vous trouverez ici tous les utilisateurs du site. Leur statut est indiqué par la couleur de leur icone (niveau 1 = vert ; niveau 2 = bleu).', 28 'info_gauche_auteurs_exterieurs' => 'Les utilisateurs de niveau 3, sans accès à l\'espace privé du site, sont indiqués par une icone grise et les utilisateurs effacés par une poubelle grise.', 29 'info_modifier_auteur' => 'Modifier l\'utilisateur :', 30 'info_nb_auteurs' => '@nb@ utilisateurs', 31 'info_nb_visiteurs' => '@nb@ utilisateurs', 35 32 'info_preview_texte' => 'Il est possible de prévisualiser les différents éléments éditoriaux du site ayant au moins le statut « proposé », ainsi que les éléments en cours de rédaction dont on est l’auteur. Cette fonctionnalité doit-elle être disponible pour les utilisateurs de niveau 1, de niveau 2, ou personne ?', 36 33 'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes', … … 41 38 'info_statut_auteur_autre' => 'Autre statut :', 42 39 'info_statut_utilisateurs_2' => 'Choisissez le statut qui est attribué aux personnes présentes dans l’annuaire LDAP lorsqu’elles se connectent pour la première fois. Vous pourrez par la suite modifier cette valeur pour chaque utilisateur au cas par cas.', 40 'info_visiteurs' => 'Utilisateurs de niveau 3', 41 'intem_redacteur' => 'Niveau 2', 42 'item_administrateur_2' => 'Niveau 1', 43 43 'item_nouvel_auteur' => 'Nouvel utilisateur', 44 'item_visiteur' => 'Niveau 3', 44 45 'lien_ajouter_auteur' => 'Ajouter cet utilisateur', 45 46 'lien_retirer_auteur' => 'Retirer l’utilisateur', … … 50 51 'texte_auteur_messagerie' => 'Ce site peut vous indiquer en permanence la liste des utilisateurs connectés, ce qui vous permet d’échanger des messages en direct. Vous pouvez décider de ne pas apparaître dans cette liste (vous êtes « invisible » pour les autres utilisateurs).', 51 52 'texte_auteurs' => 'LES UTILISATEURS', 52 'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux 53 <tt>.htpasswd</tt> et <tt>.htpasswd-admin</tt> dans le répertoire @dossier@ ?</b> 54 <p>Ces fichiers peuvent vous servir à restreindre l’accès aux auteurs et administrateurs en d’autres endroits de votre site (programme externe de statistiques, par exemple).</p> 55 <p>Si vous n’en avez pas l’utilité, vous pouvez laisser cette option à sa valeur par défaut (pas de création des fichiers).</p>', 53 'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux <tt>.htpasswd</tt> et <tt>.htpasswd-admin</tt> dans le répertoire @dossier@ ?</b> <p>Ces fichiers peuvent vous servir à restreindre l’accès aux auteurs et administrateurs en d’autres endroits de votre site (programme externe de statistiques, par exemple).</p> <p>Si vous n’en avez pas l’utilité, vous pouvez laisser cette option à sa valeur par défaut (pas de création des fichiers).</p>', 56 54 'texte_plusieurs_articles' => 'Plusieurs utilisateurs trouvés pour "@cherche_auteur@" :', 57 55 'texte_travail_article' => '@nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes', … … 59 57 'titre_cadre_ajouter_auteur' => 'AJOUTER UN UTILISATEUR :', 60 58 'titre_cadre_numero_auteur' => 'UTILISATEUR NUMÉRO', 61 62 59 ); -
_plugins_/info_sites/branches/v1/lang/info_sites_fr.php
r100287 r101505 51 51 'commercial_label' => 'Commercial', 52 52 'confirmer_cloner_projets_site' => 'Êtes-vous sûr de vouloir cloner ce site ?', 53 'contact_existant' => 'Ce contact existe déjà.', 53 54 'controle_auteurs_menu' => 'Les utilisateurs', 54 55 'controle_auteurs_projets_orphelins' => 'Utilisateurs sans projets', … … 121 122 122 123 // F 124 'fieldset_legend_adresse' => 'Adresse', 125 'fieldset_legend_contact' => 'Contact', 126 'fieldset_legend_email' => 'Courriel', 127 'fieldset_legend_numero' => 'Numéro de téléphone', 123 128 'filtres_label' => 'Filtres', 124 129 -
_plugins_/info_sites/branches/v1/paquet.xml
r100287 r101505 2 2 prefix="info_sites" 3 3 categorie="outil" 4 version="1.1 4.1"4 version="1.16.1" 5 5 etat="test" 6 6 compatibilite="[3.0.8;3.1.*]" 7 7 logo="prive/themes/spip/images/info_sites-64.png" 8 8 documentation="http://info-sites.readthedocs.io/" 9 schema="1. 1.0"9 schema="1.2.0" 10 10 > 11 11 <nom>Info Sites</nom> … … 23 23 <necessite nom="medias" compatibilite="[2.7.0;]"/> 24 24 25 <necessite nom="saisies" compatibilite="[ 1.24.0;]"/>25 <necessite nom="saisies" compatibilite="[2.2.3;]"/> 26 26 <necessite nom="Zcore" compatibilite="[2.4.0;]"/> 27 <necessite nom="contacts" compatibilite="[ 2.10.0;]"/>27 <necessite nom="contacts" compatibilite="[3.0.0;]"/> 28 28 <necessite nom="coordonnees" compatibilite="[2.2.4;]"/> 29 29 <necessite nom="projets" compatibilite="[1.0.9;]"/> … … 44 44 <lib nom="respond-1.4.2" lien="https://github.com/scottjehl/Respond/archive/1.4.2.zip" /> 45 45 46 <pipeline nom="compiler_branches_logiciel" action=''/> 47 46 48 <pipeline nom="declarer_tables_objets_sql" inclure="base/info_sites.php" /> 47 49 <pipeline nom="declarer_champs_extras" inclure="base/info_sites_extras.php" /> … … 50 52 <pipeline nom="header_prive" inclure="info_sites_pipelines.php"/> 51 53 <pipeline nom="taches_generales_cron" inclure="info_sites_pipelines.php" /> 54 <pipeline nom="compiler_branches_logiciel" inclure="info_sites_pipelines.php" /> 52 55 53 56 <pipeline nom="autoriser" inclure="info_sites_autorisations.php"/> -
_plugins_/info_sites/branches/v1/prive/objets/liste/adresses_lies.html
r97844 r101505 5 5 <table class='spip liste table table-striped table-bordered'> 6 6 <tbody> 7 <BOUCLE_liste_adresses(adresses_liens){id_adresse != #GET{id_adresse_exclu s}}{objet}{id_objet}{pagination #ENV{nb,10}}>7 <BOUCLE_liste_adresses(adresses_liens){id_adresse != #GET{id_adresse_exclue}}{objet}{id_objet}{pagination #ENV{nb,10}}> 8 8 <tr class='[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]'> 9 9 [(#COMPTEUR_BOUCLE|=={1}|oui)<td class='picto' rowspan='#TOTAL_BOUCLE'></td>] … … 31 31 [(#CHEMIN_IMAGE{edit-16.png}|balise_img)] 32 32 </a> 33 [(#AUTORISER{associeradresse ,#ID_ADRESSE}|oui)33 [(#AUTORISER{associeradresses,#ID_ADRESSE}|oui) 34 34 [(#BOUTON_ACTION{ 35 35 [(#CHEMIN_IMAGE{supprimer-12.png}|balise_img)], -
_plugins_/info_sites/branches/v1/prive/objets/liste/emails_lies.html
r97844 r101505 26 26 [(#CHEMIN_IMAGE{edit-16.png}|balise_img)] 27 27 </a> 28 [(#AUTORISER{associeremail ,#ID_EMAIL}|oui)28 [(#AUTORISER{associeremails,#ID_EMAIL}|oui) 29 29 [(#BOUTON_ACTION{ 30 30 [(#CHEMIN_IMAGE{supprimer-12.png}|balise_img{'email:icone_supprimer_email'})], -
_plugins_/info_sites/branches/v1/prive/objets/liste/numeros_lies.html
r97844 r101505 30 30 [(#CHEMIN_IMAGE{edit-16.png}|balise_img)] 31 31 </a> 32 [(#AUTORISER{associernumero ,#ID_NUMERO}|oui)32 [(#AUTORISER{associernumeros,#ID_NUMERO}|oui) 33 33 [(#BOUTON_ACTION{ 34 34 [(#CHEMIN_IMAGE{supprimer-12.png}|balise_img)], -
_plugins_/info_sites/branches/v1/squelettes/aside/contact.html
r97899 r101505 3 3 <div class="list-group menu" role="menu"> 4 4 [(#AUTORISER{infositesmodifier,contact,#ID_CONTACT}|oui) 5 <a role="menuitem" tabindex="-1" href="[(#URL_PAGE{contact_edit,id_contact=#ID_CONTACT}|parametre_url{redirect,#URL_SITE_SPIP/#SELF})]" class="list-group-item bouton modifier" rel="nofollow"><span class="fa-stack text-primary"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-pencil-square-o fa-stack-1x fa-inverse"></i></span> <:info_sites:icone_modifier_contact:></a>][ 6 (#AUTORISER{infositessupprimer, contact, #ID_CONTACT}|oui) 5 <a role="menuitem" tabindex="-1" href="[(#URL_PAGE{contact_edit,id_contact=#ID_CONTACT}|parametre_url{redirect,#URL_SITE_SPIP/#SELF})]" class="list-group-item bouton modifier" rel="nofollow"><span class="fa-stack text-primary"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-pencil-square-o fa-stack-1x fa-inverse"></i></span> <:info_sites:icone_modifier_contact:></a>][(#AUTORISER{infositesassocier,organisation}|oui) 6 <a role="menuitem" tabindex="-1" href="[(#URL_PAGE{editer_liens}|parametre_url{table_source,organisations}|parametre_url{objet,contact}|parametre_url{id_objet,#ID_CONTACT})]" class="list-group-item bouton editer_liens" rel="nofollow"><span class="fa-stack text-muted"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-link fa-stack-1x fa-inverse"></i></span> <:info_sites:editer_liens_organisation:></a> 7 ][(#AUTORISER{infositessupprimer, contact, #ID_CONTACT}|oui) 7 8 <a role="menuitem" tabindex="-1" href="[(#URL_ACTION_AUTEUR{supprimer_contact,contact/#ID_CONTACT,#URL_PAGE{contacts}})]" class="list-group-item bouton website" onclick='return confirm("<:contacts:confirmer_supprimer_contact|texte_script:>\n\n<:contacts:explication_supprimer_contact|texte_script:>")'><span class="fa-stack text-danger"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-trash fa-stack-1x fa-inverse"></i></span> 8 9 <:contacts:supprimer_contact:> -
_plugins_/info_sites/branches/v1/squelettes/aside/organisation.html
r98661 r101505 5 5 <a role="menuitem" tabindex="-1" href="[(#URL_PAGE{organisation_edit,id_organisation=#ID_ORGANISATION}|parametre_url{redirect,#URL_SITE_SPIP/#SELF})]" class="list-group-item bouton modifier" rel="nofollow"><span class="fa-stack text-primary"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-pencil-square-o fa-stack-1x fa-inverse"></i></span> 6 6 <:info_sites:icone_modifier_organisation:> 7 </a>[ 8 (#AUTORISER{infositescreer,contact}) 7 </a>[(#AUTORISER{infositescreer,contact}) 9 8 <a role="menuitem" tabindex="-1" href="[(#URL_PAGE{contact_edit,new=oui}|parametre_url{associer_objet,organisation|#ID_ORGANISATION}|parametre_url{redirect,#URL_SITE_SPIP/#SELF})]" class="list-group-item bouton creer" rel="nofollow"><span class="fa-stack text-success"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-plus-circle fa-stack-1x fa-inverse"></i></span> 10 9 <:contacts:contact_creer:> 11 </a>] 10 </a>][(#AUTORISER{infositesassocier,projet}|oui) 12 11 <a role="menuitem" tabindex="-1" href="[(#URL_PAGE{editer_liens}|parametre_url{table_source,projets}|parametre_url{objet,organisation}|parametre_url{id_objet,#ID_ORGANISATION}|parametre_url{redirect,#URL_SITE_SPIP/#SELF})]" class="list-group-item bouton editer_liens" rel="nofollow" title="<:info_sites:editer_liens_projet|attribut_html:>"><span class="fa-stack text-muted"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-link fa-stack-1x fa-inverse"></i></span> 13 12 <:info_sites:editer_liens_projet:> 14 </a> [13 </a>][ 15 14 (#AUTORISER{infositessupprimer, organisation, #ID_ORGANISATION}|oui) 16 15 <a role="menuitem" tabindex="-1" href="[(#URL_ACTION_AUTEUR{supprimer_contact,organisation/#ID_ORGANISATION,#URL_PAGE{organisations}})]" class="list-group-item bouton website" onclick='return confirm("<:contacts:confirmer_supprimer_organisation:>\n\n<:contacts:explication_supprimer_organisation:>")'><span class="fa-stack text-danger"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-trash fa-stack-1x fa-inverse"></i></span> -
_plugins_/info_sites/branches/v1/squelettes/aside/projet.html
r96690 r101505 10 10 ][(#AUTORISER{infositesassocier,projetssites,'',[(#SESSION|unserialize)],#ARRAY{projet,#ID_PROJET}}|oui) 11 11 <a role="menuitem" tabindex="-1" href="[(#URL_PAGE{editer_liens}|parametre_url{table_source,projets_sites}|parametre_url{objet,projet}|parametre_url{id_objet,#ID_PROJET})]" class="list-group-item bouton editer_liens" rel="nofollow"><span class="fa-stack text-muted"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-link fa-stack-1x fa-inverse"></i></span> <:info_sites:editer_liens_projets_site:></a> 12 ][(#AUTORISER{infositesassocier,contacts,'',[(#SESSION|unserialize)],#ARRAY{projet,#ID_PROJET}}|oui) 13 <a role="menuitem" tabindex="-1" href="[(#URL_PAGE{editer_liens}|parametre_url{table_source,contacts}|parametre_url{objet,projet}|parametre_url{id_objet,#ID_PROJET})]" class="list-group-item bouton editer_liens" rel="nofollow"><span class="fa-stack text-muted"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-link fa-stack-1x fa-inverse"></i></span> <:info_sites:editer_liens_contact:></a> 12 14 ][(#AUTORISER{infositesassocier,auteurs,'',[(#SESSION|unserialize)],#ARRAY{projet,#ID_PROJET}}|oui) 13 15 <a role="menuitem" tabindex="-1" href="[(#URL_PAGE{editer_liens}|parametre_url{table_source,auteurs}|parametre_url{objet,projet}|parametre_url{id_objet,#ID_PROJET})]" class="list-group-item bouton editer_liens" rel="nofollow"><span class="fa-stack text-muted"><i class="fa fa-square fa-stack-2x"></i><i class="fa fa-link fa-stack-1x fa-inverse"></i></span> <:info_sites:editer_liens_auteur:></a> -
_plugins_/info_sites/branches/v1/squelettes/content/contact_edit.html
r96584 r101505 1 1 [(#AUTORISER{infositesmodifier,contact,#ID_CONTACT}|sinon_interdire_acces{'',401,<:info_sites:zone_restreinte:>})] 2 [(#INCLURE{fond=prive/squelettes/contenu/#ENV{page},env})] 2 [(#ID_CONTACT|intval|oui) 3 [(#AUTORISER{modifier,contact,#ID_CONTACT}|sinon_interdire_acces)] 4 ][(#ID_CONTACT|intval|non) 5 [(#AUTORISER{creer,contact}|sinon_interdire_acces)] 6 ] 7 #SET{retour,#ENV{redirect}|sinon{#ID_CONTACT|intval|?{#URL_ECRIRE{contact,id_contact=#ID_CONTACT},#URL_ECRIRE{contacts}}}} 8 9 <div class='cadre-formulaire-editer'> 10 <div class="entete-formulaire"> 11 [(#ID_CONTACT|oui) 12 [(#GET{retour}|icone_verticale{<:icone_retour:>,contact,'',left retour[(#ENV{retourajax,''}|oui)ajax preload]})] 13 ] 14 [[(#ID_CONTACT|?{<:contacts:contact_editer:>,#ENV{associer_objet}|?{<:contacts:contact_ajouter_associe_a:>,<:contacts:contact_ajouter:>}})] 15 [(#ENV{associer_objet}|oui) [(#SET{associer_objet,[(#ENV{associer_objet}|explode{"|"})]})] 16 <a href="[(#GET{associer_objet/1}|generer_url_entite{#GET{associer_objet/0}})]">[(#INFO_TITRE{#GET{associer_objet/0},#GET{associer_objet/1}})]</a> 17 ] 18 <h1>(#ENV{titre,#INFO_PRENOM{contact,#ID_CONTACT}|concat{' ',#INFO_NOM{contact,#ID_CONTACT}}|trim|sinon{<:info_sans_titre:>}})</h1>] 19 </div> 20 21 #SET{redirect,#ENV{redirect,#ID_CONTACT|generer_url_entite{contact}}} 22 [(#ENV{retourajax,''}|oui) 23 #SET{redirect,'javascript:if (window.jQuery) jQuery(".entete-formulaire .retour a").followLink();'} 24 <div class="ajax"> 25 ] 26 [(#ENV{new}|=={oui}|oui) 27 [(#FORMULAIRE_EDITER_CONTACT_RAPIDE{#ENV{id_contact,oui},#ENV{id_organisation},#GET{redirect},#ENV{associer_objet}})] 28 ][(#ENV{new}|=={oui}|non) 29 [(#FORMULAIRE_EDITER_CONTACT{#ENV{id_contact,oui},#ENV{id_organisation},#GET{redirect},#ENV{associer_objet}})] 30 ] 31 [(#ENV{retourajax,''}|oui) 32 </div> 33 <script type="text/javascript">/*<!\[CDATA\[*/reloadExecPage('#ENV{exec}','#navigation,#extra');/*\]\]>*/</script> 34 ] 35 36 </div> -
_plugins_/info_sites/branches/v1/squelettes/content/editer_liens.html
r100283 r101505 1 [(#CACHE{0})] 1 2 [(#ENV{table_source}|oui|et{[(#ENV{objet}|oui)]}|et{[(#ENV{id_objet}|oui)]}|sinon_interdire_acces{'',401,<:info_sites:zone_restreinte:>})] 2 3 -
_plugins_/info_sites/branches/v1/squelettes/content/editer_liens_fonctions.php
r98661 r101505 1 1 <?php 2 2 include_spip('inc/utils'); 3 charger_fonction('cache_objet', 'inc'); 3 $cache_objet = charger_fonction('cache_objet', 'inc'); 4 5 $cache_objet(); -
_plugins_/info_sites/branches/v1/squelettes/content/projets_site.html
r97844 r101505 25 25 [(#ENV**{type-page}|=={projets_site_edit}|?{#INCLURE{fond=prive/squelettes/contenu/projets_site_edit,redirect='',env,retourajax=oui},#REM|sinon_interdire_acces})] 26 26 <//B_projets_site> 27 -
_plugins_/info_sites/branches/v1/squelettes/extra/contact.html
r96584 r101505 12 12 </div>] 13 13 14 [(#AUTORISER{infositesvoir, projets}|oui) 15 <div class="block"> 16 [(#INCLURE{fond=objets/liste/projets, id_contact=#ID_CONTACT, ajax=wysiwyg})] 17 </div>] 18 14 19 </div> 15 20 </BOUCLE_extra> -
_plugins_/info_sites/branches/v1/squelettes/extra/organisation.html
r96584 r101505 25 25 26 26 <B_autresobjets> 27 <BOUCLE_autresobjets (spip_organisations_liens) {id_organisation} {fusion objet}{par objet} >27 <BOUCLE_autresobjets (spip_organisations_liens) {id_organisation} {fusion objet}{par objet} {objet !IN contact,projet}> 28 28 [(#AUTORISER{infositesvoir, #OBJET}|oui) 29 29 <div class="block"> -
_plugins_/info_sites/branches/v1/squelettes/formulaires/fiche_site.html
r96690 r101505 54 54 <hr/> 55 55 <fieldset> 56 < ul>56 <[(#VAL{ul}|saisie_balise_structure_formulaire)] class="editer-groupe"> 57 57 58 58 [(#SAISIE{input, titre, obligatoire=oui, … … 70 70 explication=<:projets_site:webservice_explication:>})] 71 71 72 </ ul>72 </[(#VAL{ul}|saisie_balise_structure_formulaire)]> 73 73 </fieldset> 74 74 <hr/> 75 75 <fieldset> 76 < ul>76 <[(#VAL{ul}|saisie_balise_structure_formulaire)] class="editer-groupe"> 77 77 78 78 [(#SAISIE{input, logiciel_nom, … … 88 88 maxlength=25})] 89 89 90 </ ul>90 </[(#VAL{ul}|saisie_balise_structure_formulaire)]> 91 91 </fieldset> 92 92 <hr/> … … 95 95 [(#PLUGIN{RSS_COMMITS}|oui) 96 96 <fieldset> 97 < ul>97 <[(#VAL{ul}|saisie_balise_structure_formulaire)] class="editer-groupe"> 98 98 99 99 [(#SAISIE{input, versioning_path, … … 110 110 label=<:commit:champ_versioning_rss_label:>})] 111 111 112 </ ul>112 </[(#VAL{ul}|saisie_balise_structure_formulaire)]> 113 113 </fieldset> 114 114 <hr/>] 115 115 <fieldset> 116 < ul>116 <[(#VAL{ul}|saisie_balise_structure_formulaire)] class="editer-groupe"> 117 117 118 118 [(#SAISIE{input, fo_url, … … 133 133 maxlength=25})] 134 134 135 </ ul>135 </[(#VAL{ul}|saisie_balise_structure_formulaire)]> 136 136 </fieldset> 137 137 <hr/> 138 138 <fieldset> 139 < ul>139 <[(#VAL{ul}|saisie_balise_structure_formulaire)] class="editer-groupe"> 140 140 141 141 [(#SAISIE{input, bo_url, … … 156 156 maxlength=25})] 157 157 158 </ ul>158 </[(#VAL{ul}|saisie_balise_structure_formulaire)]> 159 159 </fieldset> 160 160 <p class="boutons"><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p> -
_plugins_/info_sites/branches/v1/squelettes/formulaires/fiche_site.php
r96690 r101505 2 2 3 3 if (!defined('_ECRIRE_INC_VERSION')) { 4 4 return; 5 5 } 6 6 … … 9 9 include_spip('inc/autoriser'); 10 10 11 function formulaires_fiche_site_charger_dist() 12 { 13 // Valeurs du formulaire. 14 $valeurs = array( 15 'organisation' => _request('organisation'), 16 'projet' => _request('projet'), 17 'projet_parent' => _request('projet_parent'), 18 'webservice' => _request('webservice'), 19 'titre' => _request('titre'), 20 'versioning_trac' => _request('versioning_trac'), 21 'versioning_type' => _request('versioning_type'), 22 'versioning_path' => _request('versioning_path'), 23 'versioning_rss' => _request('versioning_rss'), 24 'logiciel_nom' => _request('logiciel_nom'), 25 'logiciel_version' => _request('logiciel_version'), 26 'fo_url' => _request('fo_url'), 27 'fo_login' => _request('fo_login'), 28 'fo_password' => _request('fo_password'), 29 'bo_url' => _request('bo_url'), 30 'bo_login' => _request('bo_login'), 31 'bo_password' => _request('bo_password'), 32 ); 33 $valeurs['type_site'] = (_request('type_site')) ? _request('type_site') : 'prod'; 34 35 return $valeurs; 11 function formulaires_fiche_site_charger_dist() { 12 // Valeurs du formulaire. 13 $valeurs = array( 14 'organisation' => _request('organisation'), 15 'projet' => _request('projet'), 16 'projet_parent' => _request('projet_parent'), 17 'webservice' => _request('webservice'), 18 'titre' => _request('titre'), 19 'versioning_trac' => _request('versioning_trac'), 20 'versioning_type' => _request('versioning_type'), 21 'versioning_path' => _request('versioning_path'), 22 'versioning_rss' => _request('versioning_rss'), 23 'logiciel_nom' => _request('logiciel_nom'), 24 'logiciel_version' => _request('logiciel_version'), 25 'fo_url' => _request('fo_url'), 26 'fo_login' => _request('fo_login'), 27 'fo_password' => _request('fo_password'), 28 'bo_url' => _request('bo_url'), 29 'bo_login' => _request('bo_login'), 30 'bo_password' => _request('bo_password'), 31 ); 32 $valeurs['type_site'] = (_request('type_site')) ? _request('type_site') : 'prod'; 33 34 return $valeurs; 36 35 } 37 36 … … 45 44 * Pensez à utiliser _T('info_obligatoire'); pour les éléments obligatoires. 46 45 */ 47 function formulaires_fiche_site_verifier_dist() 48 { 49 $erreurs = array(); 50 51 // On s'occupe des champs obligatoires 52 $obligatoires = array('logiciel_nom', 'logiciel_version', 'titre', 'type_site', 'fo_url', 'bo_url'); 53 foreach ($obligatoires as $obligatoire) { 54 if (!_request($obligatoire)) { 55 $erreurs[$obligatoire] = _T('info_obligatoire'); 56 } 57 } 58 59 return $erreurs; 60 } 61 62 function formulaires_fiche_site_traiter_dist() 63 { 64 $res = array(); 65 66 // On vérifie si l'auteur a le droit de créer des sites de projet 67 // S'il n'a pas les droits, pas la peine d'aller plus loin 68 if (!autoriser('creer','projetssite')) { 69 return $res['message_erreur'] = _T('projets_site:info_creer_projetssite_non_autorise'); 70 } 71 72 $liste_plugins = isset($GLOBALS['meta']['plugin']) ? array_keys(unserialize($GLOBALS['meta']['plugin'])) : array(); 73 $id_ateur = session_get('id_auteur'); 74 $rss_commits = false; 75 76 // -------------------- 77 // On récupère les valeurs transmises par le formulaire 78 // On enlève sur chaque valeur les espaces inutiles avant et après 79 // C'est juste pour éviter des erreurs d'étourderies quand on frappe au clavier 80 $organisation = trim(_request('organisation')); 81 $projet = trim(_request('projet')); 82 $projet_parent = trim(_request('projet_parent')); 83 $webservice = trim(_request('webservice')); 84 85 // On retrouve la clé (cf. 'uniqid') à partir du webservice 86 if ($webservice) { 87 $parse_url = parse_url($webservice); 88 parse_str($parse_url['query'], $query); 89 if (isset($query['cle'])) { 90 $uniqid = $query['cle']; 91 } 92 } 93 94 $titre = trim(_request('titre')); 95 $type_site = trim(_request('type_site')); 96 if (in_array('RSS_COMMITS', $liste_plugins)) { 97 $rss_commits = true; 98 $versioning_trac = trim(_request('versioning_trac')); 99 $versioning_type = trim(_request('versioning_type')); 100 $versioning_path = trim(_request('versioning_path')); 101 $versioning_rss = trim(_request('versioning_rss')); 102 } 103 $logiciel_nom = trim(_request('logiciel_nom')); 104 $logiciel_version = trim(_request('logiciel_version')); 105 $fo_url = trim(_request('fo_url')); 106 $fo_login = trim(_request('fo_login')); 107 $fo_password = trim(_request('fo_password')); 108 $bo_url = trim(_request('bo_url')); 109 $bo_login = trim(_request('bo_login')); 110 $bo_password = trim(_request('bo_password')); // Est-ce vraiement utile de faire un trim() sur un password ? 111 $date = date_format(date_create(), 'Y-m-d H:i:s'); 112 113 // -------------------- 114 // On s'occupe du projet parent 115 if ($projet_parent) { 116 $_id_projet_parent = intval($projet_parent); 117 // ne pas oublier que intval() retournera '0' si on lui passe une chaine. 118 // Exemple : intval('Tartanpion') == 0 119 // intval('1Live') == 1 120 // Pour ce dernier exemple, on met une sécu... 121 if (strlen($_id_projet_parent) != strlen($projet_parent)) { 122 $_id_projet_parent = $projet_parent; 123 } 124 125 if (!is_int($_id_projet_parent) or $_id_projet_parent == 0) { 126 // On va vérifier que le nom renseigné n'est pas déjà dans la bdd. 127 // Si oui, on prend son id comme référent 128 if ($projet_parent_existant = sql_fetsel('id_projet', 'spip_projets', 'nom=' . sql_quote($projet_parent))) { 129 $id_projet_parent = $projet_parent_existant['id_projet']; 130 } else { 131 // Pas de projet existant, on l'insère en BDD 132 $id_projet_parent = sql_insertq('spip_projets', array('nom' => $projet_parent)); 133 sql_insertq('spip_auteurs_liens', array('id_auteur' => $id_auteur, 'id_objet' => $id_projet_parent, 'objet' => 'projet')); 134 } 135 } elseif (is_int($_id_projet_parent)) { 136 $id_projet_parent = $_id_projet_parent; 137 } 138 } 139 140 // -------------------- 141 // On s'occupe du projet 142 if ($projet) { 143 $champs = array(); 144 $_id_projet = intval($projet); 145 146 if (strlen($_id_projet) != strlen($projet)) { 147 $_id_projet = $projet; 148 } 149 150 // On n'est pas sur un integer mais un string 151 if ($projet and (!is_int($_id_projet) or $_id_projet == 0)) { 152 // On va vérifier que le nom renseigné n'est pas déjà dans la bdd. 153 // Si oui, on prend son id comme référent 154 if ($projet_existant = sql_fetsel('id_projet', 'spip_projets', 'nom=' . sql_quote($projet))) { 155 $id_projet = $projet_existant['id_projet']; 156 } else { 157 // pas de projet existant, donc on peut l'ajouter en BDD 158 $champs['nom'] = $projet; 159 $champs['url_site'] = $fo_url; 160 $champs['date_publication'] = $date; 161 if ($rss_commits) { 162 $champs['versioning_trac'] = $versioning_trac; 163 $champs['versioning_type'] = $versioning_type; 164 $champs['versioning_path'] = $versioning_path; 165 $champs['versioning_rss'] = $versioning_rss; 166 } 167 if ($id_projet_parent and $id_projet_parent != $projet) { 168 $champs['id_projet_parent'] = $id_projet_parent; 169 } 170 if ($type_site == 'prod') { 171 $champs['statut'] = 'production'; 172 } 173 if ($type_site == 'rec') { 174 $champs['statut'] = 'test'; 175 } 176 if ($type_site == 'prep') { 177 $champs['statut'] = 'recette'; 178 } 179 if ($type_site == 'dev') { 180 $champs['statut'] = 'fabrication'; 181 } 182 $id_projet = sql_insertq('spip_projets', $champs); 183 if ($id_projet and $id_auteur) { 184 // On reprend le comportement du plugin PROJETS quand on crée un nouveau projet, 185 // on lie l'auteur au projet qu'il a créé 186 sql_insertq('spip_auteurs_liens', array('id_auteur' => $id_auteur, 'id_objet' => $id_projet, 'objet' => 'projet')); 187 } 188 } 189 } elseif (is_int($_id_projet)) { 190 $id_projet = $_id_projet; 191 } 192 } 193 194 // -------------------- 195 // On s'occupe de l'organisation 196 if ($organisation) { 197 $_id_organisation = intval($organisation); 198 199 if (strlen($_id_organisation) != strlen($organisation)) { 200 $_id_organisation = $organisation; 201 } 202 203 // on n'est pas sur un integer ou mais un string 204 if (!is_int($_id_organisation) or $_id_organisation == 0) { 205 // On vérifie que le nom renseigné n'est pas déjà dans la bdd. 206 // Si oui, on prend son id comme référent 207 if ($organisation_existante = sql_fetsel('id_organisation', 'spip_organisations', 'nom=' . sql_quote($organisation))) { 208 $id_organisation = $organisation_existante['id_organisation']; 209 spip_log('Organisation #' . $id_organisation . ' existante', 'info_sites'); 210 } else { 211 // Pas d'organisation existante, on la crée en BDD 212 $id_organisation = sql_insertq('spip_organisations', array('nom' => $organisation)); 213 spip_log('Organisation #' . $id_organisation . ' a été créé', 'info_sites'); 214 } 215 // Si la liaison entre le projet parent et l'organisation n'existe pas, 216 // on crée la liaison 217 if ($id_projet_parent and $id_organisation) { 218 sql_insertq('spip_projets_liens', array('id_projet' => $id_projet_parent, 'id_objet' => $id_organisation, 'objet' => 'organisation')); 219 } 220 // Si la liaison entre le projet et l'organisation n'existe pas, 221 // on crée la liaison 222 if ($id_projet and $id_organisation) { 223 sql_insertq('spip_projets_liens', array('id_projet' => $id_projet, 'id_objet' => $id_organisation, 'objet' => 'organisation')); 224 } 225 } elseif (is_int($_id_organisation)) { 226 sql_insertq('spip_projets_liens', array('id_projet' => $id_projet, 'id_objet' => $_id_organisation, 'objet' => 'organisation')); 227 } 228 } 229 230 // -------------------- 231 // Et enfin, on traite le site du projet 232 if ($titre) { 233 $champs = array(); 234 $champs['titre'] = $titre; 235 $champs['type_site'] = ($type_site) ? $type_site : 'prod'; 236 $champs['webservice'] = $webservice; 237 $champs['uniqid'] = ($uniqid) ? $uniqid : ''; 238 $champs['logiciel_nom'] = $logiciel_nom; 239 $champs['logiciel_version'] = $logiciel_version; 240 $champs['fo_url'] = $fo_url; 241 $champs['fo_login'] = $fo_login; 242 $champs['fo_password'] = $fo_password; 243 $champs['bo_url'] = $bo_url; 244 $champs['bo_login'] = $bo_login; 245 $champs['bo_password'] = $bo_password; 246 $champs['date_creation'] = $date; 247 248 $id_projets_site = sql_insertq('spip_projets_sites', $champs); 249 if (is_int($id_projets_site) and is_int($id_projet) and $id_projet != 0) { 250 sql_insertq('spip_projets_sites_liens', array('id_projets_site' => $id_projets_site, 'id_objet' => $id_projet, 'objet' => 'projet')); 251 } 252 } 253 254 // Et hop! On regarde si on n'a pas un id_projet_site 255 // Dans ce cas, erreur... 256 if (!$id_projets_site) { 257 $res['message_erreur'] = _T('enregistrement_ko'); 258 } else { 259 // Le must est que tout se passe bien :-) 260 $res['message_ok'] = _T('enregistrement_ok'); 261 $res['redirect'] = generer_url_entite($id_projets_site, 'projets_site'); 262 } 263 264 return $res; 265 } 46 function formulaires_fiche_site_verifier_dist() { 47 $erreurs = array(); 48 49 // On s'occupe des champs obligatoires 50 $obligatoires = array('logiciel_nom', 'logiciel_version', 'titre', 'type_site', 'fo_url', 'bo_url'); 51 foreach ($obligatoires as $obligatoire) { 52 if (!_request($obligatoire)) { 53 $erreurs[$obligatoire] = _T('info_obligatoire'); 54 } 55 } 56 57 return $erreurs; 58 } 59 60 function formulaires_fiche_site_traiter_dist() { 61 $res = array(); 62 63 // On vérifie si l'auteur a le droit de créer des sites de projet 64 // S'il n'a pas les droits, pas la peine d'aller plus loin 65 if (!autoriser('creer', 'projetssite')) { 66 return $res['message_erreur'] = _T('projets_site:info_creer_projetssite_non_autorise'); 67 } 68 69 $liste_plugins = isset($GLOBALS['meta']['plugin']) ? array_keys(unserialize($GLOBALS['meta']['plugin'])) : array(); 70 $id_ateur = session_get('id_auteur'); 71 $rss_commits = false; 72 73 // -------------------- 74 // On récupère les valeurs transmises par le formulaire 75 // On enlève sur chaque valeur les espaces inutiles avant et après 76 // C'est juste pour éviter des erreurs d'étourderies quand on frappe au clavier 77 $organisation = trim(_request('organisation')); 78 $projet = trim(_request('projet')); 79 $projet_parent = trim(_request('projet_parent')); 80 $webservice = trim(_request('webservice')); 81 82 // On retrouve la clé (cf. 'uniqid') à partir du webservice 83 if ($webservice) { 84 $parse_url = parse_url($webservice); 85 parse_str($parse_url['query'], $query); 86 if (isset($query['cle'])) { 87 $uniqid = $query['cle']; 88 } 89 } 90 91 $titre = trim(_request('titre')); 92 $type_site = trim(_request('type_site')); 93 if (in_array('RSS_COMMITS', $liste_plugins)) { 94 $rss_commits = true; 95 $versioning_trac = trim(_request('versioning_trac')); 96 $versioning_type = trim(_request('versioning_type')); 97 $versioning_path = trim(_request('versioning_path')); 98 $versioning_rss = trim(_request('versioning_rss')); 99 } 100 $logiciel_nom = trim(_request('logiciel_nom')); 101 $logiciel_version = trim(_request('logiciel_version')); 102 $fo_url = trim(_request('fo_url')); 103 $fo_login = trim(_request('fo_login')); 104 $fo_password = trim(_request('fo_password')); 105 $bo_url = trim(_request('bo_url')); 106 $bo_login = trim(_request('bo_login')); 107 $bo_password = trim(_request('bo_password')); // Est-ce vraiement utile de faire un trim() sur un password ? 108 $date = date_format(date_create(), 'Y-m-d H:i:s'); 109 110 // -------------------- 111 // On s'occupe du projet parent 112 if ($projet_parent) { 113 $_id_projet_parent = intval($projet_parent); 114 // ne pas oublier que intval() retournera '0' si on lui passe une chaine. 115 // Exemple : intval('Tartanpion') == 0 116 // intval('1Live') == 1 117 // Pour ce dernier exemple, on met une sécu... 118 if (strlen($_id_projet_parent) != strlen($projet_parent)) { 119 $_id_projet_parent = $projet_parent; 120 } 121 122 if (!is_int($_id_projet_parent) or $_id_projet_parent == 0) { 123 // On va vérifier que le nom renseigné n'est pas déjà dans la bdd. 124 // Si oui, on prend son id comme référent 125 if ($projet_parent_existant = sql_fetsel('id_projet', 'spip_projets', 'nom=' . sql_quote($projet_parent))) { 126 $id_projet_parent = $projet_parent_existant['id_projet']; 127 } else { 128 // Pas de projet existant, on l'insère en BDD 129 $id_projet_parent = sql_insertq('spip_projets', array('nom' => $projet_parent)); 130 sql_insertq('spip_auteurs_liens', 131 array('id_auteur' => $id_auteur, 'id_objet' => $id_projet_parent, 'objet' => 'projet')); 132 } 133 } elseif (is_int($_id_projet_parent)) { 134 $id_projet_parent = $_id_projet_parent; 135 } 136 } 137 138 // -------------------- 139 // On s'occupe du projet 140 if ($projet) { 141 $champs = array(); 142 $_id_projet = intval($projet); 143 144 if (strlen($_id_projet) != strlen($projet)) { 145 $_id_projet = $projet; 146 } 147 148 // On n'est pas sur un integer mais un string 149 if ($projet and (!is_int($_id_projet) or $_id_projet == 0)) { 150 // On va vérifier que le nom renseigné n'est pas déjà dans la bdd. 151 // Si oui, on prend son id comme référent 152 if ($projet_existant = sql_fetsel('id_projet', 'spip_projets', 'nom=' . sql_quote($projet))) { 153 $id_projet = $projet_existant['id_projet']; 154 } else { 155 // pas de projet existant, donc on peut l'ajouter en BDD 156 $champs['nom'] = $projet; 157 $champs['url_site'] = $fo_url; 158 $champs['date_publication'] = $date; 159 if ($rss_commits) { 160 $champs['versioning_trac'] = $versioning_trac; 161 $champs['versioning_type'] = $versioning_type; 162 $champs['versioning_path'] = $versioning_path; 163 $champs['versioning_rss'] = $versioning_rss; 164 } 165 if ($id_projet_parent and $id_projet_parent != $projet) { 166 $champs['id_projet_parent'] = $id_projet_parent; 167 } 168 if ($type_site == 'prod') { 169 $champs['statut'] = 'production'; 170 } 171 if ($type_site == 'rec') { 172 $champs['statut'] = 'test'; 173 } 174 if ($type_site == 'prep') { 175 $champs['statut'] = 'recette'; 176 } 177 if ($type_site == 'dev') { 178 $champs['statut'] = 'fabrication'; 179 } 180 $id_projet = sql_insertq('spip_projets', $champs); 181 if ($id_projet and $id_auteur) { 182 // On reprend le comportement du plugin PROJETS quand on crée un nouveau projet, 183 // on lie l'auteur au projet qu'il a créé 184 sql_insertq('spip_auteurs_liens', 185 array('id_auteur' => $id_auteur, 'id_objet' => $id_projet, 'objet' => 'projet')); 186 } 187 } 188 } elseif (is_int($_id_projet)) { 189 $id_projet = $_id_projet; 190 } 191 } 192 193 // -------------------- 194 // On s'occupe de l'organisation 195 if ($organisation) { 196 $_id_organisation = intval($organisation); 197 198 if (strlen($_id_organisation) != strlen($organisation)) { 199 $_id_organisation = $organisation; 200 } 201 202 // on n'est pas sur un integer ou mais un string 203 if (!is_int($_id_organisation) or $_id_organisation == 0) { 204 // On vérifie que le nom renseigné n'est pas déjà dans la bdd. 205 // Si oui, on prend son id comme référent 206 if ($organisation_existante = sql_fetsel('id_organisation', 'spip_organisations', 207 'nom=' . sql_quote($organisation)) 208 ) { 209 $id_organisation = $organisation_existante['id_organisation']; 210 spip_log('Organisation #' . $id_organisation . ' existante', 'info_sites'); 211 } else { 212 // Pas d'organisation existante, on la crée en BDD 213 $id_organisation = sql_insertq('spip_organisations', array('nom' => $organisation)); 214 spip_log('Organisation #' . $id_organisation . ' a été créé', 'info_sites'); 215 } 216 // Si la liaison entre le projet parent et l'organisation n'existe pas, 217 // on crée la liaison 218 if ($id_projet_parent and $id_organisation) { 219 sql_insertq('spip_projets_liens', 220 array('id_projet' => $id_projet_parent, 'id_objet' => $id_organisation, 'objet' => 'organisation')); 221 } 222 // Si la liaison entre le projet et l'organisation n'existe pas, 223 // on crée la liaison 224 if ($id_projet and $id_organisation) { 225 sql_insertq('spip_projets_liens', 226 array('id_projet' => $id_projet, 'id_objet' => $id_organisation, 'objet' => 'organisation')); 227 } 228 } elseif (is_int($_id_organisation)) { 229 sql_insertq('spip_projets_liens', 230 array('id_projet' => $id_projet, 'id_objet' => $_id_organisation, 'objet' => 'organisation')); 231 } 232 } 233 234 // -------------------- 235 // Et enfin, on traite le site du projet 236 if ($titre) { 237 $champs = array(); 238 $champs['titre'] = $titre; 239 $champs['type_site'] = ($type_site) ? $type_site : 'prod'; 240 $champs['webservice'] = $webservice; 241 $champs['uniqid'] = ($uniqid) ? $uniqid : ''; 242 $champs['logiciel_nom'] = $logiciel_nom; 243 $champs['logiciel_version'] = $logiciel_version; 244 $champs['fo_url'] = $fo_url; 245 $champs['fo_login'] = $fo_login; 246 $champs['fo_password'] = $fo_password; 247 $champs['bo_url'] = $bo_url; 248 $champs['bo_login'] = $bo_login; 249 $champs['bo_password'] = $bo_password; 250 $champs['date_creation'] = $date; 251 252 $id_projets_site = sql_insertq('spip_projets_sites', $champs); 253 if (is_int($id_projets_site) and is_int($id_projet) and $id_projet != 0) { 254 sql_insertq('spip_projets_sites_liens', 255 array('id_projets_site' => $id_projets_site, 'id_objet' => $id_projet, 'objet' => 'projet')); 256 } 257 } 258 259 // Et hop! On regarde si on n'a pas un id_projet_site 260 // Dans ce cas, erreur... 261 if (!$id_projets_site) { 262 $res['message_erreur'] = _T('enregistrement_ko'); 263 } else { 264 // Le must est que tout se passe bien :-) 265 $res['message_ok'] = _T('enregistrement_ok'); 266 $res['redirect'] = generer_url_entite($id_projets_site, 'projets_site'); 267 } 268 269 return $res; 270 } -
_plugins_/info_sites/branches/v1/squelettes/formulaires/projets_rapide.html
r96690 r101505 14 14 #ACTION_FORMULAIRE{#ENV{action}} 15 15 <fieldset> 16 < ul>16 <[(#VAL{ul}|saisie_balise_structure_formulaire)] class="editer-groupe"> 17 17 18 18 [(#SAISIE{textarea, projets, obligatoire=oui, … … 21 21 rows=10})] 22 22 23 </ ul>23 </[(#VAL{ul}|saisie_balise_structure_formulaire)]> 24 24 </fieldset> 25 25 <p class="boutons"><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p> -
_plugins_/info_sites/branches/v1/squelettes/javascript/infosites.js
r97844 r101505 1 1 // on ajoute les titres de section au sommaire du aside pour faire des liens vers les sections 2 2 3 $(document).ready(function () { 4 function infosites_sommaire(target) { 5 if ($('#aside').length > 0 && $('#aside .block.sommaire').length == 0) { 3 $(document).ready(function (){ 4 infosites_formatage(); 5 function infosites_sommaire(target){ 6 if ($('#aside').length>0 && $('#aside .block.sommaire').length==0){ 6 7 $('#aside').append('<div class="block sommaire hidden-sm hidden-xs"><div class="list-group"></div></div>'); 7 8 } 8 if (target.length > 0){9 target.each(function () 10 if ($("#aside .sommaire div.list-group a[href='#" + $(this).attr('id') + "']").length == 0){9 if (target.length>0){ 10 target.each(function (){ 11 if ($("#aside .sommaire div.list-group a[href='#"+$(this).attr('id')+"']").length==0){ 11 12 $('#aside .sommaire div.list-group').append( 12 13 '<a class="list-group-item" href="#' 13 + $(this).attr('id') +'">'14 + 15 + 14 +$(this).attr('id')+'">' 15 +$(this).text() 16 +'</a>'); 16 17 } 17 18 }); … … 19 20 } 20 21 } 22 function infosites_formatage(){ 23 // On active les tooltips pour la sidebar. 24 $('#aside a').tooltip({ 25 placement: 'top', 26 trigger: 'hover' 27 }); 21 28 22 $(document).ajaxComplete(function () { 29 $('[type=submit]').each(function (event){ 30 if (!$(this).hasClass('btn')){ 31 $(this).addClass('btn btn-default'); 32 } 33 }); 34 35 $('.actions .editbox').each(function (event){ 36 if (!$(this).hasClass('btn')){ 37 $(this).addClass('btn btn-default'); 38 } 39 }); 40 41 $('#content .icone.s24 a').each(function (event){ 42 $(this).addClass('btn btn-default'); 43 }); 44 45 $('.liste-objets.coordonnees .action a').each(function (event){ 46 if (!$(this).hasClass('btn')){ 47 $(this).addClass('btn btn-default'); 48 } 49 }); 50 51 $('table.spip.liste').each(function (event){ 52 $(this).addClass('table table-striped table-bordered'); 53 }); 54 55 var rows = $(".page_diagnostic_iso #content table tr.data"); 56 rows.each(function (){ 57 var cells = $(this).find('td'); 58 59 for (var i = 1; i<cells.length; i++){ 60 if (cells.eq(1).html()!=cells.eq(i).html()){ 61 cells.eq(1).addClass('bg-warning'); 62 cells.eq(i).addClass('bg-warning'); 63 } 64 } 65 $(this).find("table tr td").each(function (){ 66 $(this).removeClass('bg-warning'); 67 }); 68 }); 69 70 $('.liste-objets.commits .commit span.titre').click(function (event){ 71 event.preventDefault(); 72 var target = $(this); 73 var fiche = target.closest('tr').next('.fiche_commit'); 74 if (fiche.hasClass('hidden')){ 75 fiche.addClass('visible').removeClass('hidden'); 76 target.addClass('ouvert').removeClass('ferme'); 77 target.find('i').addClass('fa-angle-double-down').removeClass('fa-angle-double-right'); 78 } else if (fiche.hasClass('visible')){ 79 fiche.addClass('hidden').removeClass('visible'); 80 target.addClass('ferme').removeClass('ouvert'); 81 target.find('i').addClass('fa-angle-double-right').removeClass('fa-angle-double-down'); 82 } 83 }); 84 } 85 86 $(document).ajaxComplete(function (){ 23 87 infosites_sommaire($('.contenu .legend')); 24 88 infosites_sommaire($('#extra .legend')); 25 // On active les tooltips pour la sidebar. 26 $('#aside a').tooltip({ 27 placement: 'top', 28 trigger: 'hover' 29 }); 30 31 $('[type=submit]').each(function (event) { 32 if (!$(this).hasClass('btn')) { 33 $(this).addClass('btn btn-default'); 34 } 35 }); 36 37 $('.actions .editbox').each(function (event) { 38 if (!$(this).hasClass('btn')) { 39 $(this).addClass('btn btn-default'); 40 } 41 }); 42 43 $('#content .icone.s24 a').each(function (event) { 44 $(this).addClass('btn btn-default'); 45 }); 46 47 $('.liste-objets.coordonnees .action a').each(function (event) { 48 if (!$(this).hasClass('btn')) { 49 $(this).addClass('btn btn-default'); 50 } 51 }); 52 53 $('table.spip.liste').each(function (event) { 54 $(this).addClass('table table-striped table-bordered'); 55 }); 56 57 var rows = $(".page_diagnostic_iso #content table tr.data"); 58 rows.each(function () { 59 var cells = $(this).find('td'); 60 61 for (var i = 1; i < cells.length; i++) { 62 if (cells.eq(1).html() != cells.eq(i).html()) { 63 cells.eq(1).addClass('bg-warning'); 64 cells.eq(i).addClass('bg-warning'); 65 } 66 } 67 $(this).find("table tr td").each(function () { 68 $(this).removeClass('bg-warning'); 69 }); 70 }); 71 72 $('.liste-objets.commits .commit span.titre').click(function (event) { 73 event.preventDefault(); 74 var target = $(this); 75 var fiche = target.closest('tr').next('.fiche_commit'); 76 if (fiche.hasClass('hidden')) { 77 fiche.addClass('visible').removeClass('hidden'); 78 target.addClass('ouvert').removeClass('ferme'); 79 target.find('i').addClass('fa-angle-double-down').removeClass('fa-angle-double-right'); 80 } else if (fiche.hasClass('visible')) { 81 fiche.addClass('hidden').removeClass('visible'); 82 target.addClass('ferme').removeClass('ouvert'); 83 target.find('i').addClass('fa-angle-double-right').removeClass('fa-angle-double-down'); 84 } 85 }); 86 89 infosites_formatage(); 87 90 }); 88 91 }); -
_plugins_/info_sites/branches/v1/squelettes/objets/infos/projet.html
r100283 r101505 10 10 </BOUCLE_autresobjets> 11 11 </B_autresobjets> 12 <B_contacts> 13 <div class="list-group-item"> 14 <div class="list-group-item-heading"><strong>[(#VAL{contact}|objet_info{texte_objet}|_T)]</strong></div> 15 <div class="list-group-item-text" dir="#LANG_DIR"><BOUCLE_contacts (CONTACTS) {id_projet} {par nom} {', '}><a href="[(#URL_CONTACT)]">[(#NOM)][, (#PRENOM)]</a></BOUCLE_contacts></div> 16 </div> 17 </B_contacts> 12 18 [(#ENV{titre_projet,non}|=={oui}|oui) 13 19 <div class="list-group-item"> -
_plugins_/info_sites/branches/v1/squelettes/objets/liste/contacts.html
r100283 r101505 17 17 <BOUCLE_filtre_annuaires (ANNUAIRES){par titre}> 18 18 <li> 19 <BOUCLE_comptage_contacts_annuaire (CONTACTS){id_annuaire}/>#SET{nb_contacts,#TOTAL_BOUCLE}<//B_comptage_contacts_annuaire>19 <BOUCLE_comptage_contacts_annuaire (CONTACTS) {id_annuaire}/>#SET{nb_contacts,#TOTAL_BOUCLE}<//B_comptage_contacts_annuaire> 20 20 [(#ENV{id_annuaire}|=={#ID_ANNUAIRE}|?{<strong>, <a class="ajax" href="[(#SELF|parametre_url{id_annuaire,#ID_ANNUAIRE})]">})] 21 21 #TITRE (#GET{nb_contacts}) … … 24 24 </BOUCLE_filtre_annuaires> 25 25 <li> 26 <BOUCLE_comptage_contacts_aucun (ORGANISATIONS) {id_annuaire=0}/> #SET{nb_contacts,#TOTAL_BOUCLE}<//B_comptage_contacts_aucun>26 <BOUCLE_comptage_contacts_aucun (ORGANISATIONS) {id_annuaire=0}/> #SET{nb_contacts,#TOTAL_BOUCLE}<//B_comptage_contacts_aucun> 27 27 [(#ENV{id_annuaire}|=={0}|?{<strong>, <a class="ajax" href="[(#SELF|parametre_url{id_annuaire,0})]">})] 28 28 <:contacts:annuaire_aucun:> (#GET{nb_contacts}) -
_plugins_/info_sites/branches/v1/squelettes/objets/liste/projets_cadres.html
r98661 r101505 15 15 </thead> 16 16 <tbody> 17 <BOUCLE_liste_projets_cadres (PROJETS_CADRES) {id_mot?} {id_auteur?} {where?} {recherche?} {tri #ENV{par,num titre},#GET{defaut_tri}} {pagination #ENV{nb,10} #ENV{pagination_id,'_liste_projets_cadres'}}>17 <BOUCLE_liste_projets_cadres (PROJETS_CADRES) {id_mot?} {id_auteur?} {where?} {recherche?} {tri #ENV{par,num titre},#GET{defaut_tri}} {pagination #ENV{nb,10} #ENV{pagination_id,'_liste_projets_cadres'}}> 18 18 <tr class='[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]'> 19 19 <td class='titre principale'>[(#LOGO_PROJETS_CADRE|image_reduire{20,26})]<a href="[(#ID_PROJETS_CADRE|generer_url_entite{projets_cadre})]" title="<:info_numero_abbreviation|attribut_html:> #ID_PROJETS_CADRE">[(#RANG). ]#TITRE</a></td> -
_plugins_/info_sites/branches/v1/squelettes/objets/liste/projets_sites.html
r98661 r101505 23 23 </thead> 24 24 <tbody> 25 <BOUCLE_liste_projets_sites(PROJETS_SITES) {id_projet s_site?} {id_projet?} {type_site ?} {logiciel_nom ?} {logiciel_version ?} {fo_url ?} {id_mot?} {where?} {statut?} {recherche?} {tri #ENV{par,titre},#GET{defaut_tri}} {pagination #ENV{nb,10} #ENV{pagination_id,'_liste_projets_sites'}}>25 <BOUCLE_liste_projets_sites(PROJETS_SITES) {id_projet?} {type_site ?} {logiciel_nom ?} {logiciel_version ?} {fo_url ?} {id_mot?} {where?} {statut?} {recherche?} {tri #ENV{par,titre},#GET{defaut_tri}} {pagination #ENV{nb,10} #ENV{pagination_id,'_liste_projets_sites'}}> 26 26 <tr class='[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]'> 27 27 <td class='titre principale'><a href="[(#ID_PROJETS_SITE|generer_url_entite{projets_site})]" title="<:info_numero_abbreviation|attribut_html:> #ID_PROJETS_SITE">[(#RANG). ]#TITRE</a></td>
Note: See TracChangeset
for help on using the changeset viewer.