Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- #################################################################################################
- # REQUETEUR.PHP ( Filmotech 3.0.0 )
- #
- # (c) 2007-2010 Pascal PLUCHON
- #
- # Informations : http://www.filmotech.fr
- #################################################################################################
- //
- /** Make sure that the WordPress bootstrap has run before continuing. */
- require( dirname(__FILE__) . '/wp-load.php' );
- include('wp-admin/includes/taxonomy.php');
- //require_once("config.inc.php");
- $version_requeteur = "3.1.1";
- $identifiant = "identifiant";
- $separator = "£#$";
- $maj = false;
- $post_id_maj=null;
- $repertoire_affiches = "affiches";
- $chaine="";
- $message = array(
- 'CodeIncorrect' => 'Code d\'accès incorrect',
- 'AffichesSupprimees' => '%d affiche(s) supprimée(s).',
- 'TableFilmsVidee' => 'Table des films vidée.',
- 'ErreurCreationRepertoire' => 'Erreur à la création du répertoire \'' . $repertoire_affiches . '\'.',
- 'RepertoireCree' => 'Le répertoire \'' . $repertoire_affiches . '\' a été créé.',
- 'RepertoireExisteDeja' => 'Le répertoire \'' . $repertoire_affiches . '\' existe déjà.',
- 'ActionInvalide' => 'Action invalide',
- 'ParametresInvalides' => 'Paramètres invalides',
- 'IdentifiantAbsent1' => '<br />Requeteur <b>Filmotech</b>.<br />Pour accéder cette page, vous devez utiliser Filmotech.<br /><br />',
- 'IdentifiantAbsent2' => 'Pour plus d\'informations allez sur <a href="http://www.filmotech.fr">le site Filmotech</a>.',
- 'ErreurOuvrirAffiche' => 'Impossible d\'ouvrir le fichier affiche\n',
- 'ErreurEcrireAffiche' => 'Impossible d\'écrire dans le fichier affiche\n',
- 'AfficheMiseAJour' => 'Affiche %s mise à jour.',
- 'AfficheAjoutee' => 'Affiche %s ajoutée.',
- 'MiseAJourBasev1v2' => 'la base a été mise jour v1 -> v2',
- 'ForcerMiseAJour' => 'Vous devrez forcer la mise à jour des films dans l\'écran suivant',
- 'EnregistrementAjoute' => 'Enregistrement n°%s (%s) ajouté.',
- 'EnregistrementMisAJour' => 'Enregistrement n°%s (%s) mis à jour.',
- 'EnregistrementSupprime' => 'Enregistrement n°%s (%s) supprimé.',
- 'AfficheSupprimee' => 'Affiche %s supprimée.',
- 'ParamVersion' => 'Version',
- 'ParamTable' => 'Table des films',
- 'ParamRepertoire' => 'Répertoire des images'
- );
- if (!get_magic_quotes_gpc()) {
- $_POST = addslashes_array($_POST);
- }
- function addslashes_array($data) {
- if (is_array($data)){
- foreach ($data as $key => $value){
- $data[$key] = addslashes_array($value);
- }
- return $data;
- }else{
- return addslashes($data);
- }
- }
- // Contrôle systématique : l'identifiant doit être renseigné
- if (!isset($_POST['identifiant']) )
- {
- echo( $message['IdentifiantAbsent1'] );
- echo( $message['IdentifiantAbsent2'] );
- exit;
- }
- elseif ( stripcslashes(utf8_decode($_POST['identifiant'])) != $identifiant ) {
- { echo( $message['CodeIncorrect'] . "\n" ); exit; }
- }
- if (isset($_POST['action'])) {
- switch ($_POST['action']) {
- case 0: // Création de la table des films si elle n'existe pas
- // on zappe
- echo("REQUETE OK\n");
- break;
- case 1: // Récupération de la liste pour comparaison
- $args = array('numberposts' => -1);
- $lastposts = get_posts( $args );
- foreach($lastposts as $post) : setup_postdata($post);
- //$chaine=the_ID(). $separator .utf8_decode(get_the_title(get_the_ID())). $separator.utf8_decode(get_the_date());
- //$chaine=get_post_meta(get_the_ID(), 'id_filmotech',true). $separator .utf8_decode(get_the_title(get_the_ID())). $separator.utf8_decode(get_the_date("Y-m-d H:i:s"));
- $titre_=utf8_decode(get_the_title(get_the_ID()));
- //$chaine=get_post_meta(get_the_ID(), 'id_filmotech',true). $separator .html_entity_decode($titre_,ENT_NOQUOTES,"UTF-8"). $separator.utf8_decode(get_the_date("Y-m-d H:i:s"));
- //dvd_date_maj
- $chaine=get_post_meta(get_the_ID(), 'id_filmotech',true). $separator .html_entity_decode($titre_,ENT_NOQUOTES,"UTF-8"). $separator.get_post_meta(get_the_ID(), 'dvd_date_maj',true);
- echo $chaine;
- echo("\n");
- //the_content();
- endforeach;
- echo("REQUETE OK\n");
- break;
- case 2: // Paramétrage
- echo("REQUETE OK\n");
- echo( "PARAM_VERSION : " . $message['ParamVersion'] . " : " . $version_requeteur . "\n" );
- echo( "PARAM_TABLE : " . $message['ParamTable'] . " : " . $nom_table . "\n" );
- echo( "PARAM_REPERTOIRE : " . $message['ParamRepertoire'] . " : " . $repertoire_affiches . "\n" );
- break;
- case 3: // Identifiant d'accès
- if (stripcslashes(utf8_decode($_POST['identifiant'])) == $identifiant ) echo( "REQUETE OK\n" ); else echo( $message['CodeIncorrect'] . "\n" );
- break;
- case 4: // Effacer les films provenants de Filmotech
- $force_delete = 1; // bypass trash
- $args = array('numberposts' => -1);
- $lastposts = get_posts( $args );
- foreach($lastposts as $post) : setup_postdata($post);
- if ( get_post_meta($post->ID, 'id_filmotech', true) ) {
- //$custom_field = get_post_meta($post->ID, 'fmt_ID', true) ;
- wp_delete_post( $post->ID, $force_delete );
- }
- endforeach;
- echo("REQUETE OK\n");
- echo("INFO : " . $message['TableFilmsVidee'] );
- break;
- case 6: // Effacer les affiches
- $cpt=0;
- if ($handle = opendir($repertoire_affiches)) {
- while (false !== ($file = readdir($handle))) {
- if ($file != "." && $file != "..") {
- if ((substr($file,0,10) == "Filmotech_") && (substr($file,15) == ".jpg"))
- { unlink($repertoire_affiches."/".$file); $cpt+=1; }
- }
- }
- closedir($handle);
- }
- echo("REQUETE OK\n");
- printf( "INFO : " . $message['AffichesSupprimees'] , $cpt );
- break;
- case 8: // Création du répertoire des affiches (si besoin)
- $result = false;
- if (!is_dir($repertoire_affiches)) {
- $result = mkdir($repertoire_affiches);
- if ($result===false) echo($message['ErreurCreationRepertoire']);
- }
- echo( "REQUETE OK\n" );
- if ($result) echo( "INFO : " . $message['RepertoireCree'] ); else echo( "INFO : " . $message['RepertoireExisteDeja'] );
- if (isset($_POST['forceCHMOD'])) chmod( $repertoire_affiches , 0777 );
- break;
- case 106: // Mise à jour- On supprime
- /*
- mysql_select_db($database_fmt, $fmt);
- $updateSQL = sprintf("DELETE FROM " . $nom_table . " WHERE ID='%s'", $_POST['ID']);
- $Result1 = mysql_query($updateSQL, $fmt) or die(mysql_error());
- $filename = sprintf($repertoire_affiches.'/Filmotech_%05d.jpg' , $_POST['ID'] );
- if (file_exists($filename)) unlink($filename);
- */
- //retrouver le post ui correspond a ID
- $args = array('meta_key'=>'id_filmotech', 'meta_value'=>$_POST['ID']);
- $lastposts = get_posts( $args );
- foreach($lastposts as $post) : setup_postdata($post);
- //On efface l'affiche
- $id_filmo=get_post_meta(get_the_ID(), 'id_filmotech',true);
- $filename = sprintf($repertoire_affiches.'/Filmotech_%05d.jpg' , $id_filmo );
- if (file_exists($filename)) unlink($filename);
- $post_id_maj=get_the_ID();
- //wp_delete_post(get_the_ID());
- endforeach;
- $maj = true;
- // Sans le break, on passe à l'ajout
- case 108: // Ajout
- // Le Film
- /*
- mysql_select_db($database_fmt, $fmt);
- $insertSQL = sprintf("INSERT INTO " . $nom_table . " (ID, TitreVF, TitreVO, DateHeureMAJ, Genre, Synopsis, Acteurs, Realisateurs, Commentaires, Bonus, Annee, Duree, Pays, Note, Langues, SousTitres, Audio, Support, NombreSupport, Edition, Zone, EntreeType, EntreeSource, EntreeDate, EntreePrix, SortieType, SortieDestinataire, SortieDate, SortiePrix, Sortie, PretEnCours, FilmVu, Reference, BAChemin, BAType, MediaChemin, MediaType ) VALUES ('%s', '%s', '%s', '%s' , '%s' , '%s' , '%s', '%s' , '%s' , '%s' , '%s' , '%s', '%s' , '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
- $_POST['ID'], utf8_decode($_POST['TitreVF']), utf8_decode($_POST['TitreVO']), $_POST['DateHeureMAJ'] ,
- utf8_decode($_POST['Genre']), utf8_decode($_POST['Synopsis']), utf8_decode($_POST['Acteurs']),
- utf8_decode($_POST['Realisateurs']), utf8_decode($_POST['Commentaires']),
- utf8_decode($_POST['Bonus']), utf8_decode($_POST['Annee']), utf8_decode($_POST['Duree']), utf8_decode($_POST['Pays']), $_POST['Note'],
- utf8_decode($_POST['Langues']), utf8_decode($_POST['SousTitres']), utf8_decode($_POST['Audio']),
- utf8_decode($_POST['Support']), $_POST['NombreSupport'], utf8_decode($_POST['Edition']), $_POST['Zone'],
- utf8_decode($_POST['EntreeType']), utf8_decode($_POST['EntreeSource']), $_POST['EntreeDate'], $_POST['EntreePrix'],
- utf8_decode($_POST['SortieType']), utf8_decode($_POST['SortieDestinataire']), $_POST['SortieDate'], $_POST['SortiePrix'],
- utf8_decode($_POST['Sortie']), utf8_decode($_POST['PretEnCours']), utf8_decode($_POST['FilmVu']),
- utf8_decode($_POST['Reference']), utf8_decode($_POST['BAChemin']), utf8_decode($_POST['BAType']),
- utf8_decode($_POST['MediaChemin']), utf8_decode($_POST['MediaType']) );
- $Result1 = mysql_query($insertSQL, $fmt) or die(mysql_error());
- */
- $filename = sprintf('affiches/Filmotech_%05d.jpg' , $_POST['ID'] );
- //Gestion des acteurs pour ajouter un lien pour chacun
- $liens_acteurs="";
- $acteurs=str_replace(array("\r", "\r\n", "\n"),'|',$_POST['Acteurs'], $count);
- //printf( "Count : " .$count."\n");
- $liste_acteurs = explode("|", $acteurs);
- for($i=0;$i<count($liste_acteurs);$i++) {
- //printf( "liste_acteur : " .str_replace('\n','',$liste_acteurs[$i]));
- if ($i==count($liste_acteurs)-1) $virgule=""; //si dernier éléments du tableau, pas de virgule a la fin de la chaine de caractères
- $nomacteur = explode("(", $liste_acteurs[$i]);
- $critere_recherche=str_replace(' ','+',$nomacteur[0]); //On remplace les espaces par des +
- if (count($nomacteur) > 1) {
- $nomrole = '('.$nomacteur[1].', ';
- }
- else {
- $nomrole = ', ';
- }
- $liens_acteurs.='<a href="?s='.$critere_recherche.'">'.$nomacteur[0].'</a>'.$nomrole.' ';
- }
- //Gestion des prêts en cours
- $pret = $_POST['PretEnCours'];
- $resultpret= "OUI";
- if ($pret == $resultpret) {
- $pretdef = "<font color= '#FF0000' > Oui </FONT>";
- }
- else {
- $pretdef= "<font color= '#008000' > Non </FONT>";
- }
- //Gestion des films vus
- $vus = $_POST['FilmVu'];
- $resultvus= "OUI";
- if ($vus == $resultvus) {
- $vusdef = "<font color= '#008000' > Oui </FONT>";
- }
- else {
- $vusdef= "<font color= '#FF0000' > Non </FONT>";
- }
- //gestion du post de l'article sur Wordpress
- $chemin = $_POST['BAChemin'];
- If(!is_bool(strrpos($chemin, "allocine"))) $chemin = substr($chemin, 0, strrpos($chemin, '&cfilm'));
- If(!is_bool(strrpos($chemin, "commeaucinema"))) $chemin = substr($chemin, 0, strrpos($chemin, '.html'));
- $post_content=' <div id="affiche">
- <div class="reflection" align="center">
- <img class="reflect" src="' . $filename . '" alt="Affiche">
- </div>
- </div>
- <p align="center">'.stripcslashes($_POST['TitreVO']).'</p>
- <table width="90%" align="center">
- <tr><td><strong>Annee :</strong> '.$_POST['Annee'].'</td><td><strong>Duree :</strong> '.$_POST['Duree'].' mn</td></tr>
- <tr><td><strong>Pays :</strong> '.$_POST['Pays'].'</td><td><strong>Genre :</strong> '.$_POST['Genre'].'</td></tr>
- <tr><td><strong>Support :</strong> '.$_POST['Support'].'</td><td><strong>Zone :</strong> '.$_POST['Zone'].'</td></tr>
- <tr><td><strong>Pret en Cours:</strong> '.$pretdef.'</td><td><strong>Film Vu:</strong> '.$vusdef.'</td></tr>
- </table>
- <p><strong>Synopsis :</strong> '.stripcslashes($_POST['Synopsis']).'</p>
- <!--more-->
- <p><strong>Acteurs :</strong> '.$liens_acteurs.'</p>
- <p><strong>Realisateurs :</strong> '.$_POST['Realisateurs'].'</p>
- <p><strong>Langues :</strong> '.$_POST['Langues'].'</p>
- <p><strong>Sous-Titres :</strong> '.$_POST['SousTitres'].'</p>
- <p><strong>Audio :</strong> '.$_POST['Audio'].'</p>
- <p><strong>Bonus :</strong>'.stripcslashes($_POST['Bonus']).'</p>
- <p><strong>Bande Annonce :</strong>
- <p align="center">[video] '.$chemin.'[/video]'; //str_replace('<br />',', ',nl2br($_POST['Acteurs']))
- //Gestion des catégories
- //$my_cat = array('cat_name' => $_POST['Genre'], 'category_description' => 'A Cool Category', 'category_nicename' => 'category-slug', 'category_parent' => '');
- // Create the category
- //$my_cat_id = wp_insert_category($my_cat);
- $id_category = wp_create_category($_POST['Genre'], 0);
- $post_title = stripcslashes($_POST['TitreVF']);
- $my_post = array(
- 'ID' => $post_id_maj,
- 'post_title' => $post_title,
- 'post_content' => $post_content, //The full text of the post.
- 'post_status' => 'publish',
- 'post_author' => 1, //The user ID number of the author.
- 'post_category' => array($id_category), //Add some categories.
- 'post_date' => $_POST['EntreeDate'], //The time post was made.
- 'post_name' => sanitize_file_name($_POST['TitreVF']), // The name (slug) for your post
- 'post_type' => 'post', // post, page, link, menu item , custom post type
- 'tags_input' => $_POST['Genre'] // For tags
- );
- // Insert the post into the database
- $id_post=wp_insert_post( $my_post );
- if($maj==false){
- add_post_meta($id_post, "id_filmotech", $_POST['ID']);
- add_post_meta($id_post, "dvd_cover", $filename);
- add_post_meta($id_post, "dvd_note", $_POST['Note']);
- add_post_meta($id_post, "dvd_ba", $_POST['BAChemin']);
- add_post_meta($id_post, "dvd_date_maj", $_POST['DateHeureMAJ']);
- }
- else {
- update_post_meta($id_post, "id_filmotech", $_POST['ID']);
- update_post_meta($id_post, "dvd_cover", $filename);
- update_post_meta($id_post, "dvd_note", $_POST['Note']);
- update_post_meta($id_post, "dvd_ba", $_POST['[youtube]BAChemin[/youtube]']);
- update_post_meta($id_post, "dvd_date_maj", $_POST['DateHeureMAJ']);
- }
- echo("REQUETE OK\n");
- if ($maj) printf( "INFO : " . $message['EnregistrementMisAJour'] . "\n" , $_POST['ID'] , stripcslashes(utf8_decode($_POST['TitreVF'])) );
- else printf( "INFO : " . $message['EnregistrementAjoute'] . "\n", $_POST['ID'] , stripcslashes(utf8_decode($_POST['TitreVF'])) );
- // L'affiche (si elle existe)
- if (isset($_POST['Affiche'])) {
- $affiche = base64_decode($_POST['Affiche']);
- $filename = sprintf($repertoire_affiches.'/Filmotech_%05d.jpg' , $_POST['ID'] );
- if (!$handle = fopen($filename, 'wb')) {
- echo( $message['ErreurOuvrirAffiche'] . "\n" );
- exit;
- }
- if (fwrite($handle, $affiche) === FALSE) {
- echo( $message['ErreurEcrireAffiche'] . "\n" );
- exit;
- }
- else {
- if ($maj) printf( "INFO : " . $message['AfficheMiseAJour'] . "\n" , $filename );
- else printf( "INFO : " . $message['AfficheAjoutee'] . "\n" , $filename );
- }
- fclose($handle);
- if (isset($_POST['forceCHMOD'])) chmod( $filename , 0777 );
- }
- break;
- case 200: // Controle de la version de la table
- /*
- mysql_select_db($database_fmt, $fmt);
- $requeteSQL = "SHOW COLUMNS FROM " . $nom_table;
- $Recordset1 = mysql_query($requeteSQL, $fmt) or die(mysql_error());
- $totalRows_Recordset1 = mysql_num_rows($Recordset1);
- if ($totalRows_Recordset1 == 32) { // Base v1
- $requeteSQL = 'ALTER TABLE ' . $nom_table . ' ADD COLUMN `Reference` VARCHAR(255) NOT NULL default \'\',';
- $requeteSQL .= ' ADD COLUMN `BAChemin` VARCHAR(255) NOT NULL default \'\',';
- $requeteSQL .= ' ADD COLUMN `BAType` VARCHAR(10) NOT NULL default \'\',';
- $requeteSQL .= ' ADD COLUMN `MediaChemin` VARCHAR(255) NOT NULL default \'\',';
- $requeteSQL .= ' ADD COLUMN `MediaType` VARCHAR(10) NOT NULL default \'\';';
- $Recordset1 = mysql_query($requeteSQL, $fmt) or die(mysql_error());
- echo("REQUETE OK\n");
- echo( "INFO : " . $message['MiseAJourBasev1v2'] . "\n" );
- echo( $message['ForcerMiseAJour'] . "\n" );
- }
- else
- {
- echo("REQUETE OK\n");
- }
- */
- echo("REQUETE OK\n");
- break;
- case 205: // Suppression
- /*
- mysql_select_db($database_fmt, $fmt);
- $updateSQL = sprintf("DELETE FROM " . $nom_table . " WHERE ID='%s'", $_POST['ID']);
- $Result1 = mysql_query($updateSQL, $fmt) or die(mysql_error());
- */
- //retrouver le post ui correspond a ID
- $args = array('meta_key'=>'id_filmotech', 'meta_value'=>$_POST['ID']);
- $lastposts = get_posts( $args );
- foreach($lastposts as $post) : setup_postdata($post);
- //On efface l'affiche
- //$id_filmo=get_post_meta(get_the_ID(), 'id_filmotech',true);
- $id_filmo=get_post_meta($post->ID, 'id_filmotech',true);
- $filename = sprintf($repertoire_affiches.'/Filmotech_%05d.jpg' , $id_filmo );
- if (file_exists($filename)) { unlink($filename); printf( "INFO : " . $message['AfficheSupprimee'] , $filename ); }
- //$post_id_maj=get_the_ID();
- $force_delete = 1; // bypass trash
- //wp_delete_post(get_the_ID(), $force_delete);
- wp_delete_post($post->ID, $force_delete);
- endforeach;
- echo("REQUETE OK\n");
- //$filename = sprintf($repertoire_affiches.'/Filmotech_%05d.jpg' , $_POST['ID'] );
- //if (file_exists($filename)) { unlink($filename); printf( "INFO : " . $message['AfficheSupprimee'] , $filename ); }
- printf( "INFO : " . $message['EnregistrementSupprime'] , $_POST['ID'] , stripcslashes(utf8_decode($_POST['TitreVF'])) );
- break;
- case 210: // Creation du fichier de date de mise a jour
- $filename = 'update.txt';
- if (!$handle = fopen($filename, 'w')) {
- echo( $message['ErreurFichierDateMAJ'] . "\n" );
- exit;
- }
- if (fwrite($handle, $_POST['DateMAJ'] ) === FALSE) {
- echo( $message['ErreurFichierDateMAJ'] . "\n" );
- exit;
- }
- else { echo("REQUETE OK\n"); }
- fclose($handle);
- break;
- default:
- echo($message['ActionInvalide'] . "\n");
- break;
- }
- }
- else
- {
- echo($message['ParametresInvalides'] . "\n");
- }
- ?>
Add Comment
Please, Sign In to add comment