source: spip-zone/_plugins_/askwiki/trunk/action/remplir_champ.php @ 119770

Last change on this file since 119770 was 119770, checked in by toutati@…, 11 months ago

Attention, DEV en cours

Pour le moment :

  • ne fonctionne qu'avec CURL
  • Ne fonctionne que sur un objet, soit contact du plugin Contacts & Organisations

Il faut ajouter les champs sur la table spip_contacts, avec par exmple le plugin cextras

  • date_naissance
  • date_deces
  • page_wikipedia
  • phrase_wikipedia

Todo -> installer une librairie WP

File size: 1.5 KB
Line 
1<?php
2// Sécurité
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7/**
8 * Action pour remplir un champ donné sur un objet donné
9 *
10 * @param null|string $arg
11 *     string `quoi/champ/objet/id_objet/` tel que `1898-10-14 00:00:00/date_naissance/contact/8/`
12 *     string `quoi/champ/objet/id_objet/` tel que `1980-10-08 00:00:00/date_deces/contact/8/`
13 * utilisation dans un squelette
14 * [(#BOUTON_ACTION{
15   '<:remplir_champ_date_naissance:>',
16    #URL_ACTION_AUTEUR{remplir_champ,1898-10-14 00:00:00/date_naissance/#OBJET/#ID_OBJET,#SELF},
17    ajax})]
18 *
19 * @return array
20 *     Liste (identifiant de l'objet, Texte d'erreur éventuel)
21 */
22function action_remplir_champ_dist($arg=null) {
23        if (is_null($arg)){
24                $securiser_action = charger_fonction('securiser_action', 'inc');
25                $arg = $securiser_action();
26        }
27       
28        //`quoi/champ/objet/id_objet/`
29        $args = explode('/', $arg);
30        $quoi = $args[0];
31        $champ = $args[1];
32        $objet = $args[2];
33        $id_objet = $args[3];
34       
35       
36        // Enregistrer dans la BDD
37        if ($id_objet > 0) {
38                $err = remplir_champ($quoi,$champ,$objet,$id_objet);
39        }
40
41        return array($id_objet, $err);
42}
43
44function remplir_champ($quoi,$champ,$objet,$id_objet){
45       
46        $id_table_objet = id_table_objet($objet); //date_naissance
47        $table = table_objet_sql($objet); //spip_contacts
48       
49        // verifier que le champ existe pour continuer
50        if ($verifier = sql_getfetsel($champ, $table, "$id_table_objet = ".sql_quote($id_objet))){
51               
52                $set = array(
53                        $champ => $quoi
54                );
55                       
56                include_spip('action/editer_objet');
57                objet_modifier($objet, $id_objet, $set);
58        }
59
60        return $id_objet;
61}
Note: See TracBrowser for help on using the repository browser.