本文整理汇总了PHP中sql_delete函数的典型用法代码示例。如果您正苦于以下问题:PHP sql_delete函数的具体用法?PHP sql_delete怎么用?PHP sql_delete使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sql_delete函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: genie_depublier_dist
function genie_depublier_dist($time)
{
//va chercher les objets de spip_depublies avec une date_depublie pour aujourd'hui
include_spip('base/abstract_sql');
$today = date('Y-m-d H:i:s');
if ($depublications = sql_allfetsel('*', 'spip_depublies', 'DATE_FORMAT(date_depublie, "%Y-%m-%d %H:%i:%s") <= ' . sql_quote($today) . ' AND DATE_FORMAT(date_depublie, "%Y-%m-%d %H:%i:%s") >0') and is_array($depublications)) {
foreach ($depublications as $depublication) {
$objet = $depublication['objet'];
$id_objet = $depublication['id_objet'];
$statut_depublication = $depublication['statut'];
$date_depublie = $depublication['date_depublie'];
spip_log("on veut depublier {$objet} {$id_objet} {$statut_depublication}", 'depublication');
//on cherche la table de l'objet donné
$_id_objet = id_table_objet($objet);
//id_article
$table = table_objet_sql($objet);
//articles
//si le statut est différent de celui demandé
if ($a_depublier = sql_getfetsel($_id_objet, $table, "statut != " . sql_quote($statut_depublication) . " AND {$_id_objet} = " . intval($id_objet))) {
//si les conditions sont remplies, on change le statut dans cette table
sql_updateq($table, array("statut" => $statut_depublication), "{$_id_objet}= " . intval($id_objet));
//et on supprime l'entrée
sql_delete('spip_depublies', 'id_objet=' . intval($id_objet) . ' AND objet=' . sql_quote($objet));
}
}
}
return 1;
}
示例2: action_clevermail_list_subscriber_remove_dist
function action_clevermail_list_subscriber_remove_dist()
{
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
$lsr_id = $arg;
if (sql_countsel("spip_cm_lists_subscribers", "lsr_id=" . sql_quote($lsr_id)) == 1) {
include_spip('inc/autoriser');
if (autoriser('supprimer', 'cm_list_subscriber', sql_quote($lsr_id))) {
$abonnement = sql_fetsel("sub_id, lst_id", "spip_cm_lists_subscribers", "lsr_id=" . sql_quote($lsr_id));
$abonne = sql_getfetsel("sub_email", "spip_cm_subscribers", "sub_id=" . intval($abonnement['sub_id']));
$liste = sql_fetsel("lst_moderator_email, lst_name", "spip_cm_lists", "lst_id=" . intval($abonnement['lst_id']));
sql_delete("spip_cm_lists_subscribers", "lsr_id = " . sql_quote($lsr_id));
sql_delete("spip_cm_posts_queued", "sub_id = " . intval($abonnement['sub_id']));
if (sql_countsel("spip_cm_lists_subscribers", "sub_id=" . intval($abonnement['sub_id'])) == 0) {
// No more subscription, subscriber address is removed
sql_delete("spip_cm_pending", "sub_id = " . intval($abonnement['sub_id']));
sql_updateq("spip_cm_subscribers", array('sub_email' => md5($abonne) . '@example.com'), "sub_id = " . intval($abonnement['sub_id']));
}
$destinataire = $liste['lst_moderator_email'];
$sujet = '[' . $liste['lst_name'] . '] Désinscription de ' . addslashes($abonne);
$corps = _T('clevermail:mail_info_desinscription_corps', array('nom_site' => $GLOBALS['meta']['nom_site'], 'url_site' => $GLOBALS['meta']['adresse_site'], 'sub_email' => addslashes($abonne), 'lst_name' => $liste['lst_name']));
$expediteur = sql_getfetsel("set_value", "spip_cm_settings", "set_name='CM_MAIL_FROM'");
$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
if ($envoyer_mail($destinataire, $sujet, $corps, $expediteur)) {
spip_log('Envoie du mail OK', 'clevermail');
} else {
spip_log('Envoie du mail KO', 'clevermail');
}
spip_log('Suppression de l\'abonnement de « ' . $abonne . ' » à la liste « ' . $liste['lst_name'] . ' » (id=' . $abonnement['lst_id'] . ')', 'clevermail');
}
}
}
示例3: 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);
}
示例4: optimiser_base_revisions
/**
* Supprimer les révisions des objets disparus
*/
function optimiser_base_revisions()
{
/**
* On commence par récupérer la liste des types d'objet ayant au moins une révision
*/
$objets_revises = sql_select('objet', 'spip_versions', 'id_version=1', 'objet');
/**
* Pour chaque objet, on va contruire un tableau des identifiants disparus
* On supprimera ensuite les occurences dans spip_versions et spip_versions_fragments
*/
while ($objet = sql_fetch($objets_revises)) {
$in = array();
$table = table_objet_sql($objet['objet']);
$id_table_objet = id_table_objet($objet['objet']);
$res = sql_select("A.id_objet AS id_objet, A.objet AS objet", "spip_versions AS A LEFT JOIN {$table} AS R\n\t\t\t\t\t\t\tON R.{$id_table_objet}=A.id_objet AND A.objet=" . sql_quote($objet['objet']), "R.{$id_table_objet} IS NULL AND A.objet=" . sql_quote($objet['objet']) . " AND A.id_objet > 0", "A.id_objet", "A.id_objet");
while ($row = sql_fetch($res)) {
$in[$row['id_objet']] = true;
}
sql_free($res);
/**
* Si on a un array
* On supprime toute occurence des objets disparus dans :
* -* spip_versions
* -* spip_versions_fragments
*/
if ($in) {
foreach (array('spip_versions', 'spip_versions_fragments') as $table) {
sql_delete($table, sql_in('id_objet', array_keys($in)) . " AND objet=" . sql_quote($objet['objet']));
}
}
}
}
示例5: action_supprimer_url_dist
function action_supprimer_url_dist($arg = null)
{
if (is_null($arg)) {
// Rien a faire ici pour le moment
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
}
if (strncmp($arg, "-1-", 3) == 0) {
$id_parent = -1;
$url = substr($arg, 3);
} else {
$arg = explode('-', $arg);
$id_parent = array_shift($arg);
$url = implode('-', $arg);
}
$where = 'id_parent=' . intval($id_parent) . " AND url=" . sql_quote($url);
if ($row = sql_fetsel('*', 'spip_urls', $where)) {
if (autoriser('modifierurl', $row['type'], $row['id_objet'])) {
sql_delete('spip_urls', $where);
} else {
spip_log('supprimer sans autorisation l\'URL ' . $id_parent . "://" . $url, "urls." . _LOG_ERREUR);
}
} else {
spip_log('Impossible de supprimer une URL inconnue ' . $id_parent . "://" . $url, "urls." . _LOG_INFO_IMPORTANTE);
}
}
示例6: action_clevermail_list_subscriber_clear_dist
function action_clevermail_list_subscriber_clear_dist()
{
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
if (sql_countsel("spip_cm_lists_subscribers AS list, spip_cm_subscribers AS sub", "list.sub_id = sub.sub_id AND sub.sub_email LIKE '%@example.com'")) {
$subscribers = sql_select("sub.sub_id", "spip_cm_lists_subscribers AS list, spip_cm_subscribers AS sub", "list.sub_id = sub.sub_id AND sub.sub_email LIKE '%@example.com'", "list.sub_id", "", "");
$sub_deleted = "";
while ($subscriber = sql_fetch($subscribers)) {
sql_delete("spip_cm_lists_subscribers", "sub_id = " . intval($subscriber['sub_id']));
sql_delete("spip_cm_pending", "sub_id = " . intval($subscriber['sub_id']));
$sub_deleted = $sub_deleted . ' ' . intval($subscriber['sub_id']);
}
spip_log('Suppression des abonnements ' . $sub_deleted, 'clevermail');
} else {
spip_log('Il n\'y a pas d\'abonnement à supprimer', 'clevermail');
}
if (sql_countsel("spip_cm_lists_subscribers", "", "lsr_id", "count(lsr_id) > 1") > 1) {
$doublons = sql_select("lsr_id", "spip_cm_lists_subscribers", "", "lsr_id", "", "", "count(lsr_id) > 1");
while ($doublon = sql_fetch($doublons)) {
$lists = sql_select("lst_id, sub_id", "spip_cm_lists_subscribers", "lsr_id ='" . $doublon['lsr_id'] . "'");
while ($list = sql_fetch($lists)) {
sql_updateq("spip_cm_lists_subscribers", array('lsr_id' => md5('subscribe#' . intval($list['lst_id']) . '#' . intval($list['sub_id']) . '#' . time())), "lst_id=" . sql_quote($list['lst_id']) . " AND sub_id=" . sql_quote($list['sub_id']));
}
}
}
//Récupération du timestamp du mois dernier
$today = time();
$date_today = date("d:m:Y", $today);
$today_exploded = explode(":", $date_today);
$mois = (int) $today_exploded[1];
$mois = --$mois;
$valid_date = mktime(0, 0, 0, $mois, $today_exploded[0], $today_exploded[2]);
sql_delete("spip_cm_pending", "pnd_action_date <" . $valid_date);
spip_log('Suppression des abonnements en attente depuis plus d\'un mois', 'clevermail');
}
示例7: action_supprimer_rubrique
function action_supprimer_rubrique($r)
{
list(,,$id_rubrique) = $r;
sql_delete("spip_rubriques", "id_rubrique=$id_rubrique");
sql_delete("spip_mots_rubriques", "id_rubrique=$id_rubrique");
// Les admin restreints qui n'administraient que cette rubrique
// deviennent redacteurs
// (il y a sans doute moyen de faire ca avec un having)
$q = sql_select("id_auteur", "spip_auteurs_rubriques", "id_rubrique=$id_rubrique");
while ($r = sql_fetch($q)) {
$id_auteur = $r['id_auteur'];
sql_delete("spip_auteurs_rubriques", "id_rubrique=$id_rubrique AND id_auteur=$id_auteur");
$n = sql_countsel("spip_auteurs_rubriques", "id_auteur=$id_auteur");
if (!$n)
sql_updateq("spip_auteurs", array("statut" => '1comite'), "id_auteur=$id_auteur");
}
// menu_rubriques devra recalculer
effacer_meta("date_calcul_rubriques");
// Une rubrique supprimable n'avait pas le statut "publie"
// donc rien de neuf pour la rubrique parente
include_spip('inc/rubriques');
calculer_langues_rubriques();
// invalider les caches marques de cette rubrique
include_spip('inc/invalideur');
suivre_invalideur("id='id_rubrique/$id_rubrique'");
}
示例8: deleteBill
/**
* Удаление счета
*
* @param integer $bill_id
*/
function deleteBill($bill_id)
{
$auth_obj =& Registry::get('TUserAuth');
$client = $auth_obj->getCurrentUserData();
// Проверяем принадлежность
if ($client['id'] != sql_getValue('SELECT client_id FROM bills WHERE id=' . $bill_id)) {
redirect("/cabinet/bills/");
}
$page =& Registry::get('TPage');
// Подготовка данных для отправки письма
$bill = sql_getRow('SELECT * FROM bills WHERE id=' . $bill_id);
$bill['r_comp'] = array();
foreach ($bill as $key => $val) {
if ($key != 'r_comp' && substr($key, 0, strlen('r_comp_')) == 'r_comp_') {
$bill['r_comp'][$key] = $val;
}
}
$tmpl = $this->getParseBill($this->tmpl[$bill['method']][$bill['client_type']], $bill);
require_once './modules/pclzip.lib.php';
$dir = getcwd();
chdir(dirname($tmpl));
$zip = new PclZip('bill.zip');
$zip->create(basename($tmpl));
chdir($dir);
$res = sql_delete('bills', $bill_id);
if ($res) {
// Уведомление для администратора
sendEmail($page->tpl->get_config_vars('admin_email'), $page->tpl->get_config_vars('robot_email'), $page->tpl->get_config_vars('cabinet_delete_bill_subj'), $page->tpl->get_config_vars('cabinet_delete_bill_mail'), $bill, PATH_CACHE . 'tmp/' . session_id() . '/bill.zip');
redirect("/cabinet/bills/?msg=cabinet_msg_bill_delete_success");
} else {
redirect("/cabinet/bills/?msg=msg_fail");
}
}
示例9: action_supprimer_rubrique_dist
/**
* Effacer une rubrique
*
* http://doc.spip.org/@action_supprimer_dist
*
* @param null $id_rubrique
* @return void
*/
function action_supprimer_rubrique_dist($id_rubrique = null)
{
if (is_null($id_rubrique)) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$id_rubrique = $securiser_action();
}
if (intval($id_rubrique)) {
sql_delete("spip_rubriques", "id_rubrique=" . intval($id_rubrique));
// Les admin restreints qui n'administraient que cette rubrique
// deviennent redacteurs
// (il y a sans doute moyen de faire ca avec un having)
$q = sql_select("id_auteur", "spip_auteurs_liens", "objet='rubrique' AND id_objet=" . intval($id_rubrique));
while ($r = sql_fetch($q)) {
$id_auteur = $r['id_auteur'];
// degrader avant de supprimer la restriction d'admin
// section critique sur les droits
$n = sql_countsel("spip_auteurs_liens", "objet='rubrique' AND id_objet!=" . intval($id_rubrique) . " AND id_auteur=" . intval($id_auteur));
if (!$n) {
include_spip('action/editer_auteur');
auteurs_set($id_auteur, array("statut" => '1comite'));
}
sql_delete("spip_auteurs_liens", "objet='rubrique' AND id_objet=" . intval($id_rubrique) . " AND id_auteur=" . intval($id_auteur));
}
// menu_rubriques devra recalculer
effacer_meta("date_calcul_rubriques");
// Une rubrique supprimable n'avait pas le statut "publie"
// donc rien de neuf pour la rubrique parente
include_spip('inc/rubriques');
calculer_langues_rubriques();
// invalider les caches marques de cette rubrique
include_spip('inc/invalideur');
suivre_invalideur("id='rubrique/{$id_rubrique}'");
}
}
示例10: cpub_optimiser_base_disparus
/**
* Optimiser la base de données en supprimant les liens orphelins
* de l'objet vers quelqu'un et de quelqu'un vers l'objet.
*
* @pipeline optimiser_base_disparus
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function cpub_optimiser_base_disparus($flux)
{
$mydate = $flux['args']['date'];
sql_delete("spip_publicites", "statut='poubelle' AND maj < {$mydate}");
sql_delete("spip_bannieres", "statut='poubelle' AND maj < {$mydate}");
return $flux;
}
示例11: roles_auteurs_vider_tables
/**
* Fonction de désinstallation du plugin.
**/
function roles_auteurs_vider_tables($nom_meta_base_version) {
// tant qu'il existe des doublons, on supprime une ligne doublonnée
// sinon on ne pourra pas modifier la cle primaire ensuite
// cet algo est certainement a optimiser
while ($doublons = sql_allfetsel(
array('id_auteur', 'id_objet', 'objet', 'role'),
array('spip_auteurs_liens'),
'', 'id_auteur,id_objet,objet', '', '', 'COUNT(*) > 1'))
{
foreach ($doublons as $d) {
$where = array();
foreach ($d as $cle=>$valeur) {
$where[] = "$cle=".sql_quote($valeur);
}
sql_delete('spip_auteurs_liens', $where);
}
}
// supprimer la clé primaire, la colonne rôle, et remettre l'ancienne clé primaire
sql_alter("TABLE spip_auteurs_liens DROP PRIMARY KEY");
sql_alter("TABLE spip_auteurs_liens DROP COLUMN role");
sql_alter("TABLE spip_auteurs_liens ADD PRIMARY KEY (id_auteur,id_objet,objet)");
effacer_meta($nom_meta_base_version);
}
示例12: 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;
}
示例13: action_instituer_groupe_mots_post
function action_instituer_groupe_mots_post($id_groupe)
{
if ($id_groupe < 0){
sql_delete("spip_groupes_mots", "id_groupe=" . (0- $id_groupe));
}
else
spip_log('appel deprecie, rien a faire ici (voir action/edite_groupe_mot)');
}
示例14: action_referer_spam_supprimer
function action_referer_spam_supprimer($p, $arg)
{
include_spip('base/abstract_sql');
$url = $_GET['url'];
if (sql_countsel("spip_referer_spam", "referer LIKE '%{$url}%'")) {
sql_delete("spip_referer_spam", "referer LIKE '%{$url}%'");
}
}
示例15: inc_prepare_recherche_dist
/**
* Préparer les listes `id_article IN (...)` pour les parties WHERE
* et calcul des `points` pour la partie SELECT des requêtes du moteur de recherche
*
* Le paramètre $serveur est utilisé pour savoir sur quelle base on cherche
* mais l'index des résultats est toujours stocké sur le serveur principal
* car on ne sait pas si la base distante dispose d'une table spip_resultats
* ni meme si on aurait le droit d'ecrire dedans
*
* @param string $recherche
* chaine recherchee
* @param string $table
* table dans laquelle porte la recherche
* @param bool $cond
* critere conditionnel sur {recherche?}
* @param string $serveur
* serveur de base de donnees
* @param array $modificateurs
* modificateurs de boucle, ie liste des criteres presents
* @param string $primary
* cle primaire de la table de recherche
* @return array
*/
function inc_prepare_recherche_dist($recherche, $table = 'articles', $cond = false, $serveur = '', $modificateurs = array(), $primary = '')
{
static $cache = array();
$delai_fraicheur = min(_DELAI_CACHE_resultats, time() - (isset($GLOBALS['meta']['derniere_modif']) ? $GLOBALS['meta']['derniere_modif'] : 0));
// si recherche n'est pas dans le contexte, on va prendre en globals
// ca permet de faire des inclure simple.
if (!isset($recherche) and isset($GLOBALS['recherche'])) {
$recherche = $GLOBALS['recherche'];
}
// traiter le cas {recherche?}
if ($cond and !strlen($recherche)) {
return array("0 as points", '');
}
$rechercher = false;
if (!isset($cache[$serveur][$table][$recherche])) {
$hash_serv = $serveur ? substr(md5($serveur), 0, 16) : '';
$hash = substr(md5($recherche . $table), 0, 16);
$where = "(resultats.recherche='{$hash}' AND resultats.table_objet=" . sql_quote($table) . " AND resultats.serveur='{$hash_serv}')";
$row = sql_fetsel('UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(resultats.maj) AS fraicheur', 'spip_resultats AS resultats', $where, '', 'fraicheur DESC', '0,1');
if (!$row or $row['fraicheur'] > $delai_fraicheur or defined('_VAR_MODE') and _VAR_MODE == 'recalcul') {
$rechercher = true;
}
}
// si on n'a pas encore traite les donnees dans une boucle precedente
if ($rechercher) {
//$tables = liste_des_champs();
$x = objet_type($table);
$points = recherche_en_base($recherche, $x, array('score' => true, 'toutvoir' => true, 'jointures' => true), $serveur);
// pas de résultat, pas de point
$points = isset($points[$x]) ? $points[$x] : array();
// permettre aux plugins de modifier le resultat
$points = pipeline('prepare_recherche', array('args' => array('type' => $x, 'recherche' => $recherche, 'serveur' => $serveur, 'modificateurs' => $modificateurs), 'data' => $points));
// supprimer les anciens resultats de cette recherche
// et les resultats trop vieux avec une marge
// pas de AS resultats dans un delete (mysql)
$whered = str_replace(array("resultats.recherche", "resultats.table_objet", "resultats.serveur"), array("recherche", "table_objet", "serveur"), $where);
sql_delete('spip_resultats', 'NOT(' . sql_date_proche('maj', 0 - ($delai_fraicheur + 100), " SECOND") . ") OR ({$whered})");
// inserer les resultats dans la table de cache des resultats
if (count($points)) {
$tab_couples = array();
foreach ($points as $id => $p) {
$tab_couples[] = array('recherche' => $hash, 'id' => $id, 'points' => $p['score'], 'table_objet' => $table, 'serveur' => $hash_serv);
}
sql_insertq_multi('spip_resultats', $tab_couples, array());
}
}
if (!isset($cache[$serveur][$table][$recherche])) {
if (!$serveur) {
$cache[$serveur][$table][$recherche] = array("resultats.points AS points", $where);
} else {
if (sql_countsel('spip_resultats as resultats', $where)) {
$rows = sql_allfetsel('resultats.id,resultats.points', 'spip_resultats as resultats', $where);
}
$cache[$serveur][$table][$recherche] = generer_select_where_explicites($table, $primary, $rows, $serveur);
}
}
return $cache[$serveur][$table][$recherche];
}