%PDF- %PDF-
Direktori : /home/devcapijob/.trash/ |
Current File : /home/devcapijob/.trash/autoconsultant.php |
<?php define('PATH_BASE',dirname(__DIR__) ); define( 'DS', DIRECTORY_SEPARATOR ); set_include_path(PATH_BASE .DS.'liberary'); require_once ( PATH_BASE .DS.'config.php' ); require_once ( PATH_BASE .DS.'liberary'.DS.'defines.php' ); require_once ( FACTORY ); require_once ( FRAMWORK ); require_once ( REQUEST ); require_once ( DB ); require_once ( LANG ); require_once ( LINK ); require_once(STP); require_once(MSG); require_once ( PATH_BASE .DS.'liberary'.DS.'db.php' ); require_once ( PATH_BASE .DS.'liberary'.DS.'model.php' ); define ('PREFIX', S_config::$prefix); 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 = 515393"; $execute_select_annonce = DB::do_query($select_annonce); $array =array(); while ($del = $execute_select_annonce->fetch()){ echo $i; array_push($array, $del['id_annonce']); $i++; } $ids = implode(',', $array); $delete_annonce_departement = "DELETE FROM cap_annonce_departement WHERE id_annonce in (".$ids.")"; DB::do_query($delete_annonce_departement); $delete_annonce_domaine = "DELETE FROM cap_annonce_domaine WHERE id_annonce in (".$ids.")"; DB::do_query($delete_annonce_domaine); $delete_annonce_email_sup = "DELETE FROM cap_annonce_email_sup WHERE id_annonce in (".$ids.")"; DB::do_query($delete_annonce_email_sup); DB::do_query("DELETE FROM cap_annonce_site WHERE id_annonce in (".$ids.")"); $delete_annonce = "DELETE FROM cap_annonce WHERE id_annonce in (".$ids.")"; DB::do_query($delete_annonce); echo 'ok--'; exit; } $select_annonceur =DB::do_query("select email,raison_social from cap_annonceur WHERE id_annonceur = 515393"); $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 = DB::do_query($last_id_table); $last_id=$requete_last_id->fetch(); $url=file_get_contents('https://www.autoconsultant.fr/offres-emploi/?page=1'); $dochtml = new DOMDocument(); libxml_use_internal_errors(true); $dochtml->loadHTML($url); $xpath = new DOMXPath($dochtml); $div = $xpath->query('//div[@class="liste-offres__nb"]'); $content = $div->item(0); preg_match_all('/\d+/', $content->nodeValue, $matches); $total = $matches[0][0]; $epp = 7; $nbPages = ceil($total/$epp); $k=1; //echo $nbPages; for ($i=1; $i < $nbPages; $i++) { $urls=file_get_contents('https://www.autoconsultant.fr/offres-emploi/?page='.$i); $dochtmls = new DOMDocument(); $dochtmls->loadHTML($urls); $xpaths = new DOMXPath($dochtmls); $a = $xpaths->query('//a[@class="offre__voir"]'); $count = $a->length; for ($j=1; $j < $count; $j++) { $href =$a->item($j)->getAttribute('href'); // echo $href.'<br/><br/>'; $page=file_get_contents($href); $html = new DOMDocument(); $html->loadHTML($page); $titre = $html->getElementsByTagName('h1')->item(0)->nodeValue; $xpath = new DOMXPath($html); $texte = $xpath->query('//section[@class="offre__text"]'); $textes = $texte->item(0)->nodeValue; // echo $textes.'<br/><br/>'; $plus = new DOMXPath($html); $contentplus = $plus->query('//div[@class="offre__refs col"]'); $refs = $contentplus->item(0); $ref = $refs->getElementsByTagName('div'); // echo $ref->length; if($ref->length==10){ $contrat = $ref->item(3)->textContent; $region = $ref->item(5)->textContent; $ville = $ref->item(7)->textContent; $secteur = $ref->item(9)->textContent; }else{ $contrat = $ref->item(3)->textContent; $region = $ref->item(5)->textContent; $secteur = $ref->item(7)->textContent; } // echo $secteur.'<br/>'; $value_domaine['id_domaine'] ='1682'; $region ='select * from cap_region where nom LIKE "%'.trim(utf8_decode($region)).'%"'; $region_data = DB::do_query($region); $row=$region_data->fetch(); // echo '<br/>'.$row['id_region'].'<br/>'; if($row['id_region']!=''){ $id_region = $row['id_region']; }else{ $id_region = '89'; } $departements=array(); $depart ="select id_departement from cap_depart where id_region = '".$id_region."'"; $depart_data = DB::do_query($depart); while ($departs = $depart_data->fetch()) { array_push($departements, $departs['id_departement']); }; $departs = implode(',', $departements); if($contrat!=""){ $contract ="select * from cap_type_poste where type_poste='".$contrat."'"; $contract_data = DB::do_query($contract); $row_contract=$contract_data->fetch(); } /****** date fin parution et max*********/ $id_last = $last_id['max(id_annonce)'] + $k; $date_parution = date('Y-m-d'); $nb = 28 * 12; $DateFin = date('Y-m-d', strtotime($date_parution.' +'.$nb.' days')); $reqs[]='("'.$id_last.'", "'.addslashes(utf8_decode($titre)).'", "'.addslashes(utf8_decode($titre)).'", "'.addslashes(utf8_decode($titre)).'","'.$id_last."-".Model::genere_alias($raison_social."-".trim(utf8_decode($titre))).'","1", "'.$value_domaine['id_domaine'].'","'.$id_region.'","'.$departs.'", "'.addslashes(utf8_decode($textes)).'","7","13","","'.$row_contract['id_type_poste'].'","nc","","'.date('Y-m-d').'","'.$DateFin.'","'.$DateFin.'","515393","'.addslashes($ville).'", "","75","","","","","12","12","7","0","21","1","1","0","'.date('Y-m-d').'","'.date('Y-m-d H:i:s').'","1","0","'.$href.'","1","0","0")'; $sites[]= "('1','".$id_last."')"; if(sizeof($departements)>0){ for ($r=0; $r <sizeof($departements) ; $r++) { $sql_depart[] = "(".$id_last.",".$departements[$r].")"; } } if($value_domaine['id_domaine']!=""){ $sql_domaine[] = "(".$id_last.", ".$value_domaine['id_domaine'].")"; } $email_sup[] ="('".$id_last."', 'cv1@capijob.com')"; /*for ($i = 0; $i < $ref->length; $i++) { echo $ref->item($i)->nodeValue . "\n"; }*/ //exit; $counts +=1; $k++; //exit; } } //var_dump($reqs);exit; echo $counts; try { $con = DB::connect(); $con->beginTransaction(); $query = 'INSERT INTO `cap_annonce`(`id_annonce`, `poste`, `titre`, `h1_page`, `alias`, `type`, `domaine`, `region`, `depart`, `texte`, `duree_travail`, `niveau_etude`, `salaire`, `type_contrat`, `permis`, `langue`, `date_parution`, `fin_parution`, `date_max_parution`, `id_annonceur`, `ville`, `code_postal`, `id_pays`, `latitude`, `longitude`, `adresse`, `autre_mail`, `parution`, `parution_utilise`, `nb_rafraich`, `nb_rafraich_historique`, `par_jour`,`nb_rubrique`, `etat`, `active`, `date_creation`, `date_misejour`,`id_langue`,`select_accueil`, `url_candidature`, `flux`, `nb_vue`, `click_btn`) VALUES ' . implode(',', $reqs); // echo '<br/><br/><br/>'; $con->exec($query); $test = $con->commit(); if($test==true){ $site = "INSERT INTO `cap_annonce_site`(`site_web`, `id_annonce`) VALUES " . implode(',', $sites); $con->query($site); $depas = "INSERT INTO `cap_annonce_departement`(`id_annonce`, `id_departement`) VALUES " . implode(',', $sql_depart); $con->query($depas); $dom ="INSERT INTO `cap_annonce_domaine`(`id_annonce`, `id_domaine`) VALUES " . implode(',', $sql_domaine); $con->query($dom); $sup = "INSERT INTO `cap_annonce_email_sup`(`id_annonce`, `email_sup`) VALUES " . implode(',', $email_sup); $con->query($sup); echo 'ok'; } }catch(PDOException $err) { // roll the transaction back if something fails $con->rollback(); echo "Error message: " . $err->getMessage(); } $con = null; ?>