function gen_date() { global $dbh; global $msg; global $include_path; if ($this->modele_id) { $dummy = "delete FROM abts_grille_modele WHERE num_modele='{$this->modele_id}' "; pmb_mysql_query($dummy, $dbh); $date = construitdateheuremysql($this->date_debut); $date_fin = construitdateheuremysql($this->date_fin); //Lire la périodicté $duree = 1; $requete = "select duree,unite from abts_periodicites where periodicite_id='{$this->num_periodicite}'"; $resultat = pmb_mysql_query($requete); if ($r = pmb_mysql_fetch_object($resultat)) { $duree = $r->duree; $unite = $r->unite; do { $dayofweek = pmb_sql_value("SELECT DAYOFWEEK('{$date}')"); //1 = Dimanche, 2 = Lundi, ... 7 = Samedi if ($dayofweek == 1) { $dayofweek = 8; } $dayofweek--; $day = pmb_sql_value("SELECT DAYOFMONTH('{$date}')"); // 1 à 31 $month = pmb_sql_value("SELECT MONTH('{$date}')"); //1 à 12 $week = pmb_sql_value("SELECT WEEK('{$date}',5)") + 1; //0 ... 53 //calcul numero de semaine dans le mois $weekofmonth = ($day + 7 - $dayofweek) / 7 + 1; //Mois dans l'année exclu if ($this->month_year[$month - 1]) { if ($this->week_year[$week - 1]) { if ($this->week_month[$weekofmonth - 1]) { if ($this->day_month[$day - 1]) { if ($this->days[$dayofweek - 1]) { //c'est un jour prévu de réception $requete = "INSERT INTO abts_grille_modele SET num_modele='{$this->modele_id}', date_parution ='{$date}', type_serie = '1'"; pmb_mysql_query($requete, $dbh); } } } } } // Calcul de la date suivante à analyser et la sortie du while if ($unite == 0) { $sql_add = "INTERVAL {$duree} DAY"; } if ($unite == 1) { $sql_add = "INTERVAL {$duree} MONTH"; } if ($unite == 2) { $sql_add = "INTERVAL {$duree} YEAR"; } $date = pmb_sql_value("SELECT DATE_ADD('{$date}', {$sql_add})"); $diff = pmb_sql_value("SELECT DATEDIFF('{$date_fin}','{$date}')"); } while ($diff >= 0 && $duree != 0); } } }
function update($temp) { global $dbh; global $msg; global $max_categ; global $group_type; if ($this->id_bannette) { // update $req = "UPDATE bannettes set "; $clause = " WHERE id_bannette='" . $this->id_bannette . "'"; } else { $req = "insert into bannettes set date_last_remplissage=sysdate(), "; $clause = ""; } $req .= "num_classement='{$temp->num_classement}',"; $req .= "nom_bannette='{$temp->nom_bannette}',"; $req .= "comment_gestion='{$temp->comment_gestion}',"; $req .= "comment_public='{$temp->comment_public}',"; $req .= "bannette_tpl_num='{$temp->bannette_tpl_num}',"; $req .= "entete_mail='{$temp->entete_mail}',"; $req .= "piedpage_mail='{$temp->piedpage_mail}',"; $req .= "notice_tpl='{$temp->notice_tpl}',"; $req .= "proprio_bannette='{$temp->proprio_bannette}',"; $req .= "bannette_auto='{$temp->bannette_auto}',"; $req .= "periodicite='{$temp->periodicite}',"; $req .= "diffusion_email='{$temp->diffusion_email}',"; $req .= "statut_not_account='{$temp->statut_not_account}',"; $req .= "nb_notices_diff='{$temp->nb_notices_diff}',"; $req .= "categorie_lecteurs='{$temp->categorie_lecteurs}',"; $req .= "groupe_lecteurs='{$temp->groupe_lecteurs}',"; $req .= "update_type='{$temp->update_type}',"; $req .= "num_panier='{$temp->num_panier}',"; $req .= "limite_type='{$temp->limite_type}',"; $req .= "limite_nombre='{$temp->limite_nombre}',"; $req .= "typeexport='{$temp->typeexport}',"; $req .= "prefixe_fichier='{$temp->prefixe_fichier}',"; $req .= "group_type='{$group_type}',"; $req .= "group_pperso='{$temp->group_pperso}',"; $req .= "display_notice_in_every_group='{$temp->display_notice_in_every_group}',"; $req .= "archive_number='{$temp->archive_number}',"; $req .= "param_export='" . addslashes(serialize($temp->param_export)) . "',"; $req .= "document_generate='{$temp->document_generate}',"; $req .= "document_notice_tpl='{$temp->document_notice_tpl}',"; $req .= "document_insert_docnum='{$temp->document_insert_docnum}',"; $req .= "document_group='{$temp->document_group}',"; $req .= "document_add_summary='{$temp->document_add_summary}',"; $req .= "bannette_opac_accueil='{$temp->bannette_opac_accueil}',"; if (!$temp->date_last_envoi) { $req .= "date_last_envoi=sysdate() "; } else { $req .= "date_last_envoi='" . construitdateheuremysql($temp->date_last_envoi) . "' "; } $req .= $clause; $res = pmb_mysql_query($req, $dbh); if (!$this->id_bannette) { $this->id_bannette = pmb_mysql_insert_id(); } $this->descriptors = array(); for ($i = 0; $i < $max_categ; $i++) { $categ_id = 'f_categ_id' . $i; global ${$categ_id}; if (${$categ_id} > 0) { $this->descriptors[] = ${$categ_id}; } } $del = "delete from bannettes_descriptors where num_bannette = '" . $this->id_bannette . "'"; pmb_mysql_query($del); for ($i = 0; $i < count($this->descriptors); $i++) { $rqt = "insert into bannettes_descriptors set num_bannette = '" . $this->id_bannette . "', num_noeud = '" . $this->descriptors[$i] . "', bannette_descriptor_order='" . $i . "'"; pmb_mysql_query($rqt); } $facette = new bannette_facettes($this->id_bannette); $facette->save(); }
function gen_date($garder = 0) { global $dbh; global $msg; global $include_path; if ($this->abt_id) { if (!$garder) { $dummy = "delete FROM abts_grille_abt WHERE num_abt='{$this->abt_id}' and state='0'"; mysql_query($dummy, $dbh); } $date = $date_debut = construitdateheuremysql($this->date_debut); $date_fin = construitdateheuremysql($this->date_fin); //Pour tous les modèles utilisé dans l'abonnement, on recopie les grilles modèles dans la grille abonnement $requete = "select modele_id from abts_abts_modeles where abt_id='{$this->abt_id}'"; $resultat_a = mysql_query($requete, $dbh); while ($r_a = mysql_fetch_object($resultat_a)) { $modele_id = $r_a->modele_id; $requete = "select * from abts_grille_modele where num_modele='{$modele_id}'"; $resultat = mysql_query($requete); while ($r_g = mysql_fetch_object($resultat)) { //Ne garder les bulletins compris entre les dates de début et fin d'abonnement if (pmb_sql_value("SELECT DATEDIFF('{$date_fin}','{$r_g->date_parution}')") >= 0 && pmb_sql_value("SELECT DATEDIFF('{$date_debut}','{$r_g->date_parution}')") <= 0) { for ($i = 1; $i <= $r_g->nombre_recu; $i++) { $requete = "INSERT INTO abts_grille_abt SET num_abt='{$this->abt_id}', \n\t\t\t\t\t\t\t\tdate_parution ='{$r_g->date_parution}', \n\t\t\t\t\t\t\t\tmodele_id='{$modele_id}', \n\t\t\t\t\t\t\t\ttype = '{$r_g->type_serie}',\n\t\t\t\t\t\t\t\tnumero='{$r_g->numero}', \n\t\t\t\t\t\t\t\tnombre='1', \n\t\t\t\t\t\t\t\tordre='{$i}' "; mysql_query($requete, $dbh); } } } } } }