1)?"registres":"registre")."\n"; $dades_url = ["mention"]; //http_build_query_for_curl($dades_url, $limita_enq); // consulta els existents per afegir-los a la matriu existent si no hi son //$menc_mat_nova = ConsultaNotificacions($token,$base_url,$limit_m,$headers); $limit_m = 80; $menc_mat_nova = ConsultaNotificacions($token,$base_url,$limit_m,$headers); //print_r($menc_mat_nova); //exit; $nom_mat = count($menc_mat_nova); echo "A la instància he repassat les darreres ".$nom_mat." ".(($nom_mat<>1)?"notificacions":"notificació")."\n"; // fer matriu de mencions noves $menc_mat = array(); if($nom_mat>=1) { $mc = 0; for($f=0;$f<$nom_mat;$f++) { $men_id = $menc_mat_nova[$f]['id']; $men_tip = $menc_mat_nova[$f]['type']; $men_qui = $menc_mat_nova[$f]['account']['acct']; $men_qua = $menc_mat_nova[$f]['created_at']; if($men_tip == "mention") { $men_mid = $menc_mat_nova[$f]['status']['id']; $men_que = html_entity_decode(strip_tags($menc_mat_nova[$f]['status']['content'])); } else { $men_mid = 0; $men_que = null; } if($men_tip == "mention") { $men_mid = $menc_mat_nova[$f]['status']['id']; $men_que = str_replace(["'"]," ", $men_que); $men_que = str_replace(["'","`","’","\n"],'', $men_que); $men_que = str_replace(['#','&','"','“','”'],'', $men_que); $comp_info = strpos($men_que,"infobot"); $comp_imps = strpos($men_que,"impulsosbot"); $comp_orat = strpos($men_que,"oratgebot"); $comp_salu = strpos($men_que,"saludabot"); $comp_usu = strpos($men_que,"usuaribot"); if( ($comp_info == false)&&($comp_salu == false)&&($comp_orat == false)&&($comp_imps == false)&&($comp_usu == false) ) { $menc_mat[] = array ( 'id' => (int)$men_id, 'mis_id' => (int)$men_mid, 'qui' => $men_qui, 'mencio' => $men_tip, 'quan' => $men_qua, 'que' => $men_que ); $mc++; } // sleep(2); } /** else { // $menc_mat[] = array ( ); $menc_mat[] = array ( 'id' => (int)0, 'mis_id' => (int)0, 'qui' => null, 'mencio' => null, 'quan' => null ); } **/ } $comprova_mat = is_array($menc_mat); echo "comprova: ".$comprova_mat."\n"; //echo "menc_mat_f\n"; //print_r($menc_mat); //sleep(2); //exit; // evita repetir $fins = count($menc_mat); //if( ($mc<0) ){ echo "De les ".$nom_mat." notificacions, ".$mc." ".(($mc<>1)?"són":"és")." una menció.\n"; $cont_fit = 0; //echo $fins."\n"; for($g=0;$g<$fins;$g++) { $id_busc = $menc_mat[$g]['id']; $qu_busc = $menc_mat[$g]['qui']; $men_que = $menc_mat[$g]['que']; // echo "id_busc: ".$id_busc."\n"; $troba = array_search($id_busc, array_column($json_dec, 'id')); // echo "troba: ".$troba."\n"; if( ($troba !== false ) ) { // echo "La menció ".$id_busc." de ".$qu_busc." ja està al registre\n"; } else { // if($id_busc<>0) { $comp_info = strpos($men_que,"infobot"); $comp_imps = strpos($men_que,"impulsosbot"); $comp_orat = strpos($men_que,"oratgebot"); $comp_salu = strpos($men_que,"saludabot"); $comp_usu = strpos($men_que,"usuaribot"); if( ($id_busc<>0)&&($comp_info == false)&&($comp_salu == false)&&($comp_orat == false)&&($comp_imps == false)&&($com_usu == false) ) { echo "NOVA MENCIÓ ".$id_busc." de ".$qu_busc."\n"; array_push($json_dec, ['id' => (int)$menc_mat[$g]['id'], 'mis_id' => (int)$menc_mat[$g]['mis_id'], 'qui' => $menc_mat[$g]['qui'], 'mencio' => $menc_mat[$g]['mencio'], 'quan' => $menc_mat[$g]['quan'], 'que' => $menc_mat[$g]['que'] ]); } // escriu la menció al fitxer per no repetir-la $escriu_mencions = fopen($lloc."/fitxers/mencions_r.txt", "a") or die("No puc escriure al registre!"); fwrite($escriu_mencions, $en_resposta."\n"); fclose($escriu_mencions); $cont_fit++; } } //echo "matriu després de push\n"; //print_r($json_dec); if($cont_fit >= 1) { // actualitza el fitxer json // $fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT); $fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT); $escriu_f_json = fopen($lloc."/fitxers/mencions.json", "w") or die("No puc escriure al registre!"); fwrite($escriu_f_json, $fes_json); fclose($escriu_f_json); } //fin if matriu de notificacions té registres } else { echo "No hi han mencions noves.\n"; } // per a fer els repas linia a linia $maxim = count($json_dec); $e = 0; $reg = 0; //$ara = strtotime("today"); //$ara = strtotime(filemtime($fitxer)); $ara = (filemtime($fitxer)); //echo $ara."\n"; echo "REPASE ".(($maxim<>1)?"ELS ".$maxim." REGISTRES":"EL REGISTRE").".\n"; for($e=0;$e<$maxim;$e++) { $men_id = $json_dec[$e]['id']; $men_mi = $json_dec[$e]['mis_id']; $men_qi = $json_dec[$e]['qui']; $men_qa = $json_dec[$e]['quan']; $men_tp = $json_dec[$e]['mencio']; $men_qe = $json_dec[$e]['que']; echo "nº".$e." -> ".$men_id." | ".$men_mi. " -> ".$men_tp." - ".utf8_decode($men_qi)." \t-> ".$men_qa." - ".$men_qe."\n"; // pausa d'un segon //sleep(1); //pausa de mig segon (amb microsegons => unitat més sis ceros == segons ); //usleep(200000); $reg++; } /** if($reg>0) { // preguntar si vols volcar-ho al fitxer .txt echo "\nVols actualitzar el fitxer de les mencions? (Si/No)\n"; $handle = fopen ("php://stdin","r"); $line = fgets($handle); if( (trim($line) != 'Si') ){ echo "HE ACABAT DONCS!\n"; exit; } fclose($handle); echo "\n"; echo "Gràcies, els actualitze...\n"; // bolcat a fitxer .txt echo "Actualització feta.\n"; } **/ if($maxim > $max_linies) { $json_dec = array_splice($json_dec,($maxim-$max_linies),$maxim); //print_r($json_dec); // actualitza el fitxer json //$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT); $fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT); $escriu_f_json = fopen($lloc."/fitxers/mencions.json", "w") or die("No puc escriure al registre!"); fwrite($escriu_f_json, $fes_json); fclose($escriu_f_json); } $crmnf = microtime(true); $tmf = $crmnf - $crmn; echo "Temps mencions: ".round($tmf,4).""; //$log->lwrite("Temps mencions: ".round($tmf,4).""); ?>