%PDF- %PDF-
Direktori : /home/devcapijob/public_html/clients/ |
Current File : /home/devcapijob/public_html/clients/andros_json.php |
<?php /*set_time_limit(0); $fp = fopen ('/home/capijobnew/public_html/clients/feeds_capijob.xml', 'w+'); $ch = curl_init('https://feeds.talent.com/feeds/download.php?partner=capijob&country=fr');// or any url you can pass which gives you the xml file curl_setopt($ch, CURLOPT_TIMEOUT, 50); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_exec($ch); curl_close($ch); fclose($fp);*/ define('PATH_BASE',dirname(__DIR__) ); define( 'DS', DIRECTORY_SEPARATOR ); require_once ( PATH_BASE .DS.'clients'.DS.'db.php' ); error_reporting(E_ALL); ini_set('display_errors',0); if($_GET['action']=="delete"){ //echo 'qsqs';exit; $select_annonce ="select id_annonce from cap_annonce WHERE id_annonceur = '515530' "; $execute_select_annonce = $conn->query($select_annonce); $array =array(); while ($del = $execute_select_annonce->fetch()){ echo $i; array_push($array, $del['id_annonce']); $i++; } $ids = implode(',', $array); $cap_annonce_content = "DELETE FROM cap_annonce_content WHERE id_annonce in (".$ids.")"; $conn->query($cap_annonce_content); $delete_annonce_departement = "DELETE FROM cap_annonce_departement WHERE id_annonce in (".$ids.")"; $conn->query($delete_annonce_departement); $delete_annonce_domaine = "DELETE FROM cap_annonce_domaine WHERE id_annonce in (".$ids.")"; $conn->query($delete_annonce_domaine); $delete_annonce_email_sup = "DELETE FROM cap_annonce_email_sup WHERE id_annonce in (".$ids.")"; $conn->query($delete_annonce_email_sup); $conn->query("DELETE FROM cap_annonce_site WHERE id_annonce in (".$ids.")"); $delete_annonce = "DELETE FROM cap_annonce WHERE id_annonce in (".$ids.")"; $conn->query($delete_annonce); echo 'ok--'; exit; } $select_annonceur =$conn->query("select email,raison_social from cap_annonceur WHERE id_annonceur = 515530"); $data = $select_annonceur->fetch(); $email = $data['email']; $raison_social = $data['raison_social']; /*****/ $last_id_table = "select max(id_annonce) from cap_annonce"; $requete_last_id = $conn->query($last_id_table); $last_id=$requete_last_id->fetch(); set_time_limit(0); function array2xml($array, $node, &$dom) { foreach($array as $key => $value) { if(preg_match("/^[0-9]/", $key)) $key = "node-{$key}"; $key = preg_replace("/[^a-z0-9_\-]+/i", '', $key); if($key==='') $key = '_'; $a = $dom->createElement($key); $node->appendChild($a); if(!is_array($value)) $a->appendChild($dom->createTextNode($value)); else array2xml($value, $a, $dom); } } $raw_data = file_get_contents('https://app.digitalrecruiters.com/export/job-ads/jzjuE6p7BYaESbVx3isZWaE5gX5xN5ejErWqoWkI'); //$xmlObject = simplexml_load_file($raw_data); $jsonData = json_decode($raw_data, JSON_PRETTY_PRINT); $counter = 1; $i=1; $reqs =array(); $sites= array(); $sql_depart = array(); $sql_domaine = array(); $email_sup = array(); /*echo '<pre>'; print_r($jsonData['ads']); echo '</pre>'; exit;*/ foreach($jsonData['ads'] as $Results){ /*echo '<pre>'; print_r($Results); echo '</pre>'; exit;*/ echo "title: ".$Results['title']."\n"; $urls = explode('#', $Results['apply_url']); $url = $urls[0].'?s_b=Aucun&s_o=Capivision#'.$urls[1]; echo "url: ".$url."\n"; /*echo "description: ".$Results['description']."<br/><br/>---------<br/><br/>"; echo "profile: ".$Results['profile']."<br/><br/>---------<br/><br/>"; echo "contract_type: ".$Results['contract_type']."<br/><br/>---------<br/><br/>"; echo "experience_level: ".$Results['experience_level']."<br/><br/>---------<br/><br/>"; echo "education_level: ".$Results['education_level']."<br/><br/>---------<br/><br/>"; echo "contract_work_period: ".$Results['contract_work_period']."<br/><br/>---------<br/><br/>"; echo "adresse: ".$Results['address']['parts']['street']."<br/><br/>---------<br/><br/>"; echo "zip: ".$Results['address']['parts']['zip']."<br/><br/>---------<br/><br/>"; echo "city: ".$Results['address']['parts']['city']."<br/><br/>---------<br/><br/>"; echo "departements: ".substr($Results['address']['parts']['zip'], 0, -3)."<br/><br/>---------<br/><br/>";*/ $value_domaine['id_domaine'] ='1682'; $departements=array(); $code = substr($Results['entity']['address']['parts']['zip'], 0, -3); if($code!=""){ $depart ="select id_departement from cap_depart where code =".$code.""; }else{ $depart ="select id_departement from cap_depart WHERE nom_depart like '%".$Results['address']['parts']['county']."%'"; } $depart_data = $conn->query($depart); while ($departs = $depart_data->fetch()) { array_push($departements, $departs['id_departement']); }; $departs = implode(',', $departements); if($Results['education_level']!=""){ $niveau ="select * from cap_niveau_etude where nom like'".$Results['education_level']."%'"; $niveau_data = $conn->query($niveau); $row_niveau=$niveau_data->fetch(); if($row_niveau['id_niveau']==""){ $row_niveau['id_niveau']=13; } } if($Results['contract_type']!=""){ $contract ="select * from cap_type_poste where type_poste='".addslashes($Results['contract_type'])."'"; $contract_data = $conn->query($contract); $row_contract=$contract_data->fetch(); } if($Results['contract_work_period']!=""){ $work ="select * from cap_type_poste where type_poste='".$Results['contract_work_period']."'"; $work_data = $conn->query($work); $row_work=$work_data->fetch(); if($row_work['id_type_poste']==""){ $row_work['id_type_poste']=0; } } $content =""; $content .= addslashes($Results['description'])."</b><br/><br/>"; $content .="<b>"."Profile : </b>".addslashes($Results['profile'])."<br/><br/>"; //echo $row_contract['id_type_poste']; // var_dump($departs); $id_last = $last_id['max(id_annonce)'] + $i; $date_parution = date('Y-m-d'); $nb = 28 * 12; $DateFin = date('Y-m-d', strtotime($date_parution.' +'.$nb.' days')); //$query = 'INSERT INTO `cap_annonce`(`id_annonce`,`type`, `domaine`, `region`, `depart`, `duree_travail`, `niveau_etude`, `type_contrat`,`genre_contrat`, `permis`,`date_parution`, `fin_parution`, `date_max_parution`, `id_annonceur`, `id_pays`, `parution`, `parution_utilise`, `nb_rafraich`, `nb_rafraich_historique`, `par_jour`,`nb_rubrique`,`etat`, `active`, `date_creation`, `date_misejour`,`id_langue`,`select_accueil`, `flux`, `nb_vue`, `click_btn`) VALUES ' . implode(',', $reqs); $reqs[]='("'.$id_last.'", "1", "'.$value_domaine['id_domaine'].'","","'.$departs.'", "7","'.$row_niveau['id_niveau'].'","'.$row_contract['id_type_poste'].'","'.$row_work['id_type_poste'].'", "nc","'.date('Y-m-d').'","'.$DateFin.'","'.$DateFin.'","515530","75","12","12","7","0","21","1","1","0","'.date('Y-m-d').'","'.date('Y-m-d H:i:s').'","1","0","0","0","0")'; //"INSERT INTO `cap_annonce_content`(`id_annonce`, `poste`, `titre`, `h1_page`, `alias`,`texte`, `salaire`, `ville`, `code_postal`, `adresse`, `autre_mail`,`url_candidature`) $reqs_content[]='("'.$id_last.'", "'.addslashes(utf8_decode(word_texte($Results['title']))).'", "'.addslashes(utf8_decode(word_texte($Results['title']))).'", "'.addslashes(utf8_decode(word_texte($Results['title']))).'","'.$id_last."-".genere_alias($raison_social."-".trim($Results['title'])).'","'.addslashes(htmlspecialchars_decode(htmlentities(preg_replace('#\xF0[\x90-\xBF][\x80-\xBF]{2}#','',$content),ENT_QUOTES, 'UTF-8'))).'","","'.addslashes($Results['entity']['address']['parts']['city']).'","'.$Results['entity']['address']['parts']['zip'].'", "'.addslashes($Results['entity']['address']['parts']['street']).'","","'.$url.'")'; $sites[]= "('1','".$id_last."')"; $sites[]= "('3','".$id_last."')"; if(sizeof($departements)>0){ for ($j=0; $j <sizeof($departements) ; $j++) { $sql_depart[] = "(".$id_last.",".$departements[$j].")"; } } if($value_domaine['id_domaine']!=""){ $sql_domaine[] = "(".$id_last.", ".$value_domaine['id_domaine'].")"; } $emails = ($Results['EmailPage']!="")? $Results['EmailPage'] : $email; $email_sup[] ="('".$id_last."', '".$emails."')"; $counter ++; $i++; } echo $counter; try { //$con = DB::connect(); $conn->beginTransaction(); $query = 'INSERT INTO `cap_annonce`(`id_annonce`,`type`, `domaine`, `region`, `depart`, `duree_travail`, `niveau_etude`, `type_contrat`,`genre_contrat`, `permis`,`date_parution`, `fin_parution`, `date_max_parution`, `id_annonceur`, `id_pays`, `parution`, `parution_utilise`, `nb_rafraich`, `nb_rafraich_historique`, `par_jour`,`nb_rubrique`,`etat`, `active`, `date_creation`, `date_misejour`,`id_langue`,`select_accueil`, `flux`, `nb_vue`, `click_btn`) VALUES ' . implode(',', $reqs); // echo '<br/><br/><br/>--------------------------------------------------------<br/><br/><br/>'; $conn->exec($query); $test = $conn->commit(); if($test==true){ $contents = "INSERT INTO `cap_annonce_content`(`id_annonce`, `poste`, `titre`, `h1_page`, `alias`,`texte`, `salaire`, `ville`, `code_postal`, `adresse`, `autre_mail`,`url_candidature`) VALUES " . implode(',', $reqs_content); $conn->query($contents); $site = "INSERT INTO `cap_annonce_site`(`site_web`, `id_annonce`) VALUES " . implode(',', $sites); $conn->query($site); $depas = "INSERT INTO `cap_annonce_departement`(`id_annonce`, `id_departement`) VALUES " . implode(',', $sql_depart); $conn->query($depas); $dom ="INSERT INTO `cap_annonce_domaine`(`id_annonce`, `id_domaine`) VALUES " . implode(',', $sql_domaine); $conn->query($dom); $sup = "INSERT INTO `cap_annonce_email_sup`(`id_annonce`, `email_sup`) VALUES " . implode(',', $email_sup); $conn->query($sup); echo 'ok requete'; } } catch(PDOException $err) { // roll the transaction back if something fails $conn->rollback(); echo "Error message: " . $err->getMessage(); } $conn = null; $reader->close(); ?>