[ Index ] |
|
Code source de SPIP Agora 1.4 |
1 <?php 2 /***************************************************** 3 * This file is part of Agora, web based content management system. 4 * 5 * Agora is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; version 2 of the License. 8 * 9 * Agora is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details (file "COPYING"). 13 * 14 * Copyright © Arnaud Martin, Antoine Pitrou et Philippe Rivière. 15 * List of authors detailed in "copyright_fr.html" file. 16 * E-mail : agora@sig.premier-ministre.gouv.fr 17 * Web site : http://www.agora.gouv.fr 18 *****************************************************/ 19 // $id$ 20 // Base class for the table ".$GLOBALS['table_prefix']."_cm_lists_subscribers 21 // 22 23 if (defined("_BD_SUBSCRIBE_LINK")) 24 return; 25 26 define("_BD_SUBSCRIBE_LINK", "1"); 27 28 require_once("PEAR.php"); 29 require_once("DB.php"); 30 require_once dirname(__FILE__). "/metier.php"; 31 require_once dirname(__FILE__). "/inc_subscriber_cm_factory.php"; 32 require_once dirname(__FILE__). "/inc_subscriber_pending_factory.php"; 33 34 define("TIMEMAX", 2592000); //Nombre de seconde dans un mois 35 define("SUBSCRIBERS_LINK", "lst_id, sub_id, lsr_mode, lsr_id"); 36 define("NEWSLETTER_ALL_LIST", 37 "lst_id, lst_name, lst_comment, lst_moderation, lst_moderator_email, lst_subscribe_subject, lst_subscribe_text, lst_subject, lst_unsubscribe_subject, lst_unsubscribe_text, lst_subject_tag, lst_html_skeleton, lst_text_skeleton, lst_nb_articles"); 38 define("SUBSCRIBERS_ALL_FIELDS", 39 "sub_id, sub_email, sub_first_name, sub_middle_name, sub_last_name, sub_title ,sub_profile"); 40 define("SUBSCRIBERS_PENDING", "lst_id, sub_id, pnd_action, pnd_mode, pnd_action_date, pnd_action_id"); 41 /** 42 * Gestion des membres inscrits à la NewsLetter 43 * @author François Xavier LACROIX <fxlacroix@clever-age.com> 44 * @access public 45 */ 46 47 class BD_subscriber_link extends BD_metier { 48 49 /** 50 * subscriber id. 51 * @var int 52 * @access private 53 */ 54 var $_lst_id; 55 56 /** 57 * sub_id. 58 * @var int 59 * @access private 60 */ 61 var $_sub_id; 62 63 /** 64 * lsr_mode 65 * @var int 66 * @access private 67 */ 68 var $_lsr_mode; 69 70 /** 71 * lsr_id 72 * @var string 73 * @access private 74 */ 75 var $_lsr_id; 76 77 /** 78 * DB_subscriber link constructor. 79 * 80 * @access public 81 */ 82 // {{{ bdSubscriberLink 83 function bdSubscriberLink () { } 84 85 // }}} 86 87 // {{{ getLstId() 88 function getLstId () { 89 return $this->_lst_id; 90 } 91 92 // }}} 93 94 // {{{ setLstId() 95 function setLstId ($id) { 96 $this->_lst_id = $id; 97 } 98 99 // }}} 100 101 // {{{ getSubId() 102 function getSubId () { 103 return $this->_sub_id; 104 } 105 106 // }}} 107 108 // {{{ setSubId() 109 function setSubId ($id) { 110 $this->_sub_id = $id; 111 } 112 113 // }}} 114 115 // {{{ getLsrMode() 116 function getLsrMode () { 117 return $this->_lsr_mode; 118 } 119 120 // }}} 121 122 // {{{ setLsrMode() 123 function setLsrMode ($id) { 124 $this->_lsr_mode = $id; 125 } 126 127 // }}} 128 129 // {{{ getLsrId() 130 function getLsrId () { 131 return $this->_lsr_id; 132 } 133 134 // }}} 135 136 // {{{ setLsrId() 137 function setLsrId ($id) { 138 $this->_lsr_id = $id; 139 } 140 141 // }}} 142 143 // {{{ Create() 144 //Fonction de création d'un objet dans la table ".$GLOBALS['table_prefix']."_cm_lists_subscribers 145 146 function create () { 147 $db = &$this->_getDB(); 148 149 if (DB::isError($db)) { 150 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : create()] " . $db->getMessage(). "", 151 null, 152 null, 153 null, 154 null, 155 null, 156 false); 157 } 158 159 if ($this->_lst_id == null) 160 $this->_lst_id = 0; 161 162 if ($this->_sub_id == null) 163 $this->_sub_id = 0; 164 165 if ($this->_lsr_mode == null) 166 $this->_lsr_mode = 0; 167 168 if ($this->_lsr_id == null) { 169 $actionId = md5('subscribe#' . $id_newsletter . '#' . $id_sub . '#' . time()); 170 $this->_lsr_id = $actionId; 171 } 172 173 $query 174 = "INSERT INTO " . $GLOBALS['table_prefix']. "_cm_lists_subscribers (" . SUBSCRIBERS_LINK . ") VALUES " . "('" . $this->_lst_id . "', " . "'" . $this->_sub_id . "', " . "'" . $this->_lsr_mode . "', " . "'" . $this->_lsr_id . "')"; 175 176 //echo"<br />$query<br><br />"; 177 $result = $db->query($query); 178 179 if (DB::isError($result)) { 180 return PEAR::raiseError( 181 "[" . get_class($this). " DB_subscriber_link : create()] " . $result->getMessage(). "", null, 182 null, null, 183 null, null, 184 false); 185 } 186 } 187 188 // }}} 189 190 // {{{ load_sub() 191 //Load_sub() charge un objet de la base par son identifiant sub_id 192 193 function loadSub ($sub_id) { 194 $db = &$this->_getDB(); 195 196 if (DB::isError($db)) { 197 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : loadSub()] " . $db->getMessage(). "", 198 null, 199 null, 200 null, 201 null, 202 null, 203 false); 204 } 205 206 $query 207 = "SELECT " . SUBSCRIBERS_LINK . " FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers WHERE sub_id = $sub_id"; 208 $result = $db->query($query); 209 210 if (DB::isError($result)) { 211 return PEAR::raiseError( 212 "[" . get_class($this). " DB_subscriber_link : loadSub()] " . $result->getMessage(). "", null, 213 null, null, 214 null, null, 215 false); 216 } 217 else { 218 if ($row = $result->fetchRow()) { 219 $this->_lst_id = $row['lst_id']; 220 $this->_sub_id = $row['sub_id']; 221 $this->_lsr_mode = $row['lsr_mode']; 222 $this->_lsr_id = $row['lsr_id']; 223 } 224 else { 225 return PEAR::raiseError( 226 "[" . get_class($this). " DB_subscriber_link : loadSub($idArticle)] Aucuns liens associés!", 227 null, 228 null, 229 null, 230 null, 231 null, 232 false); 233 } 234 $result->free(); 235 } 236 } 237 238 // }}} 239 240 // {{{ load_lst() 241 //load_lst() charge un objet de la base par son identifiant lst_id 242 243 function loadLst ($lst_id) { 244 $db = &$this->_getDB(); 245 246 if (DB::isError($db)) { 247 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : loadLst()] " . $db->getMessage(). "", 248 null, 249 null, 250 null, 251 null, 252 null, 253 false); 254 } 255 256 $query 257 = "SELECT " . SUBSCRIBERS_LINK . " FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers WHERE lst_id = $lst_id"; 258 259 $result = $db->query($query); 260 261 if (DB::isError($result)) { 262 return PEAR::raiseError( 263 "[" . get_class($this). " DB_subscriber_link : loadLst()] " . $result->getMessage(). "", null, 264 null, null, 265 null, null, 266 false); 267 } 268 else { 269 if ($row = $result->fetchRow()) { 270 $this->_lst_id = $row['lst_id']; 271 $this->_sub_id = $row['sub_id']; 272 $this->_lsr_mode = $row['lsr_mode']; 273 $this->_lsr_id = $row['lsr_id']; 274 } 275 else { 276 return PEAR::raiseError( 277 "[" . get_class($this). " DB_subscriber_link : loadLst()] Aucuns liens associés!", null, 278 null, null, 279 null, null, 280 false); 281 } 282 $result->free(); 283 } 284 } 285 286 // }}} 287 288 // {{{ LoadLstSub() 289 //loadLstSub() charge un objet de la base par son identifiant lst_id 290 291 function loadLstSub ($lst_id = '', $sub_id = '') { 292 $db = &$this->_getDB(); 293 294 if (DB::isError($db)) { 295 return PEAR::raiseError( 296 "[" . get_class($this). " DB_subscriber_link : loadLstSub()] " . $db->getMessage(). "", null, 297 null, null, 298 null, null, 299 false); 300 } 301 302 $query 303 = "SELECT " . SUBSCRIBERS_LINK . " FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers WHERE lst_id = $lst_id AND sub_id=$sub_id"; 304 305 $result = $db->query($query); 306 307 if (DB::isError($result)) { 308 return PEAR::raiseError( 309 "[" . get_class($this). " DB_subscriber_link : loadLstSub()] " . $result->getMessage(). "", null, 310 null, null, 311 null, null, 312 false); 313 } 314 else { 315 if ($row = $result->fetchRow()) { 316 $this->_lst_id = $row['lst_id']; 317 $this->_sub_id = $row['sub_id']; 318 $this->_lsr_mode = $row['lsr_mode']; 319 $this->_lsr_id = $row['lsr_id']; 320 } 321 else { 322 return PEAR::raiseError( 323 "[" . get_class($this). " DB_subscriber_link : loadLstSub()] Aucuns liens associés!", null, 324 null, null, 325 null, null, 326 false); 327 } 328 $result->free(); 329 } 330 } 331 332 // }}} 333 334 // {{{ deleteSub() 335 //La fonction delete sub() supprimer un objet de la base par son sub_id 336 //Si le sub est en entrée, alors la méthode supprimer l'objet identifié par cette valeur d'entrée 337 //Sinon la fonction supprime l'élément associé à l'objet appelant 338 339 function deleteSub ($sub_id = '') { 340 if ($sub_id == null) { 341 $sub_id = $this->get_sub_id(); 342 } 343 //echo $sub_id." <br>".$query; 344 345 $db = &$this->_getDB(); 346 347 if (DB::isError($db)) { 348 return PEAR::raiseError( 349 "[" . get_class($this). " DB_subscriber_link : deleteSub() by sub] " . $db->getMessage(). "", 350 null, 351 null, 352 null, 353 null, 354 null, 355 false); 356 } 357 358 $query = "DELETE FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers WHERE sub_id = $sub_id"; 359 360 //echo $query; 361 362 $result = $db->query($query); 363 364 if (DB::isError($result)) { 365 return PEAR::raiseError( 366 "[" . get_class($this). " DB_subscriber_link : deleteSub() by sub] " . $result->getMessage(). "", 367 null, 368 null, 369 null, 370 null, 371 null, 372 false); 373 } 374 } 375 376 // }}} 377 378 // {{{ deleteLst() 379 //La fonction delete_lst() supprimer un objet de la base par son lst_id 380 //Si le sub est en entrée, alors la méthode supprimer l'objet identifié par cette valeur d'entrée 381 //Sinon la fonction supprime l'élément associé à l'objet appelant 382 383 function deleteLst ($lst_id = '') { 384 if ($lst_id == '') 385 $lst_id = $this->get_lst_id(); 386 387 $db = &$this->_getDB(); 388 389 if (DB::isError($db)) { 390 return PEAR::raiseError( 391 "[" . get_class($this). " DB_subscriber_link : deleteLst() by lst] " . $db->getMessage(). "", 392 null, 393 null, 394 null, 395 null, 396 null, 397 false); 398 } 399 400 $query = "DELETE FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers WHERE lst_id = $lst_id"; 401 402 //echo $query; 403 404 $result = $db->query($query); 405 406 if (DB::isError($result)) { 407 return PEAR::raiseError( 408 "[" . get_class($this). " DB_subscriber_link : deleteLst() by lst] " . $result->getMessage(). "", 409 null, 410 null, 411 null, 412 null, 413 null, 414 false); 415 } 416 } 417 418 // }}} 419 420 // {{{ deleteUserList() 421 //La fonction delete user_list fait intervenir la classe link & ".$GLOBALS['table_prefix']."_cm_lists_subscribers 422 //En premier lieu, il supprime l'élément dans la table link correspondant au id lst_id & sub_id 423 //Puis il veérifie que l'utilisateur est inscrit à une autre list de newsletter 424 //Si il ne trouve pas d'autres inscription, la méthode supprime le subscriber 425 426 function deleteUserList ($lst_id, $sub_id) { 427 $db = &$this->_getDB(); 428 429 if (DB::isError($db)) { 430 return PEAR::raiseError( 431 "[" . get_class($this). " DB_subscriber_link : deleteUserList()] " . $db->getMessage(). "", null, 432 null, null, 433 null, null, 434 false); 435 } 436 437 $query 438 = "DELETE FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers WHERE lst_id = $lst_id AND sub_id=$sub_id"; 439 440 $result = $db->query($query); 441 442 if (DB::isError($result)) { 443 return PEAR::raiseError( 444 "[" . get_class($this). " DB_subscriber_link : deleteUserList()] " . $result->getMessage(). "", 445 null, 446 null, 447 null, 448 null, 449 null, 450 false); 451 } 452 else { 453 $query 454 = "SELECT " . SUBSCRIBERS_LINK . " FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers WHERE sub_id=$sub_id"; 455 456 $result = $db->query($query); 457 if (DB::isError($result)) { 458 return PEAR::raiseError( 459 "[" . get_class( 460 $this). " DB_subscriber_link : deleteUserList()] " . $result->getMessage(). "", 461 null, 462 null, 463 null, 464 null, 465 null, 466 false); 467 } 468 else { 469 if (!($row = $result->fetchRow())) { 470 $query 471 = "SELECT " . SUBSCRIBERS_PENDING . " FROM " . $GLOBALS['table_prefix']. "_cm_pending WHERE sub_id=$sub_id"; 472 473 $result = $db->query($query); 474 if (DB::isError($result)) { 475 return PEAR::raiseError( 476 "[" . get_class( 477 $this). " DB_subscriber_link : deleteUserList()] " . $result->getMessage(). "", 478 null, 479 null, null, null, null, false); 480 } 481 else { 482 if (!($row = $result->fetchRow())) { 483 $sub = &recuperer_instance_subscriber_cm(); 484 $sub->load($sub_id); 485 $retour = $sub->getSubEmail(); 486 $sub->delete($sub_id); 487 unset($sub); 488 return ($retour); 489 } 490 else 491 $sub = &recuperer_instance_subscriber_cm(); 492 493 $sub->load($sub_id); 494 $retour = $sub->getSubEmail(); 495 unset($sub); 496 return ($retour); 497 } 498 } 499 else 500 $sub = &recuperer_instance_subscriber_cm(); 501 502 $sub->load($sub_id); 503 $retour = $sub->getSubEmail(); 504 unset($sub); 505 return ($retour); 506 } 507 } 508 } 509 510 // }}} 511 512 // {{{ factory() 513 //Fonction factory pour l'instanciation de l'objet 514 515 function &factory ($dbParameters, $dbOptions = null) { 516 if (file_exists(dirname(__FILE__). "/" . $dbParameters->_dbEngine . "/subscriber_link_" . $dbParameters->_dbEngine . ".php") == false) { 517 include_once(dirname(__FILE__). "/common/subscriber_link_common.php"); 518 $classname = "BD_subscriber_link"; 519 } 520 else { 521 include_once(dirname(__FILE__). "/" . $dbParameters->_dbEngine . "/subscriber_link_" . $dbParameters->_dbEngine . ".php"); 522 $classname = "BD_subscriber_link_" . $dbParameters->_dbEngine; 523 } 524 525 if (!class_exists($classname)) { 526 return PEAR::raiseError("Cannot instanciate class $classname", null, null, null, null, null, false); 527 } 528 529 $obj = &new $classname; 530 $result = $obj->setDbParameters($dbParameters); 531 532 if ($dbOptions != null) { 533 $obj->setDbOptions($dbOptions); 534 } 535 536 if (PEAR::isError($result)) { 537 return $result; 538 } 539 else { 540 return $obj; 541 } 542 } 543 544 // }}} 545 546 // {{{ nbUserHtmlText() HTML / TEXT 547 //La fonction nbuser retourne le nombre de users pour une lettre id de la table link 548 549 function nbUserHtmlText ($id) { 550 $tabmode2 = array(); 551 $db = &$this->_getDB(); 552 553 if (DB::isError($db)) { 554 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : nbUser()] " . $db->getMessage(). "", null, null, null, null, null, false); 555 } 556 557 $query = "SELECT COUNT(*) compteur, lsr_mode FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers WHERE lst_id = $id GROUP BY lsr_mode"; 558 559 $result = $db->query($query); 560 561 if (DB::isError($result)) { 562 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : nbUser()] " . $result->getMessage(). "", null, null, null, null, null, false); 563 } 564 else { 565 $iHtml = 0; 566 $iTxt = 0; 567 while ($row = $result->fetchRow()) { 568 if ($row['lsr_mode'] == 0) { 569 $iHtml = $row['compteur']; 570 } 571 else { 572 $iTxt = $row['compteur']; 573 } 574 } 575 } 576 577 $tabmode2[0] = $iTxt; 578 $tabmode2[1] = $iHtml; 579 return ($tabmode2); 580 } 581 // }}} 582 583 // {{{ verification() 584 //Fonction de vérification si les users ne sont pas et dans pending et dans link 585 //Supprimer les utilisateurs qui ne sont pas dans la tables des subscribers mais 586 //dans la table des pending et des link 587 588 function verification () { 589 $db = &$this->_getDB(); 590 591 if (DB::isError($db)) { 592 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : verification()] " . $db->getMessage(). "", null, null, null, null, null, false); 593 } 594 595 $query = "SELECT " . SUBSCRIBERS_LINK . " FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers"; 596 597 $result1 = $db->query($query); 598 599 if (DB::isError($result1)) { 600 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : verification()] " . $result1->getMessage(). "", null, null, null, null, null, false); 601 } 602 else { 603 $i = 0; 604 while ($row = $result1->fetchRow()) { 605 $id = $row['lst_id']; 606 $sub = $row['sub_id']; 607 $sub_pend = &recuperer_instance_subscriber_pending(); 608 609 if ($sub_pend->loadLstSub($id, $sub)) { 610 $sub_pend->deleteLstSub($id, $sub); 611 $i++; 612 } 613 unset($sub_pend); 614 } 615 } 616 617 $result1->free(); 618 619 $query = "SELECT " . SUBSCRIBERS_LINK . " FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers"; 620 621 $result2 = $db->query($query); 622 623 if (DB::isError($result2)) { 624 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : verification()] " . $result2->getMessage(). "", null, null, null, null, null, false); 625 } 626 else { 627 $tab = ""; 628 while ($row = $result2->fetchRow()) { 629 $tab[] = $row['sub_id']; 630 } 631 } 632 633 $result2->free(); 634 635 $query = "SELECT " . SUBSCRIBERS_PENDING . " FROM " . $GLOBALS['table_prefix']. "_cm_pending"; 636 637 $result3 = $db->query($query); 638 639 if (DB::isError($result3)) { 640 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : verification()] " . $result3->getMessage(). "", null, null, null, null, null, false); 641 } 642 else { 643 while ($row = $result3->fetchRow()) { 644 $tab[] = $row['sub_id']; 645 } 646 } 647 648 $result3->free(); 649 650 if ($tab) 651 foreach ($tab as $t) { 652 $query = "SELECT " . SUBSCRIBERS_ALL_FIELDS . " FROM " . $GLOBALS['table_prefix']. "_cm_subscribers WHERE sub_id=$t"; 653 654 $result4 = $db->query($query); 655 656 if (DB::isError($result4)) { 657 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : verification()] " . $result4->getMessage(). "", null, null, null, null, null, false); 658 } 659 else { 660 if (!($row = $result4->fetchRow())) { 661 $query = "DELETE FROM " . $GLOBALS['table_prefix']. "_cm_pending WHERE sub_id=$t"; 662 663 $result = $db->query($query); 664 665 $query = "DELETE FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers WHERE sub_id=$t"; 666 667 $result = $db->query($query); 668 //$result->free(); 669 $i++; 670 } 671 } 672 $result4->free(); 673 } 674 675 $query = "SELECT " . SUBSCRIBERS_ALL_FIELDS . " FROM " . $GLOBALS['table_prefix']. "_cm_subscribers"; 676 677 $result5 = $db->query($query); 678 679 if (DB::isError($result5)) { 680 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : verification()] " . $result5->getMessage(). "", null, null, null, null, null, false); 681 } 682 else { 683 $tab = ""; 684 while ($row = $result5->fetchRow()) { 685 $tab[] = $row['sub_id']; 686 } 687 } 688 689 $result5->free(); 690 691 if ($tab) { 692 foreach ($tab as $t) { 693 $query = "SELECT " . SUBSCRIBERS_PENDING . " FROM " . $GLOBALS['table_prefix']. "_cm_pending WHERE sub_id=$t"; 694 695 $result6 = $db->query($query); 696 697 if (DB::isError($result6)) { 698 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : verification()] " . $result6->getMessage(). "", null, null, null, null, null, false); 699 } 700 else { 701 if (!($row = $result6->fetchRow())) { 702 $query = "SELECT " . SUBSCRIBERS_LINK . " FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers"; 703 704 $result7 = $db->query($query); 705 if (DB::isError($result7)) { 706 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : verification()] " . $result7->getMessage(). "", null, null, null, null, null, false); 707 } 708 else { 709 if (!($row = $result7->fetchRow())) { 710 $query = "DELETE FROM " . $GLOBALS['table_prefix']. "_cm_subscribers WHERE sub_id=$t"; 711 712 $result = $db->query($query); 713 714 if (DB::isError($result)) { 715 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : verification()] " . $result7->getMessage(). "", null, null, null, null, null, false); 716 } 717 $i++; 718 } 719 $result7->free(); 720 } 721 } 722 } 723 $result6->free(); 724 } 725 } 726 727 $query = "SELECT " . SUBSCRIBERS_PENDING . " FROM " . $GLOBALS['table_prefix']. "_cm_pending"; 728 729 //echo '<br />' . $query . '<br />'; 730 $result8 = $db->query($query); 731 732 if (DB::isError($result8)) { 733 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : verification()] " . $result8->getMessage(). "", null, null, null, null, null, false); 734 } 735 else { 736 while ($row = $result8->fetchRow()) { 737 $tab = $row['pnd_action_date']; 738 if (time() - $tab > TIMEMAX) { 739 $query = "DELETE FROM " . $GLOBALS['table_prefix']. "_cm_pending WHERE sub_id=" . $row['sub_id']. " AND lst_id=" . $row['lst_id']; 740 741 $result = $db->query($query); 742 $i++; 743 } 744 } 745 746 $result8->free(); 747 748 return $i; 749 } 750 751 // }}} 752 753 // {{{ vider() 754 //La méthode vider supprimer tous les utilisateurs de la liste correspondante 755 756 function vider ($id) { 757 $db = &$this->_getDB(); 758 759 if (DB::isError($db)) { 760 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : vider()] " . $db->getMessage(). "", null, null, null, null, null, false); 761 } 762 763 $query = "SELECT " . SUBSCRIBERS_LINK . " FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers WHERE lst_id = $id"; 764 765 $result = $db->query($query); 766 767 if (DB::isError($result)) { 768 return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : vider()] " . $result->getMessage(). "", null, null, null, null, null, false); 769 } 770 else { 771 while ($row = $result->fetchRow()) { 772 $this->deleteUserList($id, $row['sub_id']); 773 } 774 } 775 } 776 } 777 778 // }}} 779 } 780 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Feb 24 14:40:03 2007 | par Balluche grâce à PHPXref 0.7 |