当前位置: 首页>>代码示例>>PHP>>正文


PHP pipeline函数代码示例

本文整理汇总了PHP中pipeline函数的典型用法代码示例。如果您正苦于以下问题:PHP pipeline函数的具体用法?PHP pipeline怎么用?PHP pipeline使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了pipeline函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: action_bank_enregistrer_modereglement_dist

/**
 * @deprecated
 * @param null|string $arg
 */
function action_bank_enregistrer_modereglement_dist($arg = null)
{
    if (is_null($arg)) {
        $securiser_action = charger_fonction('securiser_action', 'inc');
        $arg = $securiser_action();
    }
    $arg = explode("-", $arg);
    $id_transaction = intval(array_pop($arg));
    $presta = implode("-", $arg);
    if (isset($GLOBALS['meta']['bank_paiement']) and $config = unserialize($GLOBALS['meta']['bank_paiement'])) {
        $prestas = is_array($config['presta']) ? $config['presta'] : array();
        $prestas = array_filter($prestas);
        if (is_array($config['presta_abo'])) {
            $prestas = array_merge($prestas, array_filter($config['presta_abo']));
        }
    }
    if ((isset($prestas[$presta]) and $prestas[$presta] or $presta == 'gratuit') and $id_transaction and $transaction = sql_fetsel('*', 'spip_transactions', 'id_transaction=' . intval($id_transaction))) {
        if ($transaction['statut'] == 'commande') {
            sql_updateq("spip_transactions", array('mode' => $presta, 'autorisation_id' => date('d/m/Y-H:i:s') . "/" . $GLOBALS['ip']), 'id_transaction=' . intval($id_transaction));
            // trigger le regelement en attente
            // cela permet de factoriser le code
            $row = sql_fetsel('*', 'spip_transactions', 'id_transaction=' . intval($id_transaction));
            pipeline('trig_bank_reglement_en_attente', array('args' => array('statut' => 'attente', 'mode' => $row['mode'], 'type' => $row['abo_uid'] ? 'abo' : 'acte', 'id_transaction' => $id_transaction, 'row' => $row), 'data' => ''));
            $GLOBALS['redirect'] = _request('redirect');
            $GLOBALS['redirect'] = parametre_url($GLOBALS['redirect'], "attente_mode", $presta, "&");
        }
    }
}
开发者ID:nursit,项目名称:bank,代码行数:32,代码来源:bank_enregistrer_modereglement.php

示例2: supprimer_lien_document

function supprimer_lien_document($id_document, $objet, $id_objet) {
	if (!$id_document = intval($id_document))
		return false;

	// D'abord on ne supprime pas, on dissocie
	sql_delete("spip_documents_liens",
		$z = "id_objet=".intval($id_objet)." AND objet=".sql_quote($objet)." AND id_document=".$id_document);

	// Si c'est une vignette, l'eliminer du document auquel elle appartient
	sql_updateq("spip_documents", array('id_vignette' => 0), "id_vignette=".$id_document);

	pipeline('post_edition',
		array(
			'args' => array(
				'operation' => 'delier_document',
				'table' => 'spip_documents',
				'id_objet' => $id_document,
				'objet' => $objet,
				'id' => $id_objet
			),
			'data' => null
		)
	);

	// On supprime ensuite s'il est orphelin
	// (autorisation verifiee dans l'action)
	$supprimer_document = charger_fonction('supprimer_document','action');
	return $supprimer_document($id_document);
}
开发者ID:rhertzog,项目名称:lcs,代码行数:29,代码来源:documenter.php

示例3: insert_rubrique

function insert_rubrique($id_parent) {
	$champs = array(
		'titre' => _T('item_nouvelle_rubrique'),
		'id_parent' => intval($id_parent),
		'statut' => 'new');

	// Envoyer aux plugins
	$champs = pipeline('pre_insertion',
		array(
			'args' => array(
				'table' => 'spip_rubriques',
			),
			'data' => $champs
		)
	);

	$id_rubrique = sql_insertq("spip_rubriques", $champs);
	pipeline('post_insertion',
		array(
			'args' => array(
				'table' => 'spip_rubriques',
				'id_objet' => $id_rubrique
			),
			'data' => $champs
		)
	);
	propager_les_secteurs();
	calculer_langues_rubriques();
	return $id_rubrique;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:30,代码来源:editer_rubrique.php

示例4: supprimer_lien_document

/**
 * Supprimer un lien entre un document et un objet
 *
 * @param int $id_document
 * @param string $objet
 * @param int $id_objet
 * @param bool $supprime
 *   si true, le document est supprime si plus lie a aucun objet
 * @param bool $check
 *   si true, on verifie les documents references dans le texte de l'objet
 *   et on les associe si pas deja fait
 * @return bool
 */
function supprimer_lien_document($id_document, $objet, $id_objet, $supprime = false, $check = false)
{
    if (!($id_document = intval($id_document))) {
        return false;
    }
    // D'abord on ne supprime pas, on dissocie
    include_spip('action/editer_liens');
    objet_dissocier(array('document' => $id_document), array($objet => $id_objet));
    // Si c'est une vignette, l'eliminer du document auquel elle appartient
    // cas tordu peu probable
    sql_updateq("spip_documents", array('id_vignette' => 0), "id_vignette=" . $id_document);
    // verifier son statut apres une suppression de lien
    include_spip('action/editer_document');
    document_instituer($id_document);
    pipeline('post_edition', array('args' => array('operation' => 'delier_document', 'action' => 'delier_document', 'table' => 'spip_documents', 'id_objet' => $id_document, 'objet' => $objet, 'id' => $id_objet), 'data' => null));
    if ($check) {
        // si demande, on verifie que ses documents vus sont bien lies !
        $spip_table_objet = table_objet_sql($objet);
        $table_objet = table_objet($objet);
        $id_table_objet = id_table_objet($objet, $serveur);
        $champs = sql_fetsel('*', $spip_table_objet, addslashes($id_table_objet) . "=" . intval($id_objet));
        $marquer_doublons_doc = charger_fonction('marquer_doublons_doc', 'inc');
        $marquer_doublons_doc($champs, $id_objet, $objet, $id_table_objet, $table_objet, $spip_table_objet, '', $serveur);
    }
    // On supprime ensuite s'il est orphelin
    // et si demande
    // ici on ne bloque pas la suppression d'un document rattache a un autre
    if ($supprime and !sql_countsel('spip_documents_liens', "objet!='document' AND id_document=" . $id_document)) {
        $supprimer_document = charger_fonction('supprimer_document', 'action');
        return $supprimer_document($id_document);
    }
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:45,代码来源:dissocier_document.php

示例5: public_styliser_dist

/**
 * Déterminer le squelette qui sera utilisé pour rendre la page ou le bloc
 * à partir de `$fond` et du `$contetxe`
 *
 * Actuellement tous les squelettes se terminent par `.html`
 * pour des raisons historiques, ce qui est trompeur
 *
 * @param string $fond
 * @param array $contexte
 * @param string $lang
 * @param string $connect
 * @return array
 */
function public_styliser_dist($fond, $contexte, $lang = '', $connect = '')
{
    static $styliser_par_z;
    // s'assurer que le fond est licite
    // car il peut etre construit a partir d'une variable d'environnement
    if (strpos($fond, "../") !== false or strncmp($fond, '/', 1) == 0) {
        $fond = "404";
    }
    // Choisir entre $fond-dist.html, $fond=7.html, etc?
    $id_rubrique = 0;
    // Chercher le fond qui va servir de squelette
    if ($r = quete_rubrique_fond($contexte)) {
        list($id_rubrique, $lang) = $r;
    }
    // trouver un squelette du nom demande
    // ne rien dire si on ne trouve pas,
    // c'est l'appelant qui sait comment gerer la situation
    // ou les plugins qui feront mieux dans le pipeline
    $squelette = trouver_fond($fond, "", true);
    $ext = $squelette['extension'];
    $flux = array('args' => array('id_rubrique' => $id_rubrique, 'ext' => $ext, 'fond' => $fond, 'lang' => $lang, 'contexte' => $contexte, 'connect' => $connect), 'data' => $squelette['fond']);
    if (test_espace_prive() or defined('_ZPIP')) {
        if (!$styliser_par_z) {
            $styliser_par_z = charger_fonction('styliser_par_z', 'public');
        }
        $flux = $styliser_par_z($flux);
    }
    $flux = styliser_par_objets($flux);
    // pipeline styliser
    $squelette = pipeline('styliser', $flux);
    return array($squelette, $ext, $ext, "{$squelette}.{$ext}");
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:45,代码来源:styliser.php

示例6: definir_barre_boutons

/**
 * definir la liste des boutons du haut et de ses sous-menus
 * On defini les boutons a metrtre selon les droits de l'utilisateur
 * puis on balance le tout au pipeline "ajouter_menus" pour que des plugins
 * puissent y mettre leur grain de sel
 *
 * @param array $contexte
 * @param bool $icones // rechercher les icones
 * @param bool $autorise // ne renvoyer que les boutons autorises
 * @return array
 */
function definir_barre_boutons($contexte = array(), $icones = true, $autorise = true)
{
    include_spip('inc/autoriser');
    $boutons_admin = array();
    // les boutons du core, issus de prive/navigation.xml
    $liste_boutons = array();
    // ajouter les boutons issus des plugin via plugin.xml
    if (function_exists('boutons_plugins') and is_array($liste_boutons_plugins = boutons_plugins())) {
        $liste_boutons =& $liste_boutons_plugins;
    }
    foreach ($liste_boutons as $id => $infos) {
        $parent = "";
        // les boutons principaux ne sont pas soumis a autorisation
        if (!isset($infos['parent']) or !($parent = $infos['parent']) or !$autorise or autoriser('menu', "_{$id}", 0, NULL, array('contexte' => $contexte))) {
            if ($parent and $parent = preg_replace(',^bando_,', 'menu_', $parent) and isset($boutons_admin[$parent])) {
                if (!is_array($boutons_admin[$parent]->sousmenu)) {
                    $boutons_admin[$parent]->sousmenu = array();
                }
                $position = (isset($infos['position']) and strlen($infos['position'])) ? intval($infos['position']) : count($boutons_admin[$parent]->sousmenu);
                if ($position < 0) {
                    $position = count($boutons_admin[$parent]->sousmenu) + 1 + $position;
                }
                $boutons_admin[$parent]->sousmenu = array_slice($boutons_admin[$parent]->sousmenu, 0, $position) + array($id => new Bouton(($icones and $infos['icone']) ? find_in_theme($infos['icone']) : '', $infos['titre'], (isset($infos['action']) and $infos['action']) ? $infos['action'] : null, (isset($infos['parametres']) and $infos['parametres']) ? $infos['parametres'] : null)) + array_slice($boutons_admin[$parent]->sousmenu, $position, 100);
            }
            if (!$parent and !in_array($id, array('forum', 'statistiques_visites'))) {
                $position = (isset($infos['position']) and $infos['position']) ? $infos['position'] : count($boutons_admin);
                $boutons_admin = array_slice($boutons_admin, 0, $position) + array($id => new Bouton(($icones and isset($infos['icone']) and $infos['icone']) ? find_in_theme($infos['icone']) : '', $infos['titre'], (isset($infos['action']) and $infos['action']) ? $infos['action'] : null, (isset($infos['parametres']) and $infos['parametres']) ? $infos['parametres'] : null)) + array_slice($boutons_admin, $position, 100);
            }
        }
    }
    return pipeline('ajouter_menus', $boutons_admin);
}
开发者ID:genma,项目名称:spip_ynh,代码行数:43,代码来源:bandeau.php

示例7: abos_preparer_echeance_dist

/**
 * Fonction appelee suite a notification par le presta (paybox/payzen) de paiement automatique de l'echeance
 * le presta fourni le numero d'abonne selon sa convention,
 * et on doit creer une transaction correspondant au paiement attendu de l'echeance
 *
 * @param string $id
 *   numero d'abonnement : numero interne a l'implementation, ou uid fourni par le presta, prefixe par uid: dans ce cas
 * @return bool|int
 *   false si on a pas pu renouveler
 *   id_transaction du renouvellement si reussi
 */
function abos_preparer_echeance_dist($id)
{
    spip_log("abos/preparer_echeance id={$id}", "bank");
    /*
    if (strncmp($id,"uid:",4)==0){
    	$where = "abonne_uid=".sql_quote(substr($id,4));
    }
    else {
    	$where = "id_abonnement=".intval($id);
    }
    */
    // recuperer les infos en fonction de l'implementation des abonnements
    $id_transaction = pipeline('bank_abos_preparer_echeance', array('args' => array('id' => $id), 'data' => false));
    if ($id_transaction) {
        return $id_transaction;
    }
    // DEPRECIE, pour compat ascendante
    // sinon on essaye sur l'ancien pipeline
    // recuperer les infos en fonction de l'implementation des abonnements
    $id_transaction = pipeline('bank_abos_renouveler', array('args' => array('id' => $id), 'data' => false));
    if ($id_transaction) {
        return $id_transaction;
    }
    // sinon on essaye d'appeler l'ancien abos/renouveler
    if ($renouveler = charger_fonction('renouveler', 'abos', true)) {
        return $renouveler($id);
    }
    return false;
}
开发者ID:nursit,项目名称:bank,代码行数:40,代码来源:preparer_echeance.php

示例8: action_quete_calendrier_prive_dist

/**
 * Fournir une liste d'"evenements" entre deux dates start et end
 * au format json
 * utilise pour l'affichage du calendrier prive et public
 * 
 * @return void
 */
function action_quete_calendrier_prive_dist()
{
    $securiser_action = charger_fonction('securiser_action', 'inc');
    $securiser_action();
    $start = _request('start');
    $end = _request('end');
    $quoi = _request('quoi');
    include_spip('inc/quete_calendrier');
    $evt = array();
    // recuperer la liste des evenements au format ics
    $start = date('Y-m-d H:i:s', $start);
    $end = date('Y-m-d H:i:s', $end);
    $limites = array(sql_quote($start), sql_quote($end));
    // on fonction de quoi on récupère : tout (rv + publication) ou l'un ou l'autre.
    $entier = $duree = array();
    if (!$quoi or $quoi == 'rv') {
        $duree = quete_calendrier_interval_rv(reset($limites), end($limites));
        $evt = convert_fullcalendar_quete_calendrier_interval_rv($duree, $evt);
    }
    if (!$quoi or $quoi == 'publication') {
        list($entier, ) = quete_calendrier_interval($limites);
        $evt = convert_fullcalendar_quete_calendrier_interval($entier, $evt);
    }
    // permettre aux plugins d'afficher leurs evenements dans ce calendrier
    $evt = pipeline('quete_calendrier_prive', array('args' => array('start' => $start, 'end' => $end, 'quoi' => $quoi), 'data' => $evt));
    // format json
    include_spip('inc/json');
    echo json_encode($evt);
}
开发者ID:genma,项目名称:spip_ynh,代码行数:36,代码来源:quete_calendrier_prive.php

示例9: abos_decrire_echeance_dist

/**
 * @param int $id_transaction
 * @param bool $force_auto
 *   true : l'echeance sera forcement prelevee automatiquement
 *   false : on peut gerer le paiement echeance manuellement en renvoyant un montant nul
 * @return array|bool
 *   montant : montant de l'echeance / si on renvoie 0 il n'y aura pas de paiement automatique mensuel, mais on recuperera les infos CB si possible (paybox) pour prendre en charge les paiements mensuels
 *   montant_init : montant de l'echeance initiale (si differente de l'echeance principale)
 *   int count_init : nombre d'echeances initiales (par defaut 0 si pas renseignee - autre valeur que 0 ou 1 supportee uniquement par PayZen/SystemPay)
 *   int count : nombre d'echeances (sans compter l(es) echeance(s) initiale(s) - 0 si infini/pas de fin prevue supportee uniquement par PayBox/PayZen/SystemPay)
 *   string freq : 'monthly' ou 'yearly' (tous les mois ou tous les 12 mois - yearly pas supporte par InternetPlus)
 *
 *   string date_start : optionnel, date de debut d'abonnement Y-m-d H:i:s (support par SystemPay uniquement)
 *   string wha_oid : optionnel, numero d'offre d'abonnement chez WHA/Internet+
 *
 *   false si pas d'abonnement qui correspond a cette transaction
 */
function abos_decrire_echeance_dist($id_transaction, $force_auto = true)
{
    $desc = array('montant' => 0, 'montant_init' => 0, 'count_init' => 0, 'count' => 0, 'freq' => 'monthly', 'date_start' => '', 'wha_oid' => '');
    // recuperer les infos en fonction de l'implementation des abonnements
    $desc = pipeline('bank_abos_decrire_echeance', array('args' => array('id_transaction' => $id_transaction, 'force_auto' => $force_auto), 'data' => $desc));
    return $desc;
}
开发者ID:nursit,项目名称:bank,代码行数:24,代码来源:decrire_echeance.php

示例10: formulaires_adhi3_recherche_charger_dist

/**
 * Chargement des valeurs par defaut des champs du formulaire
 * 
 * @param  string $type_objet[facultatif] objet editorial spip
 * @param int $id_objet[facultatif] identifiant de l'objet
 * @param boolean $adh_i3_rech_ok si au moins 1 critere de recherche saisis.
 * 
 */
function formulaires_adhi3_recherche_charger_dist($type_objet, $id_objet)
{
    // Recuperation des parametres transmis
    $datas['type_objet'] = $type_objet;
    $datas['id_objet'] = $id_objet;
    // Recuperation des champs du formulaire
    // ==> lies a adhclub :
    $datas['id_saison'] = _request('id_saison');
    $datas['techbase'] = _request('techbase');
    $datas['encadrant'] = _request('encadrant');
    $datas['niveau'] = _request('niveau');
    $datas['niv_rel'] = _request('niv_rel');
    // ==> lies a i3 :
    $datas['ordre'] = _request('ordre');
    $datas['desc'] = _request('desc');
    $datas['case'] = _request('case');
    $datas['valeur'] = _request('valeur');
    $datas['exceptions'] = pipeline('i3_exceptions_des_champs_auteurs_elargis', array());
    // Raz des criteres si demande affichage tous les adherents
    if (_request('afficher_tous')) {
        // ==> lies a adhclub :
        set_request('id_saison', '');
        set_request('techbase', '');
        set_request('encadrant', '');
        set_request('niveau', '');
        set_request('niv_rel', '');
        // ==> lies a i3 :
        set_request('valeur', '');
        set_request('case', '');
    }
    return $datas;
}
开发者ID:jean-remond,项目名称:adhclub,代码行数:40,代码来源:adhi3_recherche.php

示例11: exec_config_lang_dist

function exec_config_lang_dist()
{ 

	if (!autoriser('configurer', 'lang')) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

	$config = charger_fonction('config', 'inc');
	$config();

	pipeline('exec_init',array('args'=>array('exec'=>'config_lang'),'data'=>''));
	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('titre_page_config_contenu'), "configuration", "langues");

	echo debut_gauche('', true);

	echo debut_droite('', true);

	echo "<br /><div style='text-align: center'>", 
	  gros_titre(_T('info_langues'), '', false),
	  '</div><br />',
	  barre_onglets("config_lang", "langues"),
	  '<br />';
 
	$langue = charger_fonction('langue', 'configuration');
	echo $langue();

	$transcodeur = charger_fonction('transcodeur', 'configuration');
	echo $transcodeur();

	echo fin_gauche(), fin_page();
	}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:34,代码来源:config_lang.php

示例12: cextras_objets_valides

function cextras_objets_valides(){
	
	$objets = array();
	
	$objets_extensibles = pipeline("objets_extensibles", array(
		'article'     => _T('cextras:table_article'),
		'auteur'      => _T('cextras:table_auteur'),
		'breve'       => _T('cextras:table_breve'),
		'groupes_mot' => _T('cextras:table_groupes_mot'),
		'mot'         => _T('cextras:table_mot'),
		'rubrique'    => _T('cextras:table_rubrique'),
		'site'        => _T('cextras:table_site')
	));
	ksort($objets_extensibles);
	
	foreach ($objets_extensibles as $objet => $traduction) {
		$objets[$objet] = array(
			'table' => table_objet_sql($objet), 
			'type' => objet_type(table_objet($objet)), 
			'nom' => $traduction,
		);
	}

	return $objets;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:25,代码来源:cextras_gerer.php

示例13: inc_forum_insert_dist

/**
 * Un parametre permet de forcer le statut (exemple: plugin antispam)
 *
 * http://code.spip.net/@inc_forum_insert_dist
 *
 * @param $objet
 * @param $id_objet
 * @param $id_forum
 *   en reponse a
 * @param null $force_statut
 * @return bool
 */
function inc_forum_insert_dist($objet, $id_objet, $id_forum, $force_statut = null)
{
    if (!in_array($force_statut, array('privrac', 'privadm'))) {
        if (!strlen($objet) or !intval($id_objet)) {
            spip_log("Erreur insertion forum sur objet='{$objet}', id_objet={$id_objet}", 'forum.' . _LOG_ERREUR);
            return 0;
        }
    }
    spip_log("insertion de forum {$force_statut} sur {$objet} {$id_objet} (+{$id_forum})", 'forum');
    include_spip('inc/filtres');
    include_spip('inc/modifier');
    include_spip('inc/session');
    $champs = objet_info('forum', 'champs_editables');
    $c = collecter_requests($champs, array());
    $c['statut'] = 'off';
    $c['objet'] = $objet;
    $c['id_objet'] = $id_objet;
    $c['auteur'] = sinon(session_get('nom'), session_get('session_nom'));
    $c['email_auteur'] = sinon(session_get('email'), session_get('session_email'));
    $c = pipeline('pre_edition', array('args' => array('table' => 'spip_forum', 'id_objet' => $id_forum, 'action' => 'instituer'), 'data' => forum_insert_statut($c, $force_statut)));
    $id_reponse = forum_insert_base($c, $id_forum, $objet, $id_objet, $c['statut'], _request('ajouter_mot'));
    if (!$id_reponse) {
        spip_log("Echec insertion forum sur {$objet} {$id_objet} (+{$id_forum})", 'forum.' . _LOG_ERREUR);
    } else {
        spip_log("forum insere' {$id_reponse} sur {$objet} {$id_objet} (+{$id_forum})", 'forum');
    }
    return $id_reponse;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:40,代码来源:forum_insert.php

示例14: jqueryui_insert_head_css

/**
 * Ajout des css de jQuery UI pour les pages publiques
 *
 * @param: $flux
 * @return: $flux
 */
function jqueryui_insert_head_css($flux)
{
    /**
     * Doit on ne pas insérer les css (défini depuis un autre plugin) ?
     */
    if (defined('_JQUERYUI_CSS_NON')) {
        return $flux;
    }
    // Modules demandés par le pipeline jqueryui_plugins
    is_array($jqueryui_plugins = pipeline('jqueryui_plugins', array())) || ($jqueryui_plugins = array());
    // gestion des dépendances des modules demandés
    is_array($jqueryui_plugins = jqueryui_dependances($jqueryui_plugins)) || ($jqueryui_plugins = array());
    // ajouter le thème si nécessaire
    if ($jqueryui_plugins and !in_array('jquery.ui.theme', $jqueryui_plugins)) {
        $jqueryui_plugins[] = 'theme';
    }
    // les css correspondantes aux plugins
    $styles = array('accordion', 'autocomplete', 'button', 'core', 'datepicker', 'dialog', 'draggable', 'menus', 'progressbar', 'resizable', 'selectable', 'selectmenu', 'slider', 'sortable', 'spinner', 'tabs', 'tooltip', 'theme');
    // insérer les css nécessaires
    foreach ($jqueryui_plugins as $plugin) {
        if (in_array($plugin, $styles)) {
            $flux .= "<link rel='stylesheet' type='text/css' media='all' href='" . find_in_path('css/ui/' . $plugin . '.css') . "' />\n";
        }
    }
    return $flux;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:32,代码来源:jqueryui_pipelines.php

示例15: abos_resilier_dist

/**
 * @param $id
 * @param array $options
 *   bool immediat : pour forcer la resiliation immediatement, sans attendre la prochaine echeance de paiement
 *   string message : message stocke en base pour la resiliation
 *   bool notify_bank : lancer un appel au presta bancaire pour resilier aupres de lui les paiements auto
 * @return bool
 */
function abos_resilier_dist($id, $options = array())
{
    spip_log("abos/resilier id={$id}", "abos_resil");
    /*
    if (strncmp($id,"uid:",4)==0){
    	$where = "abonne_uid=".sql_quote(substr($id,4));
    }
    else {
    	$where = "id_abonnement=".intval($id);
    }
    */
    if (!isset($options['message'])) {
        $options['message'] = '';
    }
    if (!isset($options['immediat'])) {
        $options['immediat'] = false;
    }
    if (!isset($options['notify_bank'])) {
        $options['notify_bank'] = true;
    }
    $args = array('id' => $id, 'message' => $options['message'], 'notify_bank' => $options['notify_bank']);
    $now = date('Y-m-d H:i:s');
    if ($options['immediat']) {
        $args['statut'] = 'resilie';
        $args['date_fin'] = $now;
        $args['date_echeance'] = $now;
    } else {
        $args['date_fin'] = "date_echeance";
    }
    // appel du pipeline, a charge pour lui d'appeler la fonction
    // abos_resilier_notify_bank($abonne_uid,$mode_paiement)
    // et de mettre a jour les infos de statut/date de fin d'abonnement
    $ok = pipeline('bank_abos_resilier', array('args' => $args, 'data' => true));
    return $ok;
}
开发者ID:nursit,项目名称:bank,代码行数:43,代码来源:resilier.php


注:本文中的pipeline函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。