本文整理汇总了PHP中sql_update函数的典型用法代码示例。如果您正苦于以下问题:PHP sql_update函数的具体用法?PHP sql_update怎么用?PHP sql_update使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sql_update函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: action_referencer_traduction_dist
function action_referencer_traduction_dist() {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
if (preg_match(",^(\d+)$,", $arg, $r)
AND $trad = intval(_request('lier_trad'))) {
include_spip('action/editer_article');
if ($err = article_referent($r[1], array('lier_trad' => $trad)))
redirige_par_entete(urldecode(_request('redirect')) . $err);
} elseif (preg_match(",^(\d+)\D-(\d+)$,", $arg, $r)) {
// supprimer le lien de traduction
sql_updateq("spip_articles", array("id_trad" => 0), "id_article=" . $r[1]);
// Verifier si l'ancien groupe ne comporte plus qu'un seul article. Alors mettre a zero.
$cpt = sql_countsel("spip_articles", "id_trad=" . $r[2]);
if ($cpt == 1)
sql_updateq("spip_articles", array("id_trad" => 0), "id_trad=" . $r[2]);
} elseif (preg_match(",^(\d+)\D(\d+)\D(\d+)$,", $arg, $r)) {
// modifier le groupe de traduction de $r[1] (SQL le trouvera)
sql_update('spip_articles', array("id_trad" => $r[3]), "id_trad=" . $r[2]);
} elseif (preg_match(",^(\d+)\D(\d+)$,", $arg, $r)) {
instituer_langue_article($r[1],$r[2]);
} else {
spip_log("action_referencer_traduction_dist $arg pas compris");
}
}
示例2: presta_gratuit_call_response_dist
/**
* il faut avoir un id_transaction et un transaction_hash coherents
* pour se premunir d'une tentative d'appel exterieur
*
*
* @return array
*/
function presta_gratuit_call_response_dist()
{
// recuperer la reponse en post et la decoder
$id_transaction = _request('id_transaction');
$transaction_hash = _request('hash');
if (!($row = sql_fetsel('*', 'spip_transactions', 'id_transaction=' . intval($id_transaction)))) {
spip_log("id_transaction {$id_transaction} non trouve", 'gratuit.' . _LOG_ERREUR);
return array($id_transaction, false);
}
if ($transaction_hash != $row['transaction_hash']) {
spip_log("id_transaction {$id_transaction}, hash {$transaction_hash} non conforme", 'gratuit.' . _LOG_ERREUR);
return array($id_transaction, false);
}
// verifier que la commande a bien un total nul, sinon ce mode de paiement n'est pas autorise
if (intval($row['montant']) > 0 or floatval($row['montant']) > 0.0) {
spip_log("id_transaction {$id_transaction}, montant " . $row['montant'] . ">0 interdit pour ce mode de paiement", 'gratuit.' . _LOG_CRITIQUE);
return array($id_transaction, false);
}
// Ouf, le reglement a ete accepte
sql_update("spip_transactions", array("mode" => sql_quote('gratuit'), "montant_regle" => 'montant', "date_paiement" => sql_quote(date('Y-m-d H:i:s')), "statut" => sql_quote('ok'), "reglee" => sql_quote('oui')), "id_transaction=" . intval($id_transaction));
spip_log("gratuit_response : id_transaction {$id_transaction}, reglee", 'gratuit');
$regler_transaction = charger_fonction('regler_transaction', 'bank');
$regler_transaction($id_transaction, "", $row);
return array($id_transaction, true);
}
示例3: formulaires_ecatalogue_prices_group_traiter_dist
function formulaires_ecatalogue_prices_group_traiter_dist()
{
$result = array();
$is_active = _request('is_active');
$prices_group = _request('price');
$elements_insert = _request('elements_insert');
$isset_price_group = sql_select('*', 'spip_ecatalogue_prices_group');
if ($isset_price_group) {
while ($row = sql_fetch($isset_price_group)) {
$id_price_group = $row['id_group'];
if (isset($prices_group[$id_price_group])) {
$name = $prices_group[$id_price_group];
$status = isset($is_active[$id_price_group]) ? 1 : 0;
sql_update('spip_ecatalogue_prices_group', array('titre' => '"' . $name . '"', 'is_active' => $status), 'id_group = ' . (int) $id_price_group);
} else {
sql_delete('spip_ecatalogue_prices_group', 'id_group = ' . $id_price_group);
// Delete price group
}
}
}
if (is_array($elements_insert) && !empty($elements_insert)) {
foreach ($elements_insert as $key => $value) {
$name = $value['titre'];
$is_active = isset($value['is_active']) ? 1 : 0;
sql_insert('spip_ecatalogue_prices_group', '(titre,is_active)', '("' . $name . '",' . $is_active . ')');
}
}
return $result;
}
示例4: MyCommit
function MyCommit($row)
{
// Переносим изображение
if ($row['image'] && getimagesize('..' . $row['image']) && strpos($row['image'], 'plans') === false) {
$object_id = sql_getValue('SELECT pid FROM obj_elem_plans WHERE id=' . $row['pid']);
$dir = '../files/objects/' . $object_id;
if (!is_dir($dir)) {
mkdir($dir);
mkdir($dir, 0770);
}
$dir .= '/plans';
if (!is_dir($dir)) {
mkdir($dir);
mkdir($dir, 0770);
}
$new_name = $dir . '/' . basename($row['image']);
rename('..' . $row['image'], $new_name);
$row['image'] = substr($new_name, 2);
}
if ($_POST['id']) {
sql_update($this->elem_table, $row, 'id = ' . $_POST['id']);
} else {
sql_insert($this->elem_table, $row);
}
$err = sql_getError();
if (empty($err)) {
return 1;
}
return $err;
}
示例5: presta_cheque_call_response_dist
/**
* il faut avoir un id_transaction et un transaction_hash coherents
* pour se premunir d'une tentative d'appel exterieur
*
*
* @return array
*/
function presta_cheque_call_response_dist()
{
// recuperer la reponse en post et la decoder
$id_transaction = _request('id_transaction');
$transaction_hash = _request('hash');
if (!($row = sql_fetsel('*', 'spip_transactions', 'id_transaction=' . intval($id_transaction)))) {
spip_log("id_transaction {$id_transaction} non trouve", 'gratuit.' . _LOG_ERREUR);
return array($id_transaction, false);
}
if ($transaction_hash != $row['transaction_hash']) {
spip_log("id_transaction {$id_transaction}, hash {$transaction_hash} non conforme", 'gratuit.' . _LOG_ERREUR);
return array($id_transaction, false);
}
// l'autorisation refere l'id_auteur et le nom de celui qui accepte le cheque
$autorisation = $GLOBALS['visiteur_session']['id_auteur'] . "/" . $GLOBALS['visiteur_session']['nom'];
include_spip("inc/autoriser");
if (!autoriser('encaissercheque', 'transaction', $id_transaction)) {
spip_log("id_transaction {$id_transaction}, tentative d'encaisser un cheque par auteur #{$autorisation} pas autorise", 'cheque.' . _LOG_CRITIQUE);
return array($id_transaction, false);
}
// OK, on peut accepter le reglement
sql_update("spip_transactions", array("mode" => sql_quote('cheque'), "autorisation_id" => sql_quote($autorisation), "montant_regle" => 'montant', "date_paiement" => sql_quote(date('Y-m-d H:i:s')), "statut" => sql_quote('ok'), "reglee" => sql_quote('oui')), "id_transaction=" . intval($id_transaction));
spip_log("cheque_response : id_transaction {$id_transaction}, reglee", 'cheque');
$regler_transaction = charger_fonction('regler_transaction', 'bank');
$regler_transaction($id_transaction, "", $row);
return array($id_transaction, true);
}
示例6: genie_popularites_dist
/**
* Cron de calcul des popularités des articles
*
* @uses genie_popularite_constantes()
*
* @param int $t
* Timestamp de la dernière exécution de cette tâche
* @return int
* Positif si la tâche a été terminée, négatif pour réexécuter cette tâche
**/
function genie_popularites_dist($t)
{
// Si c'est le premier appel, ne pas calculer
$t = $GLOBALS['meta']['date_popularites'];
ecrire_meta('date_popularites', time());
if (!$t) {
return 1;
}
$duree = time() - $t;
list($a, $b) = genie_popularite_constantes($duree);
// du passe, faisons table (SQL) rase
sql_update('spip_articles', array('maj' => 'maj', 'popularite' => "popularite * {$a}"), 'popularite>1');
// enregistrer les metas...
$row = sql_fetsel('MAX(popularite) AS max, SUM(popularite) AS tot', "spip_articles");
ecrire_meta("popularite_max", $row['max']);
ecrire_meta("popularite_total", $row['tot']);
// Une fois par jour purger les referers du jour ; qui deviennent
// donc ceux de la veille ; au passage on stocke une date_statistiques
// dans spip_meta - cela permet au code d'etre "reentrant", ie ce cron
// peut etre appele par deux bases SPIP ne partageant pas le meme
// _DIR_TMP, sans tout casser...
$aujourdhui = date("Y-m-d");
if (($d = $GLOBALS['meta']['date_statistiques']) != $aujourdhui) {
spip_log("Popularite: purger referer depuis {$d}");
ecrire_meta('date_statistiques', $aujourdhui);
if (strncmp($GLOBALS['connexions'][0]['type'], 'sqlite', 6) == 0) {
spip_query("UPDATE spip_referers SET visites_veille=visites_jour, visites_jour=0");
} else {
sql_alter("TABLE spip_referers DROP visites_veille,\n\t\t\tCHANGE visites_jour visites_veille INT(10) UNSIGNED NOT NULL DEFAULT '0',\n\t\t\tADD visites_jour INT(10) UNSIGNED NOT NULL DEFAULT '0'");
}
}
// et c'est fini pour cette fois-ci
return 1;
}
示例7: auth_spip_dist
function auth_spip_dist ($login, $pass, $serveur='') {
// retrouver le login
$login = auth_spip_retrouver_login($login);
// login inconnu, n'allons pas plus loin
if (!$login) return array();
$md5pass = $md5next = "";
$shapass = $shanext = "";
if (preg_match(",^\{([0-9a-f]{64});([0-9a-f]{64})\}$,i",$pass,$regs)){
$shapass = $regs[1];
$shanext = $regs[2];
$pass="";
}
// compat avec une base mixte md5/sha256 : le js a envoye les 2 hash
elseif (preg_match(",^\{([0-9a-f]{64});([0-9a-f]{64});([0-9a-f]{32});([0-9a-f]{32})\}$,i",$pass,$regs)){
$shapass = $regs[1];
$shanext = $regs[2];
$md5pass = $regs[3];
$md5next = $regs[4];
$pass="";
}
// si envoi non crypte, crypter maintenant
elseif ($pass) {
$row = sql_fetsel("alea_actuel, alea_futur", "spip_auteurs", "login=" . sql_quote($login),'','','','',$serveur);
if ($row) {
include_spip('auth/sha256.inc');
$shapass = _nano_sha256($row['alea_actuel'] . $pass);
$shanext = _nano_sha256($row['alea_futur'] . $pass);
$md5pass = md5($row['alea_actuel'] . $pass);
}
}
// login inexistant ou mot de passe vide
if (!$shapass AND !$md5pass) return array();
$row = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND pass=" . sql_quote($shapass) . " AND statut<>'5poubelle'",'','','','',$serveur);
// compat avec les anciennes bases en md5
if (!$row AND $md5pass)
$row = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND pass=" . sql_quote($md5pass) . " AND statut<>'5poubelle'",'','','','',$serveur);
// login/mot de passe incorrect
if (!$row) return array();
// fait tourner le codage du pass dans la base
if ($shanext) {
include_spip('inc/acces'); // pour creer_uniqid
@sql_update('spip_auteurs', array('alea_actuel' => 'alea_futur', 'pass' => sql_quote($shanext), 'alea_futur' => sql_quote(creer_uniqid())), "id_auteur=" . $row['id_auteur'].' AND pass IN ('.sql_quote($shapass).', '.sql_quote($md5pass).')','',$serveur);
// En profiter pour verifier la securite de tmp/
// Si elle ne fonctionne pas a l'installation, prevenir
if (!verifier_htaccess(_DIR_TMP) AND defined('_ECRIRE_INSTALL'))
return false;
}
return $row;
}
示例8: upgrade_evenements_articles_012
function upgrade_evenements_articles_012()
{
$res = sql_select("*", "spip_evenements_articles");
while ($row = sql_fetch($res)) {
$id_article = $row['id_article'];
$id_evenement = $row['id_evenement'];
sql_update("spip_evenements", array('id_article' => $id_article), 'id_evenement=' . intval($id_evenement));
}
}
示例9: formulaires_ecatalogue_product_excel_import_traiter_dist
/**
* Processing function
*/
function formulaires_ecatalogue_product_excel_import_traiter_dist()
{
if (isset($_POST['ids']) && is_array($_POST['ids'])) {
foreach ($_POST['ids'] as $key => $value) {
if ($value != '') {
sql_update('spip_rubriques', array('id_import' => $value), 'id_rubrique = ' . $key);
}
}
}
}
示例10: auth_spip_dist
/**
* Authentifie et si ok retourne le tableau de la ligne SQL de l'utilisateur
* Si risque de secu repere a l'installation retourne False
*
* @param string $login
* @param string $pass
* @param string $serveur
* @param bool $phpauth
* @return array|bool
*/
function auth_spip_dist($login, $pass, $serveur = '', $phpauth = false)
{
// retrouver le login
$login = auth_spip_retrouver_login($login);
// login inconnu, n'allons pas plus loin
if (!$login) {
return array();
}
$md5pass = "";
$shapass = $shanext = "";
if (preg_match(",^\\{([0-9a-f]{64});([0-9a-f]{64})\\}\$,i", $pass, $regs)) {
$shapass = $regs[1];
$shanext = $regs[2];
} elseif (preg_match(",^\\{([0-9a-f]{64});([0-9a-f]{64});([0-9a-f]{32});([0-9a-f]{32})\\}\$,i", $pass, $regs)) {
$shapass = $regs[1];
$shanext = $regs[2];
$md5pass = $regs[3];
//$md5next = $regs[4];
} elseif ($pass) {
$row = sql_fetsel("alea_actuel, alea_futur", "spip_auteurs", "login=" . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur);
if ($row) {
include_spip('auth/sha256.inc');
$shapass = _nano_sha256($row['alea_actuel'] . $pass);
$shanext = _nano_sha256($row['alea_futur'] . $pass);
$md5pass = md5($row['alea_actuel'] . $pass);
}
}
// login inexistant ou mot de passe vide
if (!$shapass and !$md5pass) {
return array();
}
$row = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login, $serveur, 'text') . " AND pass=" . sql_quote($shapass, $serveur, 'text') . " AND statut<>'5poubelle'", '', '', '', '', $serveur);
// compat avec les anciennes bases en md5
if (!$row and $md5pass) {
$row = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login, $serveur, 'text') . " AND pass=" . sql_quote($md5pass, $serveur, 'text') . " AND statut<>'5poubelle'", '', '', '', '', $serveur);
}
// login/mot de passe incorrect
if (!$row) {
return array();
}
// fait tourner le codage du pass dans la base
// sauf si phpauth : cela reviendrait a changer l'alea a chaque hit, et aucune action verifiable par securiser_action()
if ($shanext and !$phpauth) {
include_spip('inc/acces');
// pour creer_uniqid
@sql_update('spip_auteurs', array('alea_actuel' => 'alea_futur', 'pass' => sql_quote($shanext, $serveur, 'text'), 'alea_futur' => sql_quote(creer_uniqid(), $serveur, 'text')), "id_auteur=" . $row['id_auteur'] . ' AND pass IN (' . sql_quote($shapass, $serveur, 'text') . ', ' . sql_quote($md5pass, $serveur, 'text') . ')', '', $serveur);
// En profiter pour verifier la securite de tmp/
// Si elle ne fonctionne pas a l'installation, prevenir
if (!verifier_htaccess(_DIR_TMP) and defined('_ECRIRE_INSTALL')) {
return false;
}
}
return $row;
}
示例11: base_delete_referers_dist
/**
* Supprimer les referers
* @param strinf $titre
* @param bool $reprise
* @return string
*/
function base_delete_referers_dist($titre = '', $reprise = '')
{
if (!$titre) {
return;
}
// anti-testeur automatique
sql_delete("spip_referers");
sql_delete("spip_referers_articles");
sql_update("spip_articles", array('referers' => 0));
// un pipeline pour detruire les tables de referers installees par les plugins ?
//pipeline('delete_referers', '');
spip_log("raz des referers operee redirige vers " . _request('redirect'));
}
示例12: formulaires_ecatalogue_option_edit_traiter_dist
function formulaires_ecatalogue_option_edit_traiter_dist()
{
$table = "spip_ecatalogue_options";
$exp = array('titre' => sql_quote(_request('titre')), 'descriptif' => sql_quote(_request('descriptif')), 'texte' => sql_quote(_request('texte')));
$where = "id_option=" . _request('id_option');
try {
sql_update($table, $exp, $where);
$result['message_ok'] = _T('ecatalogue:form_saved');
} catch (Exception $e) {
$result['message_erreur'] = _T('ecatalogue:form_error');
}
return $result;
}
示例13: recountTagReferences
function recountTagReferences($tagid)
{
sql_where(array("hfmTag" => $tagid));
$count = sql_count("helpdeskFAQTagMap");
if ($count > 0) {
sql_values(array("hftCount" => $count));
sql_where(array("hftid" => $tagid));
sql_update("helpdeskFAQTags");
} else {
sql_where(array("hftid" => $tagid));
sql_delete("helpdeskFAQTags");
}
}
示例14: clevermail_post_queue
function clevermail_post_queue($pst_id)
{
if ($post = sql_fetsel("lst_id, pst_subject", "spip_cm_posts", "pst_id = " . intval($pst_id))) {
$lst_id = $post['lst_id'];
$lst_name = sql_getfetsel("lst_name", "spip_cm_lists", "lst_id = " . intval($lst_id));
if (sql_countsel("spip_cm_posts", "pst_id = " . intval($pst_id) . " AND pst_date_sent = 0")) {
// Si le script plante en cours, on ne renvoie pas deux fois aux premiers, tant pis pour ceux qui ne sont pas passes
sql_update("spip_cm_posts", array('pst_date_sent' => time()), "pst_id = " . intval($pst_id));
$subscribers = sql_select("sub_id", "spip_cm_lists_subscribers", "lst_id = " . intval($lst_id));
while ($sub = sql_fetch($subscribers)) {
sql_insertq("spip_cm_posts_queued", array('pst_id' => intval($pst_id), 'sub_id' => intval($sub['sub_id']), 'psq_date' => time()));
}
spip_log('Déclenchement de l\'envoi du message « ' . $post['pst_subject'] . ' » (id=' . $pst_id . ') de la liste « ' . $lst_name . ' » (id=' . $lst_id . ')', 'clevermail');
}
}
}
示例15: bank_recoit_notification
/**
* Recevoir la notification d'un paiement par chèque ou virement. Pour les autres presta voir presta/$presta/inc/
*
* @return array
*/
function bank_recoit_notification($id_transaction, $transaction_hash, $mode, $notifier = true)
{
$mode_autorises = array('cheque', 'virement');
if (!($row_prec = sql_fetsel("*", "spip_commandes_transactions", "id_transaction=" . intval($id_transaction) . " AND transaction_hash=" . sql_quote($transaction_hash)))) {
spip_log("id_transaction invalide : {$id_transaction}/hash{$transaction_hash}", 'paiement_alter');
return array(0, false);
}
if ($row_prec['reglee'] == 'oui') {
return array($id_transaction, true);
}
// cette transaction a deja ete reglee. double entree, on ne fait rien
if (!$mode or !in_array($mode, $mode_autorises)) {
spip_log("Transaction {$id_transaction}:pas de mode paiement renseigné (chèque ou virement)", 'paiement_alter');
$message = "Une erreur s'est produite pendant l'enregistrement de votre commande";
return bank_echec_transaction($id_transaction, $message);
// erreur sur la transaction
}
/*
TODO traiter les autres possibilités d'échec ou de traitement de la commande à réception du chèque par un admin ? Pour le moment, on enregistre seulement le fait que le client indique vouloir payer par chèque.
*/
$message = _T('vacarme_commande:message_ok_formulaire_paiements_alter');
// commande en attente du reglement
sql_update("spip_commandes_transactions", array("mode" => sql_quote($mode), "statut" => sql_quote('attente'), "message" => sql_quote($message)), "id_transaction=" . intval($id_transaction));
spip_log("cheque_response : id_transaction {$id_transaction}, attente", $mode);
// mise à jour de la commande correspondante
$id_commande = sql_getfetsel("id_commande", "spip_commandes_transactions", "id_transaction=" . intval($id_transaction));
sql_updateq("spip_commandes", array("paiement" => $mode, "statut" => "attente"), "id_commande=" . intval($id_commande));
// mise à jour de l'abonnement s'il existe
$id_commandes_detail = sql_allfetsel('id_commandes_detail', 'spip_commandes_details', 'id_commande=' . $id_commande . ' and objet="abonnement"');
if ($id_commandes_detail) {
foreach ($id_commandes_detail as $k) {
foreach ($k as $id) {
sql_updateq("spip_contacts_abonnements", array('statut_abonnement' => 'attente'), 'id_commandes_detail=' . $id);
}
}
}
// ensuite un pipeline de traitement, notification etc...
$message = pipeline('bank_traiter_reglement', array('args' => array('id_transaction' => $id_transaction, 'new' => $row_prec['reglee'] !== 'oui', 'confirm' => $row_prec['reglee'] == 'oui', 'notifier' => $notifier, 'avant' => $row_prec), 'data' => $message));
return array($id_transaction, true);
}