本文整理汇总了PHP中objet_modifier_champs函数的典型用法代码示例。如果您正苦于以下问题:PHP objet_modifier_champs函数的具体用法?PHP objet_modifier_champs怎么用?PHP objet_modifier_champs使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了objet_modifier_champs函数的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: auteur_modifier
/**
* Appelle toutes les fonctions de modification d'un auteur
*
* @param int $id_auteur
* @param array $set
* @param bool $force_update
* permet de forcer la maj en base des champs fournis, sans passer par instancier
* utilise par auth/spip
* @return string
*/
function auteur_modifier($id_auteur, $set = null, $force_update = false)
{
include_spip('inc/modifier');
include_spip('inc/filtres');
$c = collecter_requests(objet_info('auteur', 'champs_editables'), $force_update ? array() : array('webmestre', 'pass', 'login'), $set);
if ($err = objet_modifier_champs('auteur', $id_auteur, array('nonvide' => array('nom' => _T('ecrire:item_nouvel_auteur'))), $c)) {
return $err;
}
$session = $c;
$err = '';
if (!$force_update) {
// Modification de statut, changement de rubrique ?
$c = collecter_requests(array('statut', 'new_login', 'new_pass', 'login', 'pass', 'webmestre', 'restreintes', 'id_parent'), array(), $set);
if (isset($c['new_login']) and !isset($c['login'])) {
$c['login'] = $c['new_login'];
}
if (isset($c['new_pass']) and !isset($c['pass'])) {
$c['pass'] = $c['new_pass'];
}
$err = auteur_instituer($id_auteur, $c);
$session = array_merge($session, $c);
}
// .. mettre a jour les sessions de cet auteur
include_spip('inc/session');
$session['id_auteur'] = $id_auteur;
unset($session['new_login']);
unset($session['new_pass']);
actualiser_sessions($session);
return $err;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:40,代码来源:editer_auteur.php
示例2: mot_modifier
/**
* Modifier un mot
* @param int $id_mot
* @param array $set
* @return string
*/
function mot_modifier($id_mot, $set = null)
{
include_spip('inc/modifier');
$c = collecter_requests(array('titre', 'descriptif', 'texte', 'id_groupe'), array('id_groupe'), $set);
if ($err = objet_modifier_champs('mot', $id_mot, array('nonvide' => array('titre' => _T('info_sans_titre'))), $c)) {
return $err;
}
$c = collecter_requests(array('id_groupe', 'type'), array(), $set);
$err = mot_instituer($id_mot, $c);
return $err;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:17,代码来源:editer_mot.php
示例3: souscription_modifier
/**
* Modifier une souscription
*
* $c est un contenu (par defaut on prend le contenu via _request())
*
* @param int $id_souscription
* @param array|bool $set
* @return string
*/
function souscription_modifier($id_souscription, $set = false)
{
include_spip('inc/modifier');
$c = collecter_requests(objet_info('souscription', 'champs_editables'), array(), $set);
/* Récupération du nom du pays */
$code_pays = _request('pays');
$pays = sql_getfetsel(sql_multi("nom", $GLOBALS['spip_lang']), 'spip_pays', "code=" . sql_quote($code_pays));
$c = array_merge($c, array("pays" => $pays));
if ($err = objet_modifier_champs('souscription', $id_souscription, array(), $c)) {
return $err;
}
}
开发者ID:attacfr,项目名称:spip_souscription,代码行数:21,代码来源:editer_souscription.php
示例4: signature_modifier
/**
* Mettre a jour une signature existante
*
* @param int $id_signature
* @param array $set
* @return string
*/
function signature_modifier($id_signature, $set = null)
{
$err = '';
include_spip('inc/modifier');
$c = collecter_requests(array("nom_email", "ad_email", "nom_site", "url_site", "message", "statut"), array('statut', 'id_petition', 'date_time'), $set);
if ($err = objet_modifier_champs('signature', $id_signature, array('nonvide' => array('nom_email' => _T('info_sans_titre'))), $c)) {
return $err;
}
// Modification de statut
$c = collecter_requests(array('statut', 'id_petition', 'date_time'), array(), $set);
$err .= signature_instituer($id_signature, $c);
return $err;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:20,代码来源:editer_signature.php
示例5: petition_modifier
/**
* Mettre a jour une petition existante
*
* @param int $id_petition
* @param array $set
* @return string
*/
function petition_modifier($id_petition, $set = null)
{
$err = '';
include_spip('inc/modifier');
$c = collecter_requests(array("email_unique", "site_obli", "site_unique", "message", "texte"), array('statut', 'id_article'), $set);
if ($err = objet_modifier_champs('petition', $id_petition, array(), $c)) {
return $err;
}
// changement d'article ou de statut ?
$c = collecter_requests(array('statut', 'id_article'), array(), $set);
$err .= petition_instituer($id_petition, $c);
return $err;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:20,代码来源:editer_petition.php
示例6: revision_forum
function revision_forum($id_forum, $c = false)
{
$t = sql_fetsel("*", "spip_forum", "id_forum=" . intval($id_forum));
if (!$t) {
spip_log("erreur forum {$id_forum} inexistant");
return;
}
// Calculer l'invalideur des caches lies a ce forum
if ($t['statut'] == 'publie') {
include_spip('inc/invalideur');
$invalideur = array("id='forum/{$id_forum}'", "id='" . $t['objet'] . "/" . $t['id_objet'] . "'");
} else {
$invalideur = '';
}
// Supprimer 'http://' tout seul
if (isset($c['url_site'])) {
include_spip('inc/filtres');
$c['url_site'] = vider_url($c['url_site'], false);
}
$err = objet_modifier_champs('forum', $id_forum, array('nonvide' => array('titre' => _T('info_sans_titre')), 'invalideur' => $invalideur), $c);
$t = $t["id_thread"];
$cles = array();
foreach (array('id_objet', 'objet') as $k) {
if (isset($c[$k]) and $c[$k]) {
$cles[$k] = $c[$k];
}
}
// Modification des id_article etc
// (non autorise en standard mais utile pour des crayons)
// on deplace tout le thread {sauf les originaux}.
if (count($cles) and $t) {
spip_log("update thread id_thread={$t} avec " . var_export($cles, 1), 'forum.' . _LOG_INFO_IMPORTANTE);
sql_updateq("spip_forum", $cles, "id_thread=" . intval($t) . " AND statut!='original'");
// on n'affecte pas $r, car un deplacement ne change pas l'auteur
}
// s'il y a vraiment eu une modif, on
// enregistre le nouveau date_thread
if ($err === '') {
// on ne stocke ni le numero IP courant ni le nouvel id_auteur
// dans le message modifie (trop penible a l'usage) ; mais du
// coup attention a la responsabilite editoriale
/*
sql_updateq('spip_forum', array('ip'=>($GLOBALS['ip']), 'id_auteur'=>($GLOBALS['visiteur_session']['id_auteur'])),"id_forum=".intval($id_forum));
*/
// & meme ca ca pourrait etre optionnel
sql_updateq("spip_forum", array("date_thread" => date('Y-m-d H:i:s')), "id_thread=" . $t);
}
}
开发者ID:jazzman346,项目名称:CAC_Site,代码行数:48,代码来源:editer_forum.php
示例7: breve_modifier
/**
* Modifier une breve en base
* $c est un contenu (par defaut on prend le contenu via _request())
*
* http://code.spip.net/@revisions_breves
*
* @param int $id_breve
* @param array $set
* @return string|bool
*/
function breve_modifier($id_breve, $set = null)
{
include_spip('inc/modifier');
$c = collecter_requests(array('titre', 'texte', 'lien_titre', 'lien_url'), array('id_parent', 'statut'), $set);
// Si la breve est publiee, invalider les caches et demander sa reindexation
$t = sql_getfetsel("statut", "spip_breves", "id_breve={$id_breve}");
if ($t == 'publie') {
$invalideur = "id='breve/{$id_breve}'";
$indexation = true;
}
if ($err = objet_modifier_champs('breve', $id_breve, array('nonvide' => array('titre' => _T('breves:titre_nouvelle_breve') . " " . _T('info_numero_abbreviation') . $id_breve), 'invalideur' => $invalideur, 'indexation' => $indexation), $c)) {
return $err;
}
$c = collecter_requests(array('id_parent', 'statut'), array(), $set);
$err = breve_instituer($id_breve, $c);
return $err;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:27,代码来源:editer_breve.php
示例8: zone_modifier
/**
* Modifier une zone en base
* $c est un contenu (par defaut on prend le contenu via _request())
*
* @param int $id_zone
* @param array $set
* @return string|bool
*/
function zone_modifier($id_zone, $set = null)
{
include_spip('inc/modifier');
$c = collecter_requests(array('titre', 'descriptif', 'publique', 'privee'), array(), $set);
// Si la zone est publiee, invalider les caches et demander sa reindexation
$invalideur = $indexation = '';
$t = sql_getfetsel("statut", "spip_zones", "id_zone={$id_zone}");
if ($t == 'publie') {
$invalideur = "id='zone/{$id_zone}'";
$indexation = true;
}
if ($err = objet_modifier_champs('zone', $id_zone, array('nonvide' => array('titre' => _T('info_sans_titre')), 'invalideur' => $invalideur, 'indexation' => $indexation), $c)) {
return $err;
}
zone_lier($id_zone, 'rubrique', _request('rubriques'), 'set');
return $err;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:25,代码来源:editer_zone.php
示例9: groupemots_modifier
/**
* Modifier un groupe de mot
* @param int $id_groupe
* @param array|null $set
* @return string
*/
function groupemots_modifier($id_groupe, $set = null)
{
$err = '';
include_spip('inc/modifier');
$c = collecter_requests(array('titre', 'descriptif', 'texte', 'tables_liees', 'obligatoire', 'unseul', 'comite', 'forum', 'minirezo'), array(), $set);
// normaliser les champ oui/non
foreach (array('obligatoire', 'unseul', 'comite', 'forum', 'minirezo') as $champ) {
if (isset($c[$champ])) {
$c[$champ] = $c[$champ] == 'oui' ? 'oui' : 'non';
}
}
if (isset($c['tables_liees']) and is_array($c['tables_liees'])) {
$c['tables_liees'] = implode(',', array_diff($c['tables_liees'], array('')));
}
$err = objet_modifier_champs('groupe_mot', $id_groupe, array('nonvide' => array('titre' => _T('info_sans_titre'))), $c);
return $err;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:23,代码来源:editer_groupe_mots.php
示例10: reservation_credit_modifier
/**
* Appelle toutes les fonctions de modification d'un objet
* $err est un message d'erreur eventuelle
*
* @param string 'spip_reservation_credit_mouvement'
* @param int $id
* @param array|null $set
* @return mixed|string
*/
function reservation_credit_modifier($id, $set = null)
{
spip_log($ste, 'teste');
$table_sql = 'spip_reservation_credits';
$trouver_table = charger_fonction('trouver_table', 'base');
$desc = $trouver_table($table_sql);
if (!$desc or !isset($desc['field'])) {
spip_log("Objet 'spip_reservation_credit_mouvement' inconnu dans objet_modifier", _LOG_ERREUR);
return _L("Erreur objet 'spip_reservation_credit_mouvement' inconnu");
}
include_spip('inc/modifier');
$champ_date = 'date_creation';
$white = array_keys($desc['field']);
// on ne traite pas la cle primaire par defaut, notamment car
// sur une creation, id_x vaut 'oui', et serait enregistre en id_x=0 dans la base
$white = array_diff($white, array($desc['key']['PRIMARY KEY']));
if (isset($desc['champs_editables']) and is_array($desc['champs_editables'])) {
$white = $desc['champs_editables'];
}
$c = collecter_requests($white, array($champ_date, 'statut', 'id_parent', 'id_secteur'), $set);
$c['id_reservation_credit'] = $id_reservation_credit;
// Si l'objet est publie, invalider les caches et demander sa reindexation
if (objet_test_si_publie('reservation_credit', $id)) {
$invalideur = "id='reservation_credit_mouvement/{$id}'";
$indexation = true;
} else {
$invalideur = "";
$indexation = false;
}
if ($err = objet_modifier_champs('reservation_credit', $id, array('nonvide' => '', 'invalideur' => $invalideur, 'indexation' => $indexation, 'date_modif' => isset($desc['field']['date_modif']) ? 'date_modif' : ''), $c)) {
return $err;
}
// Modification de statut, changement de rubrique ?
// FIXME: Ici lorsqu'un $set est passé, la fonction collecter_requests() retourne tout
// le tableau $set hors black liste, mais du coup on a possiblement des champs en trop.
$c = collecter_requests(array($champ_date, 'statut', 'id_parent'), array(), $set);
$err = objet_instituer('reservation_credit', $id, $c);
return $err;
}
开发者ID:abelass,项目名称:reservations_credits,代码行数:48,代码来源:editer_reservation_credit.php
示例11: article_modifier
/**
* Appelle toutes les fonctions de modification d'un article
* $err est de la forme chaine de langue ou vide si pas d'erreur
* http://doc.spip.org/@articles_set
*
* @param $id_article
* @param null $set
* @return string
*/
function article_modifier($id_article, $set = null)
{
// unifier $texte en cas de texte trop long
trop_longs_articles();
include_spip('inc/modifier');
include_spip('inc/filtres');
$c = collecter_requests(objet_info('article', 'champs_editables'), array('date', 'statut', 'id_parent'), $set);
// Si l'article est publie, invalider les caches et demander sa reindexation
$t = sql_getfetsel("statut", "spip_articles", "id_article=" . intval($id_article));
$invalideur = $indexation = false;
if ($t == 'publie') {
$invalideur = "id='article/{$id_article}'";
$indexation = true;
}
if ($err = objet_modifier_champs('article', $id_article, array('nonvide' => array('titre' => _T('info_nouvel_article') . " " . _T('info_numero_abbreviation') . $id_article), 'invalideur' => $invalideur, 'indexation' => $indexation, 'date_modif' => 'date_modif'), $c)) {
return $err;
}
// Modification de statut, changement de rubrique ?
$c = collecter_requests(array('date', 'statut', 'id_parent'), array(), $set);
$err = article_instituer($id_article, $c);
return $err;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:31,代码来源:editer_article.php
示例12: document_modifier
/**
* Enregistre une revision de document.
* $set est un contenu (par defaut on prend le contenu via _request())
*
* @param int $id_document
* @param array|bool $set
*/
function document_modifier($id_document, $set = false)
{
include_spip('inc/modifier');
include_spip('inc/filtres');
// champs normaux
$champs = collecter_requests(objet_info('document', 'champs_editables'), array('parents', 'ajout_parents'), $set);
$invalideur = "";
$indexation = false;
// Si le document est publie, invalider les caches et demander sa reindexation
$t = sql_getfetsel("statut", "spip_documents", 'id_document=' . intval($id_document));
if ($t == 'publie') {
$invalideur = "id='id_document/{$id_document}'";
$indexation = true;
}
$ancien_fichier = "";
// si le fichier est modifie, noter le nom de l'ancien pour faire le menage
if (isset($champs['fichier'])) {
$ancien_fichier = sql_getfetsel('fichier', 'spip_documents', 'id_document=' . intval($id_document));
}
if ($err = objet_modifier_champs('document', $id_document, array('invalideur' => $invalideur, 'indexation' => $indexation), $champs)) {
return $err;
}
// nettoyer l'ancien fichier si necessaire
if ($champs['fichier'] and $ancien_fichier and $ancien_fichier !== $champs['fichier'] and @file_exists($f = get_spip_doc($ancien_fichier))) {
spip_unlink($f);
}
// Changer le statut du document ?
// le statut n'est jamais fixe manuellement mais decoule de celui des objets lies
$champs = collecter_requests(array('parents', 'ajouts_parents'), array(), $set);
if (document_instituer($id_document, $champs)) {
//
// Post-modifications
//
// Invalider les caches
include_spip('inc/invalideur');
suivre_invalideur("id='id_document/{$id_document}'");
}
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:45,代码来源:editer_document.php
示例13: evenement_modifier
/**
* Modifier un evenement existant
*
* @param int $id_evenement
* @param array $set
* @return bool|string
*/
function evenement_modifier($id_evenement, $set = null)
{
include_spip('inc/modifier');
include_spip('inc/filtres');
$c = collecter_requests(objet_info('evenement', 'champs_editables'), array('statut', 'id_article'), $set);
// Si l'evenement est publie, invalider les caches et demander sa reindexation
$t = sql_getfetsel('statut', 'spip_evenements', 'id_evenement=' . intval($id_evenement));
$invalideur = $indexation = false;
if ($t == 'publie') {
$invalideur = "id='evenement/{$id_evenement}'";
$indexation = true;
}
if ($err = objet_modifier_champs('evenement', $id_evenement, array('data' => $set, 'nonvide' => array('titre' => _T('info_nouvel_evenement') . ' ' . _T('info_numero_abbreviation') . $id_evenement), 'invalideur' => $invalideur, 'indexation' => $indexation), $c)) {
return $err;
}
if (!is_null($repetitions = _request('repetitions', $set))) {
agenda_action_revision_evenement_repetitions($id_evenement, $repetitions);
}
// Modification de statut, changement de parent ?
$c = collecter_requests(array('statut', 'id_parent'), array(), $set);
$err = evenement_instituer($id_evenement, $c);
return $err;
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:30,代码来源:editer_evenement.php
示例14: remplace_en_base
function remplace_en_base($recherche = '', $remplace = NULL, $tables = NULL, $options = array())
{
include_spip('inc/modifier');
// options par defaut
$options = array_merge(array('preg_flags' => 'UimsS', 'toutmodifier' => false), $options);
$options['champs'] = true;
if (!is_array($tables)) {
$tables = liste_des_champs();
}
$results = recherche_en_base($recherche, $tables, $options);
$preg = '/' . str_replace('/', '\\/', $recherche) . '/' . $options['preg_flags'];
foreach ($results as $table => $r) {
$_id_table = id_table_objet($table);
foreach ($r as $id => $x) {
if ($options['toutmodifier'] or autoriser('modifier', $table, $id)) {
$modifs = array();
foreach ($x['champs'] as $key => $val) {
if ($key == $_id_table) {
next;
}
$repl = preg_replace($preg, $remplace, $val);
if ($repl != $val) {
$modifs[$key] = $repl;
}
}
if ($modifs) {
objet_modifier_champs($table, $id, array('champs' => array_keys($modifs)), $modifs);
}
}
}
}
}
开发者ID:JLuc,项目名称:SPIP,代码行数:32,代码来源:rechercher.php
示例15: site_modifier
/**
* Modifier un site
*
* $c est un contenu (par defaut on prend le contenu via _request())
*
* @param int $id_syndic
* @param array|bool $set
* @return string
*/
function site_modifier($id_syndic, $set = false)
{
$resyndiquer = false;
include_spip('inc/rubriques');
include_spip('inc/modifier');
$c = collecter_requests(array('nom_site', 'url_site', 'descriptif', 'url_syndic', 'syndication', 'moderation', 'miroir', 'oubli', 'resume'), array('statut', 'id_parent', 'date'), $set);
// resyndiquer si un element de syndication modifie
if ($t = sql_fetsel('url_syndic,syndication,resume', 'spip_syndic', "id_syndic=" . intval($id_syndic))) {
foreach ($t as $k => $v) {
if (isset($c[$k]) and $v != $c[$k]) {
$resyndiquer = true;
}
}
}
// Si le site est publie, invalider les caches et demander sa reindexation
$t = sql_getfetsel("statut", "spip_syndic", "id_syndic=" . intval($id_syndic));
if ($t == 'publie') {
$invalideur = "id='site/{$id_syndic}'";
$indexation = true;
}
if ($err = objet_modifier_champs('site', $id_syndic, array('nonvide' => array('nom_site' => _T('info_sans_titre')), 'invalideur' => $invalideur, 'indexation' => $indexation), $c)) {
return $err;
}
if ($resyndiquer and sql_getfetsel('syndication', 'spip_syndic', "id_syndic=" . intval($id_syndic)) !== 'non') {
$syndiquer_site = charger_fonction('syndiquer_site', 'action');
$syndiquer_site($id_syndic);
}
// Modification de statut, changement de rubrique ?
$c = collecter_requests(array('date', 'statut', 'id_parent'), array(), $set);
include_spip('action/editer_objet');
$err = objet_instituer('site', $id_syndic, $c);
return $err;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:42,代码来源:editer_site.php
示例16: inserer_article_syndique
//.........这里部分代码省略.........
* Si true, un lien déjà syndiqué arrivant par une autre source est ignoré
* par defaut `false`, chaque source a sa liste de liens, éventuellement les mêmes
*
* @var bool
*/
if (!defined('_SYNDICATION_URL_UNIQUE')) {
define('_SYNDICATION_URL_UNIQUE', false);
}
/**
* Actualiser les contenus syndiqués
*
* Si false, on ne met pas à jour un lien déjà syndiqué avec ses nouvelles
* données ; par defaut `true` : on met a jour si le contenu a changé
*
* Attention si on modifie à la main un article syndiqué, les modifs sont
* écrasées lors de la syndication suivante
*
* @var bool
**/
if (!defined('_SYNDICATION_CORRECTION')) {
define('_SYNDICATION_CORRECTION', true);
}
// est-ce un nouvel article ?
$ajout = false;
// Chercher les liens de meme cle
// S'il y a plusieurs liens qui repondent, il faut choisir le plus proche
// (ie meme titre et pas deja fait), le mettre a jour et ignorer les autres
$n = 0;
$s = sql_select("id_syndic_article,titre,id_syndic,statut", "spip_syndic_articles", "url=" . sql_quote($le_lien) . (_SYNDICATION_URL_UNIQUE ? '' : " AND id_syndic={$now_id_syndic}") . " AND " . sql_in('id_syndic_article', $faits, 'NOT'), "", "maj DESC");
while ($a = sql_fetch($s)) {
$id = $a['id_syndic_article'];
$id_syndic = $a['id_syndic'];
if ($a['titre'] == $data['titre']) {
$id_syndic_article = $id;
break;
}
$n++;
}
// S'il y en avait qu'un, le prendre quel que soit le titre
if ($n == 1) {
$id_syndic_article = $id;
} elseif (!isset($id_syndic_article)) {
$champs = array('id_syndic' => $now_id_syndic, 'url' => $le_lien, 'date' => date("Y-m-d H:i:s", $data['date'] ? $data['date'] : $data['lastbuilddate']), 'statut' => $statut);
// Envoyer aux plugins
$champs = pipeline('pre_insertion', array('args' => array('table' => 'spip_syndic_articles'), 'data' => $champs));
$ajout = $id_syndic_article = sql_insertq('spip_syndic_articles', $champs);
if (!$ajout) {
return;
}
pipeline('post_insertion', array('args' => array('table' => 'spip_syndic_articles', 'id_objet' => $id_syndic_article), 'data' => $champs));
}
$faits[] = $id_syndic_article;
// Si le lien n'est pas nouveau, plusieurs options :
if (!$ajout) {
// 1. Lien existant : on corrige ou pas ?
if (!_SYNDICATION_CORRECTION) {
return;
}
// 2. Le lien existait deja, lie a un autre spip_syndic
if (_SYNDICATION_URL_UNIQUE and $id_syndic != $now_id_syndic) {
return;
}
}
// Descriptif, en mode resume ou mode 'full text'
// on prend en priorite data['descriptif'] si on est en mode resume,
// et data['content'] si on est en mode "full syndication"
if ($resume != 'non') {
// mode "resume"
$desc = (isset($data['descriptif']) and strlen($data['descriptif'])) ? $data['descriptif'] : (isset($data['content']) ? $data['content'] : '');
$desc = couper(trim_more(textebrut($desc)), 300);
} else {
// mode "full syndication"
// choisir le contenu pertinent
// & refaire les liens relatifs
$desc = strlen($data['content']) ? $data['content'] : $data['descriptif'];
$desc = liens_absolus($desc, $url_syndic);
}
// tags & enclosures (preparer spip_syndic_articles.tags)
$tags = $data['enclosures'] ? $data['enclosures'] : '';
# eviter les doublons (cle = url+titre) et passer d'un tableau a une chaine
if ($data['tags']) {
$vus = array();
foreach ($data['tags'] as $tag) {
$cle = supprimer_tags($tag) . extraire_attribut($tag, 'href');
$vus[$cle] = $tag;
}
$tags .= ($tags ? ', ' : '') . join(', ', $vus);
}
// Mise a jour du contenu (titre,auteurs,description,date?,source...)
$vals = array('titre' => $data['titre'], 'lesauteurs' => $data['lesauteurs'], 'descriptif' => $desc, 'lang' => substr($data['lang'], 0, 10), 'source' => isset($data['source']) ? substr($data['source'], 0, 255) : '', 'url_source' => isset($data['url_source']) ? substr($data['url_source'], 0, 255) : '', 'tags' => $tags);
// Mettre a jour la date si lastbuilddate
if (isset($data['lastbuilddate']) and $data['lastbuilddate']) {
$vals['date'] = date("Y-m-d H:i:s", $data['lastbuilddate']);
}
include_spip('inc/modifier');
objet_modifier_champs('syndic_article', $id_syndic_article, array('data' => $vals, 'action' => 'syndiquer'), $vals);
// Point d'entree post_syndication
pipeline('post_syndication', array('args' => array('table' => 'spip_syndic_articles', 'id_objet' => $id_syndic_article, 'url' => $le_lien, 'id_syndic' => $now_id_syndic, 'ajout' => $ajout), 'data' => $data));
return $ajout;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:101,代码来源:syndic.php
示例17: rubrique_modifier
/**
* Modifier une rubrique en base
*
* @param int $id_rubrique
* Identifiant de la rubrique modifiée
* @param array|null $set
* Tableau qu'on peut proposer en lieu et place de _request()
* @return bool|string
* - false : Aucune modification, aucun champ n'est à modifier
* - chaîne vide : Vide si tout s'est bien passé
* - chaîne : Texte d'un message d'erreur
*/
function rubrique_modifier($id_rubrique, $set = null)
{
include_spip('inc/autoriser');
include_spip('inc/filtres');
include_spip('inc/modifier');
$c = collecter_requests(objet_info('rubrique', 'champs_editables'), array('id_parent', 'confirme_deplace'), $set);
if ($err = objet_modifier_champs('rubrique', $id_rubrique, array('data' => $set, 'nonvide' => array('titre' => _T('titre_nouvelle_rubrique') . " " . _T('info_numero_abbreviation') . $id_rubrique)), $c)) {
return $err;
}
$c = collecter_requests(array('id_parent', 'confirme_deplace'), array(), $set);
// Deplacer la rubrique
if (isset($c['id_parent'])) {
$err = rubrique_instituer($id_rubrique, $c);
}
// invalider les caches marques de cette rubrique
include_spip('inc/invalideur');
suivre_invalideur("id='rubrique/{$id_rubrique}'");
// et celui de menu_rubriques
effacer_meta("date_calcul_rubriques");
return $err;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:33,代码来源:editer_rubrique.php
示例18: modifier_contenu
/**
* Modifie un contenu
*
* Dépreciée :
* Fonction générique pour l'API de modification de contenu
*
* @deprecated
* @param string $type
* Type d'objet
* @param int $id
* Identifiant de l'objet
* @param array $options
* Toutes les options
* @param array|null $c
* Couples champ/valeur à modifier
* @param string $serveur
* Nom du connecteur à la base de données
* @return bool
* true si quelque chose est modifié correctement
* false sinon (erreur ou aucun champ modifié)
*/
function modifier_contenu($type, $id, $options, $c = null, $serveur = '')
{
$res = objet_modifier_champs($type, $id, $options, $c, $serveur);
return $res === '' ? true : false;
}
开发者ID:JLuc,项目名称:SPIP,代码行数:26,代码来源:modifier.php
示例19: reservation_credit_mouvement_modifier
/**
* Appelle toutes les fonctions de modification d'un objet
* $err est un message d'erreur eventuelle
*
* @param int $id
* @param array|null $set
* @return mixed|string
*/
function reservation_credit_mouvement_modifier($id, $set = null)
{
$table_sql = 'spip_reservation_credit_mouvements';
$trouver_table = charger_fonction('trouver_table', 'base');
$desc = $trouver_table($table_sql);
if (!$desc or !isset($desc['field'])) {
spip_log("Objet 'spip_reservation_credit_mouvement' inconnu dans objet_modifier", _LOG_ERREUR);
return _L("Erreur objet 'spip_reservation_credit_mouvement' inconnu");
}
include_spip('inc/modifier');
$champ_date = '';
if (isset($desc['date']) and $desc['date']) {
$champ_date = $desc['date'];
} elseif (isset($desc['field']['date'])) {
$champ_date = 'date';
}
$white = array_keys($desc['field']);
// on ne traite pas la cle primaire par defaut, notamment car
// sur une creation, id_x vaut 'oui', et serait enregistre en id_x=0 dans la base
$white = array_diff($white, array($desc['key']['PRIMARY KEY']));
if (isset($desc['champs_editables']) and is_array($desc['champs_editables'])) {
$white = $desc['champs_editables'];
}
// Si il n'y pas encore de compte crédit pour l'email en question, on le crée
$id_reservation_credit = _request('id_reservation_credit') ? _request('id_reservation_credit') : (isset($set['id_reservation_credit']) ? $set['id_reservation_credit'] : '');
$email = _request('email') ? _request('email') : (isset($set['email']) ? $set['email'] : '');
if (!$id_reservation_credit) {
if (!($id_reservation_credit = sql_getfetsel('id_reservation_credit', 'spip_reservation_credits', 'email = ' . sql_quote($email)))) {
$action = charger_fonction('editer_objet', 'action');
$reservation_credit = $action('new', 'reservation_credit');
$id_reservation_credit = $reservation_credit[0];
}
}
$c = collecter_requests($white, array($champ_date, 'statut', 'id_parent', 'id_secteur'), $set);
$c['id_reservation_credit'] = $id_reservation_credit;
// Si l'objet est publie, invalider les caches et demander sa reindexation
if (objet_test_si_publie('reservation_credit_mouvement', $id)) {
$invalideur = "id='reservation_credit_mouvement/{$id}'";
$indexation = true;
} else {
$invalideur = "";
$indexation = false;
}
if ($err = objet_modifier_champs('reservation_credit_mouvement', $id, array('nonvide' => '', 'invalideur' => $invalideur, 'indexation' => $indexation, 'date_modif' => isset($desc['field']['date_modif']) ? 'date_modif' : ''), $c)) {
return $err;
}
// Modification de statut, changement de rubrique ?
// FIXME: Ici lorsqu'un $set est passé, la fonction collecter_requests() retourne tout
// le tableau $set hors black liste, mais du coup on a possiblement des champs en trop.
$c = collecter_requests(array($champ_date, 'statut', 'id_parent'), array(), $set);
$err = objet_instituer('reservation_credit_mouvement', $id, $c);
// Actualiser le montant de crédit
$sql = sql_select('montant,type,devise', 'spip_reservation_credit_mouvements', 'id_reservation_credit=' . $id_reservation_credit);
$montant = array();
while ($data = sql_fetch($sql)) {
$id = isset($data['devise']) ? $data['devise'] : 'sans_devise';
if ($data['type'] == 'credit') {
$montant[$id] = $montant[$id] + $data['montant'];
} elseif ($data['type'] == 'debit') {
$montant[$id] = $montant[$id] - $data['montant'];
}
}
sql_updateq('spip_reservation_credits', array('credit' => serialize($montant)), 'id_reservation_credit=' . $id_reservation_credit);
return $err;
}
开发者ID:abelass,项目名称:reservations_credits,代码行数:73,代码来源:editer_reservation_credit_mouvement.php
注:本文中的objet_modifier_champs函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论