Subir archivos a 'utils'
This commit is contained in:
pare
fcb1653ec3
commit
35ad94c732
S'han modificat 5 arxius amb 1007 adicions i 117 eliminacions
316
utils/bot_plus_graficsxdies.php
Normal file
316
utils/bot_plus_graficsxdies.php
Normal file
|
@ -0,0 +1,316 @@
|
|||
<?php
|
||||
if (!empty($_SERVER["argv"][1])){
|
||||
$argument = $_SERVER["argv"][1];
|
||||
$ferfil = $_SERVER["argv"][2];
|
||||
// $pub = $_SERVER["argv"][2];
|
||||
} else {
|
||||
// Presenta l'ajuda
|
||||
echo "NO HE REBUT la variable\n";
|
||||
echo "Cal el directori on s'executa el bot_plus.\n";
|
||||
exit;
|
||||
}
|
||||
$lloc = $argument;
|
||||
|
||||
// ara podrá carregar la configuració i el logger
|
||||
include("".$lloc."/configuracio/bot_plus_cfg.php");
|
||||
include("".$lloc."/utils/bot_plus_funcions.php");
|
||||
require_once("".$lloc."/lib/logger.php");
|
||||
|
||||
// inicia el log
|
||||
$log = new Logging();
|
||||
$log->lfile("".$log_fitxer."");
|
||||
|
||||
// fer el gràfic amb les dades recopilades
|
||||
//$fer_grafic_imp = shell_exec("php -f ".$lloc."/utils/bot_plus_fergrafic_imp.php ".$lloc);
|
||||
$fer_grafic_setm = exec("php -f ".$lloc."/utils/bot_plus_fergrafic_setm.php ".$lloc, $eix_grfs, $resp_grfs);
|
||||
$log -> lwrite("INFO: fer grafic impulsos ".( (($resp_grfs == null))?"correcte":"ERRADA")."");
|
||||
//echo $resp_grfs;
|
||||
|
||||
// IMPULSOS
|
||||
// puja imatge a mastodont
|
||||
$pub_cent = ".";
|
||||
$pub_img = $lloc."/grafic/grafic_setm_imp.png";
|
||||
$fitxer_tipus = mime_content_type($pub_img);
|
||||
|
||||
$publica_img = array(
|
||||
"file" => $pub_img,
|
||||
"type"=> $fitxer_tipus,
|
||||
"description" => 'Gràfic dels reblocs fets durant els dies de la setmana.'
|
||||
);
|
||||
|
||||
$publ_img = json_encode($publica_img);
|
||||
|
||||
$status_data = array(
|
||||
"status" => $pub_cent,
|
||||
"text" => $pub_cent,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_com
|
||||
);
|
||||
|
||||
$pub_img = $lloc."/grafic/grafic_setm_imp.png";
|
||||
$fitxer_tipus = mime_content_type($pub_img);
|
||||
$fitxer_prep = curl_file_create($pub_img, $fitxer_tipus, 'file');
|
||||
|
||||
$publica_img = [ 'file' => $fitxer_prep,
|
||||
'description' => 'Gràfic dels reblocs fets durant els dies de la setmana.',
|
||||
'text' => $pub_cent,
|
||||
'status' => 'Missatge amb imatge des del bot'
|
||||
];
|
||||
|
||||
// pujada de la imatge
|
||||
$ch_status = curl_init();
|
||||
curl_setopt($ch_status, CURLOPT_URL, $base_url . "/api/v2/media");
|
||||
curl_setopt($ch_status, CURLOPT_POST, 1);
|
||||
curl_setopt($ch_status, CURLOPT_POSTFIELDS, $publica_img);
|
||||
curl_setopt($ch_status, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch_status, CURLOPT_HTTPHEADER, $headers);
|
||||
$output_status = json_decode(curl_exec($ch_status),true);
|
||||
curl_close ($ch_status);
|
||||
|
||||
echo "\n\nresposta media : \n";
|
||||
print_r ($output_status);
|
||||
$imat_mst = $output_status['id'];
|
||||
$imat_url = $output_status['url'];
|
||||
|
||||
// arreplegar dades imatge pujada
|
||||
sleep(1);
|
||||
// PujaImatges($base_url,$imat_mst,$headers,$bot_status);
|
||||
|
||||
$bot_status = curl_init();
|
||||
curl_setopt($bot_status, CURLOPT_URL, $base_url . "/api/v1/media/".$imat_mst."");
|
||||
curl_setopt($bot_status, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($bot_status, CURLOPT_HTTPHEADER, $headers);
|
||||
$resposta = (curl_exec($bot_status));
|
||||
$resposta_json = json_decode(curl_exec($bot_status));
|
||||
curl_close ($bot_status);
|
||||
|
||||
$resposta = json_decode($resposta,true);
|
||||
// echo "\n\nresposta json_decode\n";
|
||||
// print_r($resposta);
|
||||
|
||||
echo "obtenció dades media impulsos: \n";
|
||||
print_r($resposta_json);
|
||||
sleep(1);
|
||||
|
||||
$im_id = $resposta['id'];
|
||||
$im_url = $resposta['url'];
|
||||
$im_type = $resposta['type'];
|
||||
$im_desc = $resposta['description'];
|
||||
|
||||
$img_bis = $lloc."/grafic/grafic_setm_imp.png";
|
||||
|
||||
$imatge_adj = array('file' => $im_url, 'type' => $im_type, 'description' => $im_desc);
|
||||
$imatge_adj_json = json_encode($imatge_adj);
|
||||
|
||||
function http_build_query_for_curl( $arrays, &$new = array(), $prefix = null ) {
|
||||
if ( is_object( $arrays ) ) {
|
||||
$arrays = get_object_vars( $arrays );
|
||||
}
|
||||
foreach ( $arrays AS $key => $value ) {
|
||||
$k = isset( $prefix ) ? $prefix . '[' . $key . ']' : $key;
|
||||
if ( is_array( $value ) OR is_object( $value ) ) {
|
||||
http_build_query_for_curl( $value, $new, $k );
|
||||
} else {
|
||||
$new[$k] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//$tut = $part0."".$part1."\n".$actius_gr."\n".$part2."\n";
|
||||
$tut = "Reblocs fets cada dia de la setmana.\n".
|
||||
"#ResumSetmanal #SocUnBot 🤖";
|
||||
/**
|
||||
$fitxer = $lloc."/fitxers/impulsos.json";
|
||||
$json_dec = json_decode(file_get_contents($fitxer), true);
|
||||
|
||||
$ara = (filemtime($fitxer));
|
||||
|
||||
$maxim = count($json_dec);
|
||||
|
||||
$e = 0;
|
||||
$rb = 0;
|
||||
$fv = 0;
|
||||
//$o = 1;
|
||||
for($e=0;$e<$maxim;$e++) {
|
||||
// $imp = $json_dec[$e]['mencio'];
|
||||
if($json_dec[$e]['mencio'] == "reblog") {
|
||||
$imp = $json_dec[$e]['mis_id'];
|
||||
$quan_imp = $json_dec[$e]['quan'];
|
||||
// $imp[$e] = [$json_dec[$e]['mencio'],$json_dec[$e]['qui']];
|
||||
// $imp_matriu_r[] = $imp ;
|
||||
$imp_matriu_r[] = $quan_imp ;
|
||||
// $rb++;
|
||||
}
|
||||
if($json_dec[$e]['mencio'] == "favourite") {
|
||||
$impf = $json_dec[$e]['mis_id'];
|
||||
$quan_fav = $json_dec[$e]['quan'];
|
||||
// $imp[$e] = [$json_dec[$e]['mencio'],$json_dec[$e]['qui']];
|
||||
// $imp_matriu_f[] = $impf ;
|
||||
$imp_matriu_f[] = $quan_fav ;
|
||||
// $fv++;
|
||||
}
|
||||
}
|
||||
**/
|
||||
|
||||
//echo $tut;
|
||||
|
||||
$tut_matriu = array(
|
||||
"status" => $tut,
|
||||
"text" => $tut,
|
||||
"language" => $llengua,
|
||||
"media_ids[]" => $im_id,
|
||||
"visibility" => $visib_cent,
|
||||
"sensitive" => null,
|
||||
"spoiler_text" => null,
|
||||
"in_reply_to_id" => $ferfil
|
||||
);
|
||||
|
||||
http_build_query_for_curl( $tut_matriu, $tut_dades );
|
||||
|
||||
// PublicaMissatge($headers,$base_url,$tut_dades);
|
||||
$pub_text_imat = curl_init();
|
||||
curl_setopt($pub_text_imat, CURLOPT_URL, $base_url . "/api/v1/statuses");
|
||||
curl_setopt($pub_text_imat, CURLOPT_POST, 1);
|
||||
curl_setopt($pub_text_imat, CURLOPT_POSTFIELDS, $tut_matriu);
|
||||
curl_setopt($pub_text_imat, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($pub_text_imat, CURLOPT_HTTPHEADER, $headers);
|
||||
$resposta_img_txt = json_decode(curl_exec($pub_text_imat),true);
|
||||
curl_close ($pub_text_imat);
|
||||
|
||||
// PublicaMissatge($base_url,$headers,$tut_dades);
|
||||
//print_r($resposta_img_txt);
|
||||
// final publicar
|
||||
//}
|
||||
$ferfil = $resposta_img_txt['id'];
|
||||
|
||||
// FAVORITS
|
||||
// puja imatge a mastodont
|
||||
$pub_cent = ".";
|
||||
$pub_imgf = $lloc."/grafic/grafic_setm_fav.png";
|
||||
$fitxer_tipus = mime_content_type($pub_imgf);
|
||||
|
||||
$publica_img = array(
|
||||
"file" => $pub_img,
|
||||
"type"=> $fitxer_tipus,
|
||||
"description" => 'Gràfic dels favorits durant els dies de la setmana.'
|
||||
);
|
||||
|
||||
$publ_img = json_encode($publica_img);
|
||||
|
||||
$status_data = array(
|
||||
"status" => $pub_cent,
|
||||
"text" => $pub_cent,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_com
|
||||
);
|
||||
|
||||
$pub_img = $lloc."/grafic/grafic_setm_fav.png";
|
||||
$fitxer_tipus = mime_content_type($pub_img);
|
||||
$fitxer_prep = curl_file_create($pub_img, $fitxer_tipus, 'file');
|
||||
|
||||
$publica_img = [ 'file' => $fitxer_prep,
|
||||
'description' => 'Gràfic dels favorits durant els dies de la setmana.',
|
||||
'text' => $pub_cent,
|
||||
'status' => 'Missatge amb imatge des del bot'
|
||||
];
|
||||
|
||||
// pujada de la imatge
|
||||
$ch_status = curl_init();
|
||||
curl_setopt($ch_status, CURLOPT_URL, $base_url . "/api/v2/media");
|
||||
curl_setopt($ch_status, CURLOPT_POST, 1);
|
||||
curl_setopt($ch_status, CURLOPT_POSTFIELDS, $publica_img);
|
||||
curl_setopt($ch_status, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch_status, CURLOPT_HTTPHEADER, $headers);
|
||||
$output_status = json_decode(curl_exec($ch_status),true);
|
||||
curl_close ($ch_status);
|
||||
|
||||
echo "\n\nresposta media : \n";
|
||||
print_r ($output_status);
|
||||
$imat_mst = $output_status['id'];
|
||||
$imat_url = $output_status['url'];
|
||||
|
||||
// arreplegar dades imatge pujada
|
||||
sleep(1);
|
||||
|
||||
// PujaImatges($base_url,$imat_mst,$headers,$bot_status);
|
||||
|
||||
$bot_status = curl_init();
|
||||
curl_setopt($bot_status, CURLOPT_URL, $base_url . "/api/v1/media/".$imat_mst."");
|
||||
curl_setopt($bot_status, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($bot_status, CURLOPT_HTTPHEADER, $headers);
|
||||
$resposta = (curl_exec($bot_status));
|
||||
$resposta_json = json_decode(curl_exec($bot_status));
|
||||
curl_close ($bot_status);
|
||||
// var_dump($resposta);
|
||||
// echo "resposta\n";
|
||||
// print_r($resposta);
|
||||
$resposta = json_decode($resposta,true);
|
||||
// echo "\n\nresposta json_decode\n";
|
||||
// print_r($resposta);
|
||||
|
||||
echo "obtenció dades media favorits: \n";
|
||||
print_r($resposta_json);
|
||||
sleep(1);
|
||||
|
||||
$im_id = $resposta['id'];
|
||||
$im_url = $resposta['url'];
|
||||
$im_type = $resposta['type'];
|
||||
$im_desc = $resposta['description'];
|
||||
|
||||
$img_bis = $lloc."/grafic/grafic_setm_fav.png";
|
||||
|
||||
$imatge_adj = array('file' => $im_url, 'type' => $im_type, 'description' => $im_desc);
|
||||
$imatge_adj_json = json_encode($imatge_adj);
|
||||
|
||||
/**
|
||||
function http_build_query_for_curl( $arrays, &$new = array(), $prefix = null ) {
|
||||
if ( is_object( $arrays ) ) {
|
||||
$arrays = get_object_vars( $arrays );
|
||||
}
|
||||
foreach ( $arrays AS $key => $value ) {
|
||||
$k = isset( $prefix ) ? $prefix . '[' . $key . ']' : $key;
|
||||
if ( is_array( $value ) OR is_object( $value ) ) {
|
||||
http_build_query_for_curl( $value, $new, $k );
|
||||
} else {
|
||||
$new[$k] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
**/
|
||||
// final fer grafic per publicar
|
||||
//}
|
||||
|
||||
//$tut = $part0."".$part1."\n".$actius_gr."\n".$part2."\n";
|
||||
$tut = "Favorits fets cada dia de la setmana.\n".
|
||||
"#ResumSetmanal #SocUnBot 🤖";
|
||||
//echo $tut;
|
||||
|
||||
$tut_matriu = array(
|
||||
"status" => $tut,
|
||||
"text" => $tut,
|
||||
"language" => $llengua,
|
||||
"media_ids[]" => $im_id,
|
||||
"visibility" => $visib_cent,
|
||||
"sensitive" => null,
|
||||
"spoiler_text" => null,
|
||||
"in_reply_to_id" => $ferfil
|
||||
);
|
||||
|
||||
http_build_query_for_curl( $tut_matriu, $tut_dades );
|
||||
|
||||
// PublicaMissatge($headers,$base_url,$tut_dades);
|
||||
$pub_text_imat = curl_init();
|
||||
curl_setopt($pub_text_imat, CURLOPT_URL, $base_url . "/api/v1/statuses");
|
||||
curl_setopt($pub_text_imat, CURLOPT_POST, 1);
|
||||
curl_setopt($pub_text_imat, CURLOPT_POSTFIELDS, $tut_matriu);
|
||||
curl_setopt($pub_text_imat, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($pub_text_imat, CURLOPT_HTTPHEADER, $headers);
|
||||
$resposta_img_txt = json_decode(curl_exec($pub_text_imat),true);
|
||||
curl_close ($pub_text_imat);
|
||||
|
||||
|
||||
//$graf_fav_setm = shell_exec("/usr/bin/php -f ".$lloc."/proves/bot_plus_favoritsxdies.php ".$lloc." ".$ferfil."");
|
||||
//$log -> lwrite("INFO: fer tut gràfic de favorits per dies: ".( (($graf_fav_setm != null)||($graf_fav_setm != false))?"correcte":"ERRADA")."");
|
||||
?>
|
|
@ -19,6 +19,13 @@ $log = new Logging();
|
|||
$log->lfile(''.$log_fitxer.'');
|
||||
|
||||
$log->lwrite("Estàn activades les estadistiques dels impulsos.");
|
||||
if($control_memoria_utils == 1) {
|
||||
$log -> lwrite ( mostra_us_memoria()." ".mostra_pic_memoria() );
|
||||
}
|
||||
$a = 0;
|
||||
$b = 0;
|
||||
$c = 0;
|
||||
$d = 0;
|
||||
|
||||
// preparatius i variables comunes
|
||||
$resposta = ConsultaNotificacions($token,$base_url,$limit_i,$headers);
|
||||
|
@ -32,7 +39,7 @@ $espera_ll = fread($espera_ob,filesize($lloc . "/fitxers/impulsos_temps.txt"));
|
|||
$espera_imp = $espera_ll;
|
||||
fclose($espera_ob);
|
||||
|
||||
// prova
|
||||
// prova
|
||||
//$espera_imp = strtotime("now");
|
||||
|
||||
$temps_ini = $espera_imp - 604800;
|
||||
|
@ -90,7 +97,8 @@ for ($e = 0; $e < $nrm; $e++) {
|
|||
$escriu_impulsos = fopen($lloc."/fitxers/impulsos.txt", "a") or die("No puc escriure al registre!");
|
||||
fwrite($escriu_impulsos, $m_id." ".$usuari." ".$impuls_t." ".$miss_id." ".$quan_m."\n");
|
||||
fclose($escriu_impulsos);
|
||||
$log->lwrite("NOU IMPULS: ".$m_id." ".$usuari." ".$impuls_t." ".$miss_id." ".$quan_m."");
|
||||
// $log->lwrite("NOU IMPULS : ".$m_id." ".$usuari." ".$impuls_t." ".$miss_id." ".$quan_m."");
|
||||
$log->lwrite("NOU IMPULS ".$impuls_t." : ".$m_id." ".$usuari." ".$miss_id." ".$quan_m."");
|
||||
$imp_mat[] = array ( 'id' => (int)$m_id, 'mis_id' => (int)$miss_id, 'qui' => $usuari, 'impuls' => $impuls_t, 'quan' => $quan_m );
|
||||
$nm++;
|
||||
}
|
||||
|
@ -102,12 +110,13 @@ if($nm > 0) {
|
|||
|
||||
// fer la matriu de les dades existents al json
|
||||
//$usa_json = exec("php ".$lloc."/proves/proves_impulsos_json.php ".$lloc , $eix_usa_json, $resp_usa_json);
|
||||
$usa_json = shell_exec("php ".$lloc."/proves/proves_impulsos_json.php ".$lloc);
|
||||
|
||||
$usa_json = exec("php ".$lloc."/utils/bot_plus_impulsos_json.php ".$lloc, $eix_ujson, $resp_ujson);
|
||||
if ( $resp_ujson !=0 ) {
|
||||
$log -> lwrite("INFO: fer fitxer impulsos json: ".(($resp_ujson == 0)?"correcte":"ERRADA")." - ".__LINE__);
|
||||
}
|
||||
|
||||
// incloure les novetats a la matriu
|
||||
|
||||
|
||||
/**
|
||||
// actualitza el fitxer json
|
||||
$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY);
|
||||
|
@ -126,6 +135,9 @@ $favp = 0;
|
|||
// aqui if de temps
|
||||
if($temps_imp >= $espera_imp) {
|
||||
|
||||
$act_segs = exec("php -f ".$lloc."/utils/bot_plus_benvinguda_fitx.php ".$lloc, $eix_asegs, $resp_asegs);
|
||||
$log -> lwrite( "resp_asegs: ".$resp_asegs."" );
|
||||
|
||||
//recupera còpia de seguretat, si escau
|
||||
if( (filesize($lloc."/fitxers/impulsos.txt")) == 0 ) {
|
||||
$fil_seg = shell_exec("cat ".$lloc."/fitxers/impulsos.bak > ".$lloc."/fitxers/impulsos.txt");
|
||||
|
@ -137,7 +149,11 @@ $nseg_ant = fread($nseg_lle,filesize($lloc."/fitxers/seg_cont.txt"));
|
|||
fclose($nseg_lle);
|
||||
|
||||
// fer el gràfic amb les dades recopilades
|
||||
$fer_grafic_imp = shell_exec($lloc."/utils/bot_plus_fergrafic_imp.php ".$lloc);
|
||||
//$fer_grafic_imp = shell_exec("php -f ".$lloc."/utils/bot_plus_fergrafic_imp.php ".$lloc);
|
||||
$fer_grafic_imp = exec("php -f ".$lloc."/utils/bot_plus_fergrafic_imp.php ".$lloc, $eix_grfi, $resp_grfi);
|
||||
|
||||
//$log -> lwrite("INFO: fer grafic impulsos: ".( (($fer_grafic != null)||($fer_grafic_imp != false))?"correcte":"ERRADA")."");
|
||||
$log -> lwrite("INFO: fer grafic impulsos: ".( ($resp_grfi == null)?"correcte":"ERRADA")." - ".__LINE__);
|
||||
|
||||
// pujar gràfic
|
||||
|
||||
|
@ -165,7 +181,7 @@ $pub_img = $lloc."/grafic/grafic_imp.png";
|
|||
$fitxer_tipus = mime_content_type($pub_img);
|
||||
$fitxer_prep = curl_file_create($pub_img, $fitxer_tipus, 'file');
|
||||
|
||||
$publica_img = [ 'file' => $fitxer_prep,
|
||||
$publica_img = ['file' => $fitxer_prep,
|
||||
'description' => 'Gràfic impulsos dels '.($nseg_ant).' seguidors.',
|
||||
'text' => $pub_cent,
|
||||
'status' => 'missatge amb imatge des del bot'
|
||||
|
@ -181,8 +197,8 @@ curl_setopt($ch_status, CURLOPT_HTTPHEADER, $headers);
|
|||
$output_status = json_decode(curl_exec($ch_status),true);
|
||||
curl_close ($ch_status);
|
||||
|
||||
echo "\n\nresposta media : \n";
|
||||
print_r ($output_status);
|
||||
//echo "\n\nresposta media : \n";
|
||||
//print_r ($output_status);
|
||||
$imat_mst = $output_status['id'];
|
||||
$imat_url = $output_status['url'];
|
||||
|
||||
|
@ -212,11 +228,12 @@ $im_url = $resposta['url'];
|
|||
$im_type = $resposta['type'];
|
||||
$im_desc = $resposta['description'];
|
||||
|
||||
$img_bis = $lloc."/grafic/grafic_imp.png";
|
||||
//$img_bis = $lloc."/grafic/grafic_imp.png";
|
||||
|
||||
$imatge_adj = array('file' => $im_url, 'type' => $im_type, 'description' => $im_desc);
|
||||
$imatge_adj_json = json_encode($imatge_adj);
|
||||
//$imatge_adj = array('file' => $im_url, 'type' => $im_type, 'description' => $im_desc);
|
||||
//$imatge_adj_json = json_encode($imatge_adj);
|
||||
|
||||
/**
|
||||
function http_build_query_for_curl( $arrays, &$new = array(), $prefix = null ) {
|
||||
if ( is_object( $arrays ) ) {
|
||||
$arrays = get_object_vars( $arrays );
|
||||
|
@ -230,10 +247,9 @@ function http_build_query_for_curl( $arrays, &$new = array(), $prefix = null ) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
**/
|
||||
//arsort($act_mat_ord);
|
||||
|
||||
|
||||
// reblogs
|
||||
//$impuls_resum = exec("cat ".$lloc."/fitxers/impulsos.txt | awk '{print $2}'", $eix_ir, $resp_ir );
|
||||
$impuls_resum = exec("cat ".$lloc."/fitxers/impulsos.txt | grep 'reblog' | awk '{print $2}'", $eix_ir, $resp_ir );
|
||||
|
@ -246,14 +262,14 @@ foreach ($mat_reb as $clau => $valor) {
|
|||
$a++;
|
||||
}
|
||||
|
||||
$us_imp = array_values($mat_reb_f)[0]['nom'];
|
||||
$nu_imp = array_values($mat_reb_f)[0]['nombre'];
|
||||
$us_imp0 = array_values($mat_reb_f)[0]['nom'];
|
||||
$nu_imp0 = array_values($mat_reb_f)[0]['nombre'];
|
||||
|
||||
// quants tenen els mateix nombre que el primer?
|
||||
$acabaa = count($mat_reb_f);
|
||||
for($i=0;$i<$acabaa;$i++) {
|
||||
if($mat_reb_f[$i]['nombre'] == $nu_imp) {
|
||||
$mat_reb_fp[] = array('article' => $clau, 'nombre' => $valor);
|
||||
if($mat_reb_f[$i]['nombre'] == $nu_imp0) {
|
||||
$mat_reb_fp[] = array('article' => $mat_reb_f[$i]["nom"], 'nombre' => $mat_reb_f[$i]["nombre"]);
|
||||
}
|
||||
}
|
||||
$tuts_imp_primers = count($mat_reb_fp);
|
||||
|
@ -271,14 +287,14 @@ foreach ($mat_fav as $clau => $valor) {
|
|||
$b++;
|
||||
}
|
||||
|
||||
$us_fav = array_values($mat_fav_f)[0]['nom'];
|
||||
$nu_fav = array_values($mat_fav_f)[0]['nombre'];
|
||||
$us_fav0 = array_values($mat_fav_f)[0]['nom'];
|
||||
$nu_fav0 = array_values($mat_fav_f)[0]['nombre'];
|
||||
|
||||
// quants tenen els mateix nombre que el primer?
|
||||
// quants tuts tenen els mateix nombre que el primer?
|
||||
$acabaf = count($mat_fav_f);
|
||||
for($i=0;$i<$acabaf;$i++) {
|
||||
if($mat_fav_f[$i]['nombre'] == $nu_fav) {
|
||||
$mat_fav_fp[] = array('article' => $clau, 'nombre' => $valor);
|
||||
if($mat_fav_f[$i]['nombre'] == $nu_fav0) {
|
||||
$mat_fav_fp[] = array('article' => $mat_fav_f[$i]["nom"], 'nombre' => $mat_fav_f[$i]["nombre"]);
|
||||
}
|
||||
}
|
||||
$tuts_fav_primers = count($mat_fav_fp);
|
||||
|
@ -286,7 +302,7 @@ $tuts_fav_primers = count($mat_fav_fp);
|
|||
//està activat missatges als usuaris?
|
||||
if($act_impuls_usu == 1) {
|
||||
|
||||
$nrmr = rand(2,3);
|
||||
$nrmr = rand($min_us,$max_us);
|
||||
|
||||
// impulsos
|
||||
for($f = 0; $f<$nrmr; $f++) {
|
||||
|
@ -296,7 +312,6 @@ $nrmr = rand(2,3);
|
|||
$log -> lwrite ($imp_resp);
|
||||
|
||||
// publicar
|
||||
|
||||
$imp_dades = array(
|
||||
"status" => $imp_resp,
|
||||
"language" => $llengua,
|
||||
|
@ -323,7 +338,7 @@ $nrmr = rand(2,3);
|
|||
"visibility" => $visib_imp_usu
|
||||
);
|
||||
|
||||
PublicaMissatge($base_url,$headers,$imp_dades);
|
||||
PublicaMissatge($base_url,$headers,$fav_dades);
|
||||
|
||||
$favp++;
|
||||
}
|
||||
|
@ -363,44 +378,55 @@ foreach ($mat_res_f as $clau => $valor) {
|
|||
$d++;
|
||||
}
|
||||
|
||||
//print_r($mes_res_fa);
|
||||
$mes_fav_id = array_values($mat_res_fa)[0]['article'];
|
||||
$mes_fav_vl = array_values($mat_res_fa)[0]['nombre'];
|
||||
//echo $mes_fav_id ."-" $mes_fav_vl;
|
||||
//exit;
|
||||
|
||||
// llegeix el nombre de seguidors
|
||||
$nseg_lle = fopen($lloc."/fitxers/seg_cont.txt", "r") or die("No puc obrir el nombre seguidors!");
|
||||
$nseg_ant = fread($nseg_lle,filesize($lloc."/fitxers/seg_cont.txt"));
|
||||
fclose($nseg_lle);
|
||||
|
||||
$n_pub = shell_exec("cat ".$lloc."/fitxers/compte_pub.txt");
|
||||
$s_pub = shell_exec("cat ".$lloc."/fitxers/compte_setm.txt");
|
||||
$tuts_setm = ($n_pub - $s_pub);
|
||||
|
||||
if($tuts_imp_primers == 1) {
|
||||
|
||||
$comp_miss = "Este és el tut ⬆️ que mes heu compartit, ".$mes_comp_vl." ".(($mes_comp_vl<>1)?"voltes":"volta").", des del ".date('d/m/Y',$temps_ini).".\n".
|
||||
"Moltes gràcies!\n\n".
|
||||
"Estadístiques 📈 \n".
|
||||
"Tuts favorits -> ".$d." tuts\n".
|
||||
"Els han marcat -> ".$b." persones.\n".
|
||||
"🎖️ Qui més favorits n'ha fet ".$nu_fav."\n".
|
||||
"Tuts publicats -> ".$tuts_setm."\n".
|
||||
"Tuts favorits -> ".($d-1)."\n".
|
||||
"Els han marcat -> ".($b-1)." persones.\n".
|
||||
"🎖️ Qui més favorits n'ha fet ".$nu_fav0."\n".
|
||||
"El tut que més n'ha rebut ".$mes_fav_vl."\n".
|
||||
"Ha participat un ".round( (($b/$nseg_ant)*100), 2 )."% sobre el total dels seguidors.\n".
|
||||
"Tuts impulsats -> ".$c." tuts\n".
|
||||
"Els han impulsat -> ".$a." persones.\n".
|
||||
"🥇 Qui més ha impulsat n'ha fet ".$nu_imp." impulsos.\n".
|
||||
"Tuts impulsats -> ".($c-1)."\n".
|
||||
"Els han impulsat -> ".($a-1)." persones.\n".
|
||||
"🥇 Qui més ha impulsat n'ha fet ".$nu_imp0."\n".
|
||||
"Ha participat un ".round( (($a/$nseg_ant)*100), 2 )."% sobre el total dels seguidors.\n".
|
||||
|
||||
"#ResumSetmanal #SocUnBot \n".$bot_nom." v".$bot_versio."";
|
||||
|
||||
} else {
|
||||
|
||||
$comp_miss = "Este és un dels ".$tuts_imp_primers ." tuts ⬆️ que mes heu compartit, ".$mes_comp_vl." ".(($mes_comp_vl<>1)?"voltes":"volta").", des del ".date('d/m/Y',$temps_ini).".\n".
|
||||
"Moltes gràcies!\n\n".
|
||||
"Estadístiques 📈 \n".
|
||||
"Tuts favorits -> ".$d." tuts\n".
|
||||
"Els han marcat -> ".$b." persones.\n".
|
||||
"🎖️ Qui més favorits n'ha fet ".$nu_fav."\n".
|
||||
"Tuts publicats -> ".$tuts_setm."\n".
|
||||
"Tuts favorits -> ".($d-1)."\n".
|
||||
"Els han marcat -> ".($b-1)." persones.\n".
|
||||
"🎖️ Qui més favorits n'ha fet ".$nu_fav0."\n".
|
||||
"El tut que més n'ha rebut ".$mes_fav_vl."\n".
|
||||
"Ha participat un ".round( (($b/$nseg_ant)*100), 2 )."% sobre el total dels seguidors.\n".
|
||||
"Tuts impulsats -> ".$c." tuts\n".
|
||||
"Els han impulsat -> ".$a." persones.\n".
|
||||
"🥇 Qui més ha impulsat n'ha fet ".$nu_imp." impulsos.\n".
|
||||
"Tuts impulsats -> ".($c-1)."\n".
|
||||
"Els han impulsat -> ".($a-1)." persones.\n".
|
||||
"🥇 Qui més ha impulsat n'ha fet ".$nu_imp0."\n".
|
||||
"Ha participat un ".round( (($a/$nseg_ant)*100), 2 )."% sobre el total dels seguidors.\n".
|
||||
|
||||
"#ResumSetmanal #SocUnBot \n".$bot_nom." v".$bot_versio."";
|
||||
|
||||
}
|
||||
|
||||
$tut = $comp_miss;
|
||||
|
@ -426,24 +452,38 @@ $tut_matriu = array(
|
|||
"in_reply_to_id" => $mes_comp_id
|
||||
);
|
||||
|
||||
http_build_query_for_curl( $tut_matriu, $tut_dades );
|
||||
//http_build_query_for_curl( $tut_matriu, $tut_dades );
|
||||
|
||||
// PublicaMissatge($headers,$base_url,$tut_dades);
|
||||
$pub_text_imat = curl_init();
|
||||
curl_setopt($pub_text_imat, CURLOPT_URL, $base_url . "/api/v1/statuses");
|
||||
curl_setopt($pub_text_imat, CURLOPT_POST, 1);
|
||||
curl_setopt($pub_text_imat, CURLOPT_POSTFIELDS, $tut_dades);
|
||||
curl_setopt($pub_text_imat, CURLOPT_POSTFIELDS, $tut_matriu);
|
||||
curl_setopt($pub_text_imat, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($pub_text_imat, CURLOPT_HTTPHEADER, $headers);
|
||||
$resposta_img_txt = json_decode(curl_exec($pub_text_imat),true);
|
||||
curl_close ($pub_text_imat);
|
||||
|
||||
|
||||
//exit;
|
||||
$mr++;
|
||||
|
||||
$ferfil = $resposta_img_txt['id'];
|
||||
/**
|
||||
// fer tuts de impulsos i favorits per dies de la setmana
|
||||
// $graf_imp_setm = shell_exec("/usr/bin/php -f ".$lloc."/proves/bot_plus_estadistiques_inst_impulsos.php ".$lloc." ".$ferfil." 1" );
|
||||
// $graf_imp_setm = shell_exec("/usr/bin/php -f ".$lloc."/proves/bot_plus_impulsosxdies.php ".$lloc."" );
|
||||
$log -> lwrite("INFO: fer tut gràfic d'impulsos per dies: ".( (($graf_imp_setm != null)||($graf_imp_setm != false))?"correcte":"ERRADA")."");
|
||||
// $graf_fav_setm = shell_exec("/usr/bin/php -f ".$lloc."/proves/bot_plus_estadistiques_inst_impulsos.php ".$lloc." ".$ferfil." 1" );
|
||||
// $graf_fav_setm = shell_exec("/usr/bin/php -f ".$lloc."/proves/bot_plus_favoritsxdies.php ".$lloc." " );
|
||||
$log -> lwrite("INFO: fer tut gràfic de favorits per dies: ".( (($graf_fav_setm != null)||($graf_fav_setm != false))?"correcte":"ERRADA")."");
|
||||
**/
|
||||
// executa tut de persones i instàncies dels impulsos
|
||||
$activitat_inst = shell_exec("/usr/bin/php -f ".$lloc."/utils/bot_plus_estadistiques_inst_impulsos.php ".$lloc." ".$ferfil." 1" );
|
||||
// $log -> lwrite("INFO: fer tut instàncies d'impulsos: ".( (($activitat_inst != null)||($activitat_inst != false))?"correcte":"ERRADA")."");
|
||||
|
||||
// executa activitat dels seguidors
|
||||
$activitat_seguidors = shell_exec("/usr/bin/php -f ".$lloc."/proves/proves_activitat_seguidors.php ".$lloc."");
|
||||
$activitat_seguidors = shell_exec("/usr/bin/php -f ".$lloc."/utils/bot_plus_activitat_seguidors.php ".$lloc."");
|
||||
$log -> lwrite("INFO: fer tut activitat: ".( (($activitat_seguidors != null)||($activitat_seguidors != false))?"correcte":"ERRADA")." - ".__LINE__);
|
||||
|
||||
// final si estadistiques està encés
|
||||
}
|
||||
|
@ -457,7 +497,7 @@ $temps_cal = ($espera_imp - $temps_imp);
|
|||
$log -> lwrite("Manquen per publicar ".gmdate("d",$temps_cal)." dies i ".gmdate("H:i:s",$temps_cal)." hores");
|
||||
}
|
||||
if(($espera_imp - $temps_imp)<= 86400) {
|
||||
$log->lwrite("".( gmdate("d",$temps_cal)<>1 ? "Manquen ".gmdate('d',$temps_cal)." dies i ".gmdate('H:i:s',$temps_cal)." hores.":"No manca cap dia i ".gmdate('H:i:s',$temps_cal)." hores.")."");
|
||||
$log->lwrite("".( gmdate("d",$temps_cal)<>1 ? "Manquen ".gmdate('d',$temps_cal)." dies i ".gmdate('H:i:s',$temps_cal)." hores.":"No manca cap dia i només ".gmdate('H:i:s',$temps_cal)." hores.")."");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -471,20 +511,43 @@ $buida_imp = shell_exec(": > ".$lloc."/fitxers/impulsos.txt");
|
|||
$buida_imp_cp = shell_exec(": > ".$lloc."/fitxers/impulsos.bak");
|
||||
$buida_json = file_put_contents($lloc."/fitxers/impulsos.json", json_encode([]));
|
||||
|
||||
// copia el nombre de tut publicats fins el moment
|
||||
$copia_ntuts = shell_exec("cat ".$lloc."/fitxers/compte_pub.txt > ".$lloc."/fitxers/compte_setm.txt");
|
||||
|
||||
|
||||
// crea el fitxer per fer el compte de temps
|
||||
$data_ara = strtotime("now");
|
||||
$data_conv = strtotime("1 week");
|
||||
$data_dif = $data_ara - $data_conv;
|
||||
$data_cal = $data_ara + $data_dif;
|
||||
$data_conv = ($data_conv + rand(-300,300));
|
||||
|
||||
// canviar a aleatori quan ja estiga a l'hora desitjada
|
||||
$data_conv = ($data_conv - rand(180,300));
|
||||
//$data_conv = ($data_conv - 720);
|
||||
|
||||
// escriu el fitxer per saber quan publicar
|
||||
$escriu_imp_t = fopen($lloc."/fitxers/impulsos_temps.txt", "w") or die("No puc escriure al registre!");
|
||||
fwrite($escriu_imp_t, $data_conv);
|
||||
fclose($escriu_imp_t);
|
||||
|
||||
// reinicia el contador d'errades tècniques
|
||||
$escriu_err_tec = fopen($lloc."/fitxers/errada_cont.txt", "w") or die("No puc escriure al registre!");
|
||||
fwrite($escriu_err_tec, 1);
|
||||
fclose($escriu_err_tec);
|
||||
}
|
||||
|
||||
$tcf = microtime(true);
|
||||
$dc = $tcf - $tc;
|
||||
$log->lwrite("Temps impulsos: ".round($dc,4)."");
|
||||
$log->lwrite("Temps impulsos: ".round($dc,4)." segons");
|
||||
//if($control_memoria == 1) {
|
||||
//$log -> lwrite ( mostra_us_memoria() );
|
||||
//$log -> lwrite ( mostra_pic_memoria() );
|
||||
//}
|
||||
if($mem_net == 1) {
|
||||
$resposta = null; $menc_mat = null; $mat_reb_f = null; $mat_reb_fp = null; $mat_fav_f = null; $mat_fav_fp = null; $mat_res_f = null; $mat_res_fa = null;
|
||||
unset($resposta,$menc_mat,$mat_reb_f,$mat_reb_fp,$mat_fav_f,$mat_fav_fp,$mat_res_f,$mat_res_fa);
|
||||
}
|
||||
if($control_memoria_utils == 1) {
|
||||
$log -> lwrite ( mostra_us_memoria()." ".mostra_pic_memoria() );
|
||||
}
|
||||
?>
|
||||
|
|
183
utils/bot_plus_impulsos_json.php
Normal file
183
utils/bot_plus_impulsos_json.php
Normal file
|
@ -0,0 +1,183 @@
|
|||
<?php
|
||||
$crmn = microtime(true);
|
||||
|
||||
if (!empty($_SERVER["argv"][1])){
|
||||
$argument = $_SERVER["argv"][1];
|
||||
} else {
|
||||
// Presenta l'ajuda
|
||||
echo "NO HE REBUT la variable\n";
|
||||
echo "Cal el directori on s'executa el bot_plus.\n";
|
||||
exit;
|
||||
}
|
||||
$lloc = $argument;
|
||||
|
||||
// ara pot carregar la configuració i el logger
|
||||
include("".$lloc."/configuracio/bot_plus_cfg.php");
|
||||
include("".$lloc."/utils/bot_plus_funcions.php");
|
||||
require_once("".$lloc."/lib/logger.php");
|
||||
|
||||
//echo $lloc;
|
||||
//$fitxer = $lloc."/fitxers/mencions.json";
|
||||
$fitxer = $lloc."/fitxers/impulsos.json";
|
||||
//echo $fitxer;
|
||||
|
||||
//matriu a partir del fitxer
|
||||
$json_deci = json_decode(file_get_contents($fitxer), true);
|
||||
|
||||
//echo "matriu fitxer\n";
|
||||
//print_r($json_deci);
|
||||
//echo is_array($json_deci)."\n";
|
||||
//sleep(2);
|
||||
$reg_arx = count($json_deci);
|
||||
echo "L'arxiu té ".$reg_arx." ".(($reg_arx<>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;
|
||||
$imp_mat_nova = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
||||
//print_r($imp_mat_nova);
|
||||
//exit;
|
||||
|
||||
$nom_mat = count($imp_mat_nova);
|
||||
echo "A la instància he repassat les darreres ".$nom_mat." ".(($nom_mat<>1)?"notificacions":"notificació")."\n";
|
||||
// fer matriu de mencions noves
|
||||
|
||||
$imp_mat = array();
|
||||
if($nom_mat>=1) {
|
||||
|
||||
// llegir fitxer de temps
|
||||
$temps_imp = strtotime("now");
|
||||
$espera_ob = fopen($lloc . "/fitxers/impulsos_temps.txt", "r") or die("No puc obrir la darrera data!");
|
||||
$espera_ll = fread($espera_ob,filesize($lloc . "/fitxers/impulsos_temps.txt"));
|
||||
$espera_imp = $espera_ll;
|
||||
fclose($espera_ob);
|
||||
|
||||
$temps_ini = $espera_imp - 604800;
|
||||
|
||||
$mc = 0;
|
||||
for($f=0;$f<$nom_mat;$f++) {
|
||||
$men_id = $imp_mat_nova[$f]['id'];
|
||||
$men_tip = $imp_mat_nova[$f]['type'];
|
||||
$men_qui = $imp_mat_nova[$f]['account']['acct'];
|
||||
$men_qua = $imp_mat_nova[$f]['created_at'];
|
||||
// $men_mid = $imp_mat_nova[$f]['status']['id'];
|
||||
if( ($men_tip == "reblog")||($men_tip == "favourite") ){
|
||||
if ( strtotime($men_qua) >= $temps_ini ) {
|
||||
$men_mid = $imp_mat_nova[$f]['status']['id'];
|
||||
$imp_mat[] = array ( 'id' => (int)$men_id, 'mis_id' => (int)$men_mid, 'qui' => $men_qui, 'mencio' => $men_tip, 'quan' => $men_qua );
|
||||
$mc++;
|
||||
}
|
||||
// sleep(2);
|
||||
}
|
||||
/** else {
|
||||
// $imp_mat[] = array ( );
|
||||
$imp_mat[] = array ( 'id' => (int)0, 'mis_id' => (int)0, 'qui' => null, 'mencio' => null, 'quan' => null );
|
||||
}
|
||||
**/
|
||||
}
|
||||
|
||||
//print_r($imp_mat);
|
||||
//exit;
|
||||
|
||||
$comprova_mat = is_array($imp_mat);
|
||||
echo "comprova: ".$comprova_mat."\n";
|
||||
//echo "menc_mat_f\n";
|
||||
//print_r($imp_mat);
|
||||
//sleep(2);
|
||||
//exit;
|
||||
|
||||
// evita repetir
|
||||
$fins = count($imp_mat);
|
||||
//if( ($mc<0) ){
|
||||
echo "De les ".$nom_mat." notificacions, ".$mc." ".(($mc<>1)?"són":"és")." un impuls.\n";
|
||||
$cont_fit = 0;
|
||||
//echo $fins."\n";
|
||||
|
||||
for($g=0;$g<$fins;$g++) {
|
||||
$id_busc = $imp_mat[$g]['id'];
|
||||
$qu_busc = $imp_mat[$g]['qui'];
|
||||
$tp_busc = $imp_mat[$g]['mencio'];
|
||||
// echo "id_busc: ".$id_busc."\n";
|
||||
$troba = array_search($id_busc, array_column($json_deci, 'id'));
|
||||
// echo "troba: ".$troba."\n";
|
||||
|
||||
if( ($troba !== false ) ) {
|
||||
// echo "El ".$tp_busc." ".$id_busc." de ".$qu_busc." ja està al registre\n";
|
||||
} else {
|
||||
if($id_busc<>0) {
|
||||
echo "NOU IMPULS: ".$tp_busc." ".$id_busc." de ".$qu_busc."\n";
|
||||
array_push($json_deci,
|
||||
['id' => (int)$imp_mat[$g]['id'], 'mis_id' => (int)$imp_mat[$g]['mis_id'],
|
||||
'qui' => $imp_mat[$g]['qui'], 'mencio' => $imp_mat[$g]['mencio'],
|
||||
'quan' => $imp_mat[$g]['quan']
|
||||
]);
|
||||
}
|
||||
$cont_fit++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//echo "matriu després de push\n";
|
||||
//print_r($json_deci);
|
||||
if($cont_fit >= 1) {
|
||||
// actualitza el fitxer json
|
||||
// $fes_json = json_encode($json_deci, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||
$fes_json = json_encode($json_deci, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||
$escriu_f_json = fopen($lloc."/fitxers/impulsos.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_deci);
|
||||
$e=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_deci[$e]['id'];
|
||||
$men_mi = $json_deci[$e]['mis_id'];
|
||||
$men_qi = $json_deci[$e]['qui'];
|
||||
$men_qa = $json_deci[$e]['quan'];
|
||||
$men_tp = $json_deci[$e]['mencio'];
|
||||
|
||||
echo "nº".$e." -> ".$men_id." | ".$men_mi. " -> ".$men_tp." \t- ".utf8_decode($men_qi)." \t-> ".$men_qa."\n";
|
||||
|
||||
// pausa d'un segon
|
||||
//sleep(1);
|
||||
//pausa de mig segon (amb microsegons => unitat més sis ceros == segons );
|
||||
//usleep(200000);
|
||||
}
|
||||
**/
|
||||
|
||||
if($maxim > $max_linies) {
|
||||
$json_deci = array_splice($json_deci,($maxim-$max_linies),$maxim);
|
||||
//print_r($json_deci);
|
||||
|
||||
// actualitza el fitxer json
|
||||
//$fes_json = json_encode($json_deci, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||
$fes_json = json_encode($json_deci, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||
$escriu_f_json = fopen($lloc."/fitxers/impulsos.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 impulsos json: ".round($tmf,4)."";
|
||||
//$log->lwrite("Temps mencions: ".round($tmf,4)."");
|
||||
?>
|
|
@ -3,6 +3,7 @@ $tm = microtime(true);
|
|||
// Comprova els arguments, en cas de no existir presenta l'ajuda.
|
||||
if (!empty($_SERVER["argv"][1])){
|
||||
$argument = $_SERVER["argv"][1];
|
||||
// $mstg = $_SERVER["argv"][2];
|
||||
} else {
|
||||
// Presenta l'ajuda
|
||||
echo "NO HE REBUT la variable";
|
||||
|
@ -19,6 +20,9 @@ $log = new Logging();
|
|||
$log->lfile(''.$log_fitxer.'');
|
||||
|
||||
$log->lwrite("Estàn activades les respostes a les mencions.");
|
||||
if($control_memoria_utils == 1) {
|
||||
$log -> lwrite ( mostra_us_memoria()." ".mostra_pic_memoria()." - ".__LINE__ );
|
||||
}
|
||||
|
||||
// preparatius i variables comunes
|
||||
$resposta = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
||||
|
@ -26,8 +30,9 @@ $resposta = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
|||
$tmc = microtime(true);
|
||||
$dcon = $tmc - $tm;
|
||||
|
||||
//print_r($resposta);
|
||||
//exit;
|
||||
$nr = count($resposta);
|
||||
|
||||
$menc_mat = array();
|
||||
$d = 0;
|
||||
for ($d = 0; $d < $nr; $d++) {
|
||||
|
@ -39,19 +44,33 @@ for ($d = 0; $d < $nr; $d++) {
|
|||
$usu_ac = $resposta[$d]['account']['acct'];
|
||||
// $usu_no = $resposta[$d]['account']['username'];
|
||||
// $usu_dp = $resposta[$d]['account']['display_name'];
|
||||
|
||||
if ($mencio == "mention") {
|
||||
$mis_id = $resposta[$d]['status']['id'];
|
||||
} else { $mis_id = 0; }
|
||||
$menc_mat[] = array ( 'id' => (int)$men_id, 'mis_id' => (int)$mis_id, 'qui' => $usu_ac, 'mencio' => $mencio, 'quan' => $men_tp );
|
||||
// }
|
||||
// echo "tipus de menció ".$d.": ".$mencio." i nº ".$men_id." - qui: ".$qui."\n";
|
||||
// sleep(1);
|
||||
$mis_vis = $resposta[$d]['status']['visibility'];
|
||||
$mstg = html_entity_decode(strip_tags($resposta[$d]['status']['content']));
|
||||
} else { $mis_id = 0; $mstg = null; $mis_vis = 'direct'; }
|
||||
// echo "".$mis_vis."-".$d."\n";
|
||||
$menc_mat[] = array ( 'id' => (int)$men_id, 'mis_id' => (int)$mis_id, 'qui' => $usu_ac, 'mencio' => $mencio, 'quan' => $men_tp, 'que' => $mstg, 'visib' => $mis_vis );
|
||||
}
|
||||
|
||||
//print_r($menc_mat);
|
||||
//exit;
|
||||
|
||||
$nombre_matriu = count($menc_mat);
|
||||
$men_resp = null;
|
||||
|
||||
//if($nombre_matriu >= 1) {
|
||||
$reg_tam = filesize("".$lloc."/fitxers/mencions_r.txt");
|
||||
$reg_lin = count(file("".$lloc."/fitxers/mencions_r.txt"));
|
||||
$reg_lin_bak = count(file("".$lloc."/fitxers/mencions_r.bak"));
|
||||
|
||||
if ( ($reg_tam == 0) || ($reg_lin < ($reg_lin_bak)) ) {
|
||||
$log -> lwrite ("ALERTA! El fitxer mencions_r te ".$reg_lin." linies. Cal posar-ne més.");
|
||||
$recuperar = 1;
|
||||
$copia_seguretat_rec = shell_exec("cat ".$lloc."/fitxers/mencions_r.bak > ".$lloc."/fitxers/mencions_r.txt");
|
||||
} else {
|
||||
$recuperar = 0;
|
||||
}
|
||||
|
||||
// llegir fitxer per evitar repeticions
|
||||
$mencio_arx = shell_exec("cat ".$lloc."/fitxers/mencions_r.txt");
|
||||
|
@ -67,6 +86,8 @@ for ($e = 0; $e < $nombre_matriu; $e++) {
|
|||
$usuari= $menc_mat[$e]['qui'];
|
||||
$mencio_t= $menc_mat[$e]['mencio'];
|
||||
$temps = $menc_mat[$e]['quan'];
|
||||
$mstg = $menc_mat[$e]['que'];
|
||||
$mis_vis = $menc_mat[$e]['visib'];
|
||||
$mencio_arx = shell_exec("cat ".$lloc."/fitxers/mencions_r.txt");
|
||||
$no_repetir = strpos($mencio_arx,$miss_id);
|
||||
if ($mencio_t == "mention") {
|
||||
|
@ -77,53 +98,83 @@ for ($e = 0; $e < $nombre_matriu; $e++) {
|
|||
// sleep(2);
|
||||
if( ($no_repetir === false) ) {
|
||||
// echo "menció de : ".$usuari." - ".$mencio_t." - ".$miss_id."\n";
|
||||
if (is_int($miss_id/7)) {
|
||||
$men_resp = "Ja em disculparàs, @".$usuari." soc un bot :cli_user: amb la versió ".$bot_versio." i encara no converse. \nDe tota manera, moltes gràcies per la teua menció.\n🤖 #SocUnBot";
|
||||
} elseif (is_int($miss_id/5)) {
|
||||
$men_resp = "Moltes gràcies per la menció, @".$usuari.".:cli_user:\n Soc ".$bot_nom." v".$bot_versio." :cli_user:\n🤖 #SocUnBot";
|
||||
} elseif (is_int($miss_id/3)) {
|
||||
$men_resp = "He vist que m'has mencionat, @".$usuari." i et done les gràcies.:cli_user:\n Soc ".$bot_nom." v".$bot_versio." :cli_user:\n🤖 #SocUnBot";
|
||||
} elseif (is_int($miss_id/2)) {
|
||||
$men_resp = "Agraït per la menció, @".$usuari.".:cli_user:\n Soc ".$bot_nom." v".$bot_versio." :cli_user:\n🤖 #SocUnBot";
|
||||
} else {
|
||||
$men_resp = "Gràcies per mencionar-me, @".$usuari.". Soc ".$bot_nom." i la meua versió és ".$bot_versio." :cli_user:.\n🤖 #SocUnBot";
|
||||
}
|
||||
|
||||
if (is_int($miss_id/7)) {
|
||||
$men_resp = "Ja em disculparàs, @".$usuari." soc un bot :cli_user: amb la versió ".$bot_versio." i estic aprenent a entendre els comentaris. \nDe tota manera, moltes gràcies per la teua menció.\n🤖 #SocUnBot";
|
||||
} elseif (is_int($miss_id/5)) {
|
||||
$men_resp = "M'agrada molt que em menciones. Així aprendré a entendre els tuts, @".$usuari.".:cli_user:\n Soc ".$bot_nom." v".$bot_versio." :cli_user:\n🤖 #SocUnBot";
|
||||
} elseif (is_int($miss_id/3)) {
|
||||
$men_resp = "He vist que m'has mencionat, @".$usuari." i et done les gràcies per que així aprendré.:cli_user:\n Soc ".$bot_nom." v".$bot_versio." :cli_user:\n🤖 #SocUnBot";
|
||||
} elseif (is_int($miss_id/2)) {
|
||||
$men_resp = "Agraït per la menció, @".$usuari.", em serveix per aprendre el vocabulari.:cli_user:\n Soc ".$bot_nom." v".$bot_versio." :cli_user:\n🤖 #SocUnBot";
|
||||
} else {
|
||||
$men_resp = "Gràcies per mencionar-me i ajudar-me a entendre el llenguatge natural, @".$usuari.". Soc ".$bot_nom." i la meua versió és ".$bot_versio." :cli_user:.\n🤖 #SocUnBot";
|
||||
}
|
||||
|
||||
// $mem_rep = "Em sembla que el teu comentari @".$usuari." és ".$sentiment."\n".
|
||||
$en_resposta = $miss_id;
|
||||
|
||||
if ( ($men_resp != null) ) {
|
||||
if($act_mencio_resp == 1) {
|
||||
|
||||
// Publica a Mastodon
|
||||
$dades_tut = array(
|
||||
"status" => $men_resp,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_mencs,
|
||||
"in_reply_to_id" => $en_resposta
|
||||
);
|
||||
$conteste = rand(0,1000);
|
||||
if( ($act_mencio_resp == 1)&&($conteste == 25) ){
|
||||
|
||||
//print_r($status_data);
|
||||
//sleep(10);
|
||||
PublicaMissatge($headers,$base_url,$dades_tut);
|
||||
$log->lwrite("NOVA MENCIO: ".$men_resp." : ".$usuari." - id: ".$en_resposta." ");
|
||||
$contestar = strpos($mstg,"comentabot");
|
||||
$comp_info = strpos($mstg,"infobot");
|
||||
$comp_imps = strpos($mstg,"impulsosbot");
|
||||
$comp_orat = strpos($mstg,"oratgebot");
|
||||
$comp_salu = strpos($mstg,"saludabot");
|
||||
$comp_usu = strpos($mstg,"usuaribot");
|
||||
if( ($contestar == false)&&($comp_info == false)&&
|
||||
($comp_salu == false)&&($comp_orat == false)&&($comp_imps == false) &&
|
||||
($comp_usu == false)
|
||||
) {
|
||||
|
||||
// Publica a Mastodon
|
||||
$dades_tut = array(
|
||||
"status" => $men_resp,
|
||||
"language" => $llengua,
|
||||
// "visibility" => $visib_mencs,
|
||||
"visibility" => $mis_vis,
|
||||
"in_reply_to_id" => $en_resposta
|
||||
);
|
||||
|
||||
//print_r($status_data);
|
||||
//sleep(10);
|
||||
PublicaMissatge($base_url,$headers,$dades_tut);
|
||||
$log->lwrite("NOVA MENCIO: ".$men_resp." : ".$usuari." - id: ".$en_resposta." ");
|
||||
|
||||
// final detectar etiqueta
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$contestar = strpos($mstg,"comentabot");
|
||||
$comp_info = strpos($mstg,"infobot");
|
||||
$comp_imps = strpos($mstg,"impulsosbot");
|
||||
$comp_orat = strpos($mstg,"oratgebot");
|
||||
$comp_salu = strpos($mstg,"saludabot");
|
||||
$comp_usu = strpos($mstg,"usuaribot");
|
||||
if( ($comp_salu == false)&&($comp_info == false)&&
|
||||
($comp_imps == false)&&($comp_orat == false)&&
|
||||
($comp_usu == false)
|
||||
){
|
||||
|
||||
$decisio = TriaOpcio($en_resposta);
|
||||
|
||||
if( ($decisio == 1) ||
|
||||
($decisio == 2) ||
|
||||
($decisio == 3) ||
|
||||
($decisio == 4) ||
|
||||
($decisio == 5) ||
|
||||
($decisio == 8) ||
|
||||
($decisio == 9) ) {
|
||||
($decisio == 5) ) {
|
||||
//if(is_int($en_resposta/2)) {
|
||||
FesRebloc($base_url,$en_resposta,$headers);
|
||||
$heoptat = "he fet impuls";
|
||||
//print_r($fav_output_status);
|
||||
} elseif( ($decisio == 6) ||
|
||||
($decisio == 7) ||
|
||||
($decisio == 10) ) {
|
||||
($decisio == 8) ||
|
||||
($decisio == 9) ) {
|
||||
FesFavorit($base_url,$en_resposta,$headers);
|
||||
$heoptat = "he fet favorit";
|
||||
} else {
|
||||
|
@ -133,24 +184,108 @@ for ($e = 0; $e < $nombre_matriu; $e++) {
|
|||
//print_r($reb_output_status);
|
||||
}
|
||||
|
||||
} else { $heoptat = "Detectada etiqueta interna. Faig el tut de resposta"; }
|
||||
|
||||
// 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);
|
||||
//echo "".$men_resp." - id: ".$en_resposta." ";
|
||||
|
||||
$mencs_tam = filesize("".$lloc."/fitxers/mencions_r.txt");
|
||||
$mencs_lin = count(file("".$lloc."/fitxers/mencions_r.txt"));
|
||||
$mencs_tam_b = filesize("".$lloc."/fitxers/mencions_r.bak");
|
||||
$mencs_lin_b = count(file("".$lloc."/fitxers/mencions_r.bak"));
|
||||
|
||||
if(($mencs_tam > $mencs_tam_b)||($mencs_lin > $mencs_lin_b)) {
|
||||
$copia_seguretat = exec("cat ".$lloc."/fitxers/mencions_r.txt > ".$lloc."/fitxers/mencions_r.bak", $eixida_cs, $resposta_cs);
|
||||
if ($resposta_cs !=0) {
|
||||
$log -> lwrite("INFO: copia de_seguretat mencions_r: ".( (($resposta_cs == 0))?"correcte":"ERRADA")."");
|
||||
}
|
||||
}
|
||||
|
||||
if( ($comp_salu == false)&&($comp_info == false)&&($comp_imps == false)&&($comp_orat == false)&&($comp_usu == false) ){
|
||||
|
||||
$escriu_mencions_detall = fopen($lloc."/fitxers/mencions.txt", "a") or die("No puc escriure al registre!");
|
||||
fwrite($escriu_mencions_detall, $m_id."-".$en_resposta."-".$usuari."-".$mencio_t."-".$temps."\n");
|
||||
fwrite($escriu_mencions_detall, $m_id.":::".$en_resposta.":::".$usuari.":::".$mencio_t.":::".$temps.":::".$mstg."\n");
|
||||
fclose($escriu_mencions_detall);
|
||||
|
||||
$mencs_tam = filesize("".$lloc."/fitxers/mencions.txt");
|
||||
$mencs_lin = count(file("".$lloc."/fitxers/mencions.txt"));
|
||||
$mencs_tam_b = filesize("".$lloc."/fitxers/mencions.bak");
|
||||
$mencs_lin_b = count(file("".$lloc."/fitxers/mencions.bak"));
|
||||
|
||||
if(($mencs_tam > $mencs_tam_b)||($mencs_lin > $mencs_lin_b)) {
|
||||
$copia_seguretat = exec("cat ".$lloc."/fitxers/mencions.txt > ".$lloc."/fitxers/mencions.bak", $eixida_cs, $resposta_cs);
|
||||
if ($resposta_cs !=0) {
|
||||
$log -> lwrite("INFO: copia de seguretat mencions detall: ".( (($resposta_cs == 0))?"correcte":"ERRADA")."");
|
||||
}
|
||||
}
|
||||
|
||||
// echo "He escrit ". $m_id."-".$en_resposta."-".$usu_ac."-".$temps."\n";
|
||||
$mr++;
|
||||
}
|
||||
|
||||
}
|
||||
$menc_mat_f[] = array( 'id' => (int)$m_id, 'mis_id' => (int)$miss_id, 'qui' => $usuari, 'mencio' => $mencio_t, 'quan' => $temps );
|
||||
$menc_mat_f[] = array( 'id' => (int)$m_id, 'mis_id' => (int)$miss_id, 'qui' => $usuari, 'mencio' => $mencio_t, 'quan' => $temps, 'que' => $mstg );
|
||||
|
||||
$nm++;
|
||||
// echo "nm: ".$nm."\n";
|
||||
$log->lwrite("NOVA MENCIO: ".$usuari." - id: ".$en_resposta." ".$mencio_t." ".$heoptat);
|
||||
|
||||
|
||||
if( ($comp_info === false)&&($comp_salu === false)&&($comp_imps === false)&&($comp_orat === false)&&($comp_usu === false) ) {
|
||||
|
||||
// active VaderSentiment
|
||||
// primer neteje la cadena a enviar
|
||||
$mstg = html_entity_decode(strip_tags($mstg));
|
||||
$mstg = str_replace(["'","`","’","\n"],' ', $mstg);
|
||||
$mstg = str_replace(['#','&','"','“','”'],'', $mstg);
|
||||
|
||||
$log -> lwrite("envie: ".$mstg."-".$en_resposta."-".$usuari."-".$mis_vis);
|
||||
$emocio_act = shell_exec("php -f ".$lloc."/proves/proves_conversa.php ".$lloc." '".$mstg."' ".$en_resposta." ".$usuari." ".$temps." ".$mencio_t." ".$m_id."");
|
||||
$log -> lwrite("INFO: emocio_act ".( ($emocio_act != null)?"correcte":"ERRADA")."");
|
||||
|
||||
} else {
|
||||
|
||||
// $log -> lwrite("envie: ".$mstg."-".$en_resposta."-".$usuari."-".$mis_vis);
|
||||
if($comp_info != false) {
|
||||
$fertutinfobot = exec("php -f ".$lloc."/utils/bot_plus_tut_info.php ".$lloc." '".$mstg."' ".$en_resposta." ".$usuari." ".$mis_vis."" , $ftinfo_eix, $ftinfo_res );
|
||||
// $log -> lwrite("PROVA: fertutinfobot ".$ftinfo_res);
|
||||
$log -> lwrite("INFO: fertutinfobot ".( ($ftinfo_res == 0)?"correcte":"ERRADA")."");
|
||||
// $log -> lwrite("INFO: ".$ftinfo_res." enviat: ".$mstg."-".$en_resposta."-".$usuari."-".$mis_vis."");
|
||||
}
|
||||
if($comp_salu != false) {
|
||||
$fertutsaludabot = exec("php -f ".$lloc."/utils/bot_plus_tut_salutacio.php ".$lloc." '".$mstg."' ".$en_resposta." ".$usuari." ".$mis_vis."" , $ftsalu_eix, $ftsalu_res );
|
||||
// if($ftsalu_res != 0) {
|
||||
$log -> lwrite("INFO: fertutsaludabot ".( ($ftsalu_res == 0)?"correcte":"ERRADA")."");
|
||||
// $log -> lwrite("INFO: ".$ftsalu_res." enviat: '".$mstg."'-".$en_resposta."-".$usuari."-".$mis_vis."");
|
||||
// }
|
||||
}
|
||||
if($comp_imps != false) {
|
||||
$fertutimpulsosbot = exec("php -f ".$lloc."/utils/bot_plus_tut_impulsos.php ".$lloc." '".$mstg."' ".$en_resposta." ".$usuari." ".$mis_vis."" , $ftimps_eix, $ftimps_res );
|
||||
// if($ftimps_res != 0) {
|
||||
$log -> lwrite("INFO: fertutimpulsosbot ".( ($ftimps_res == 0)?"correcte":"ERRADA")."");
|
||||
// $log -> lwrite("INFO: ".$ftimps_res." enviat: '".$mstg."'-".$en_resposta."-".$usuari."-".$mis_vis."");
|
||||
// }
|
||||
}
|
||||
if($comp_orat != false) {
|
||||
$fertutoratgebot = exec("php -f ".$lloc."/utils/bot_plus_tut_oratge.php ".$lloc." '".$mstg."' ".$en_resposta." ".$usuari." ".$mis_vis."" , $ftorat_eix, $ftorat_res );
|
||||
// if($ftorat_res != 0) {
|
||||
$log -> lwrite("INFO: fertutoratgebot ".( ($ftorat_res == 0)?"correcte":"ERRADA")."");
|
||||
// $log -> lwrite("INFO: ".$ftorat_res." enviat: '".$mstg."'-".$en_resposta."-".$usuari."-".$mis_vis."");
|
||||
// }
|
||||
}
|
||||
if($comp_usu != false) {
|
||||
$fertutusuaribot = exec("php -f ".$lloc."/utils/bot_plus_tut_usuari.php ".$lloc." '".$mstg."' ".$en_resposta." ".$usuari." ".$mis_vis."" , $ftusu_eix, $ftusu_res );
|
||||
// if($ftorat_res != 0) {
|
||||
$log -> lwrite("INFO: fertutusuaribot ".( ($ftusu_res == 0)?"correcte":"ERRADA")."");
|
||||
// $log -> lwrite("INFO: ".$ftusu_res." enviat: '".$mstg."'-".$en_resposta."-".$usuari."-".$mis_vis."");
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// final missatge no es nul
|
||||
}
|
||||
|
||||
|
@ -159,51 +294,89 @@ for ($e = 0; $e < $nombre_matriu; $e++) {
|
|||
|
||||
// final bucle for
|
||||
}
|
||||
/**
|
||||
if($nm>=1) {
|
||||
$fes_json = json_encode($menc_mat_f, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY);
|
||||
$escriu_f_json = fopen($lloc."/fitxers/mencions.json", "a") or die("No puc escriure al registre!");
|
||||
fwrite($escriu_f_json, $fes_json);
|
||||
fclose($escriu_f_json);
|
||||
}
|
||||
**/
|
||||
// $menc_json_actual = shell_exec("php /proves/proves_mencions_json.php.");
|
||||
|
||||
//print_r($output_status);
|
||||
//}
|
||||
//echo $nm."\n";
|
||||
|
||||
//final if publicat
|
||||
// }
|
||||
|
||||
// final condicional per estalviar temps(?)
|
||||
//}
|
||||
|
||||
//$impuls = shell_exec("php ".$lloc."/proves/proves_mencions_json.php ".$lloc);
|
||||
|
||||
// fer la matriu de les dades existents al json
|
||||
if ($nm > 0) {
|
||||
// fer la matriu de les dades existents al json amb filtrat d'etiquetes
|
||||
if ( ($nm > 0)&&($comp_info == false)&&($comp_salu == false)&&($comp_orat == false)&&($comp_imps == false)&&($comp_usu == false) ) {
|
||||
//$usa_json = exec("php ".$lloc."/proves/proves_impulsos_json.php ".$lloc , $eix_usa_json, $resp_usa_json);
|
||||
$usa_json = shell_exec("php ".$lloc."/proves/proves_mencions_json.php ".$lloc);
|
||||
$usa_json = shell_exec("php ".$lloc."/utils/bot_plus_mencions_json.php ".$lloc);
|
||||
}
|
||||
|
||||
//retalle a un màxim de 40 linies
|
||||
if($mem_net == 1) { $menc_mat = null; $menc_mat_f = null; unset($menc_mat,$menc_mat_f); }
|
||||
|
||||
//retalle a un màxim de XXX linies
|
||||
$fit_mencions = $lloc."/fitxers/mencions_r.txt";
|
||||
$lin_men = count(file($fit_mencions));
|
||||
if($lin_men > 60) {
|
||||
$net_men0 = shell_exec("tail -60 ".$lloc."/fitxers/mencions_r.txt | tee ".$lloc."/fitxers/mencions_r.txt");
|
||||
$net_men1 = shell_exec("tail -60 ".$lloc."/fitxers/mencions.txt | tee ".$lloc."/fitxers/mencions.txt");
|
||||
|
||||
if( $lin_men > $max_linies ) {
|
||||
// $net_men0 = shell_exec("tail -".$max_linies." ".$lloc."/fitxers/mencions_r.txt | tee ".$lloc."/fitxers/mencions_r.txt");
|
||||
$fitx = new SplFileObject($lloc."/fitxers/mencions_r.txt", "r");
|
||||
$fitx->seek(PHP_INT_MAX);
|
||||
$last_line = $fitx->key();
|
||||
$lines = new LimitIterator($fitx, $last_line - $max_linies, $last_line); //n being non-zero positive integer $max_linies
|
||||
// print_r(iterator_to_array($lines));
|
||||
// Iterate each element
|
||||
$it = iterator_to_array($lines);
|
||||
|
||||
$escriu_magatzem = fopen($lloc . "/fitxers/mencions_r.txt", "w") or die("No puc escriure la data!");
|
||||
foreach($it as $ele){
|
||||
// echo nl2br($ele . "\n");
|
||||
fwrite($escriu_magatzem, $ele);
|
||||
// usleep(100000);
|
||||
}
|
||||
fclose($escriu_magatzem);
|
||||
|
||||
$net_men00= shell_exec("cat ".$lloc."/fitxers/mencions_r.txt > ".$lloc."/fitxers/mencions_r.bak");
|
||||
usleep(200000);
|
||||
}
|
||||
|
||||
$fit_mencions = $lloc."/fitxers/mencions.txt";
|
||||
$lin_men = count(file($fit_mencions));
|
||||
|
||||
if( $lin_men > $max_linies ) {
|
||||
|
||||
// $net_men1 = shell_exec("tail -".$max_linies." ".$lloc."/fitxers/mencions.txt | tee ".$lloc."/fitxers/mencions.txt");
|
||||
$fitxs = new SplFileObject($lloc."/fitxers/mencions.txt", "r");
|
||||
$fitxs->seek(PHP_INT_MAX);
|
||||
$last_lin = $fitxs->key();
|
||||
$lines = new LimitIterator($fitxs, $last_lin - $max_linies, $last_lin); //n being non-zero positive integer $max_linies
|
||||
// print_r(iterator_to_array($lines));
|
||||
// Iterate each element
|
||||
$it = iterator_to_array($lines);
|
||||
|
||||
$escriu_magatzem = fopen($lloc . "/fitxers/mencions.txt", "w") or die("No puc escriure la data!");
|
||||
foreach($it as $ele){
|
||||
// echo nl2br($ele . "\n");
|
||||
fwrite($escriu_magatzem, $ele);
|
||||
// usleep(100000);
|
||||
}
|
||||
fclose($escriu_magatzem);
|
||||
|
||||
$net_men1 = shell_exec("cat ".$lloc."/fitxers/mencions.txt > ".$lloc."/fitxers/mencions.bak");
|
||||
//}
|
||||
$men_tam = filesize("".$lloc."/fitxers/mencions.txt");
|
||||
$men_lin = count(file("".$lloc."/fitxers/mencions.txt"));
|
||||
$men_lin_bak = count(file("".$lloc."/fitxers/mencions.bak"));
|
||||
if($men_tam == 0) {
|
||||
$recupera = shell_exec("php ".$lloc."/utils_cli/bot_plus_cli_mencions_json_cli_refer.php ".$lloc);
|
||||
}
|
||||
if ($men_lin_bak <= $men_lin) {
|
||||
$cop_men0 = shell_exec("cat ".$lloc."/fitxers/mencions_r.txt > ".$lloc."/fitxers/mencions_r.bak");
|
||||
$cop_men1 = shell_exec("cat ".$lloc."/fitxers/mencions.txt > ".$lloc."/fitxers/mencions.bak");
|
||||
}
|
||||
}
|
||||
|
||||
$tmf = microtime(true);
|
||||
$dm = $tmf - $tm;
|
||||
//echo "Temps mencions: ".round($dm,4)."";
|
||||
$log->lwrite("Temps mencions: ".round($dm,4)."");
|
||||
|
||||
$log->lwrite("Temps mencions: ".round($dm,4)." segons");
|
||||
|
||||
// afegir aqui i arrancar els impulsos?
|
||||
|
||||
|
||||
|
||||
|
||||
// buidar variables
|
||||
if($mem_net == 1) {
|
||||
$resposta = null; $lin_men = null; $reg_lin = null; $reg_lin_bak = null; $mencs_lin = null; $mencs_lin_b = null;
|
||||
unset($resposta,$lin_men,$reg_lin,$reg_lin_bak,$mencs_lin,$mencs_lin_b);
|
||||
}
|
||||
if($control_memoria_utils == 1) {
|
||||
$log -> lwrite ( mostra_us_memoria()." ".mostra_pic_memoria()." - ".__LINE__ );
|
||||
}
|
||||
?>
|
||||
|
|
155
utils/bot_plus_mencions_json.php
Normal file
155
utils/bot_plus_mencions_json.php
Normal file
|
@ -0,0 +1,155 @@
|
|||
<?php
|
||||
$crmn = microtime(true);
|
||||
|
||||
if (!empty($_SERVER["argv"][1])){
|
||||
$argument = $_SERVER["argv"][1];
|
||||
} else {
|
||||
// Presenta l'ajuda
|
||||
echo "NO HE REBUT la variable\n";
|
||||
echo "Cal el directori on s'executa el bot_plus.\n";
|
||||
exit;
|
||||
}
|
||||
$lloc = $argument;
|
||||
|
||||
// ara pot carregar la configuració i el logger
|
||||
include("".$lloc."/configuracio/bot_plus_cfg.php");
|
||||
include("".$lloc."/utils/bot_plus_funcions.php");
|
||||
require_once("".$lloc."/lib/logger.php");
|
||||
|
||||
//echo $lloc;
|
||||
//$fitxer = $lloc."/fitxers/mencions.json";
|
||||
$fitxer = $lloc."/fitxers/mencions.json";
|
||||
//echo $fitxer;
|
||||
|
||||
//matriu a partir del fitxer
|
||||
$json_decjm = json_decode(file_get_contents($fitxer), true);
|
||||
|
||||
//echo "matriu fitxer\n";
|
||||
//print_r($json_dec);
|
||||
//echo is_array($json_dec)."\n";
|
||||
//sleep(2);
|
||||
$reg_arx = count($json_decjm);
|
||||
echo "L'arxiu té ".$reg_arx." ".(($reg_arx<>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 = $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 = $menc_mat_nova[$f]['status']['content'];
|
||||
$men_que = html_entity_decode(strip_tags($menc_mat_nova[$f]['status']['content']));
|
||||
$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'];
|
||||
// echo "id_busc: ".$id_busc."\n";
|
||||
$troba = array_search($id_busc, array_column($json_decjm, '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) {
|
||||
echo "NOVA MENCIÓ ".$id_busc." de ".$qu_busc."\n";
|
||||
|
||||
array_push($json_decjm,
|
||||
['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']
|
||||
]);
|
||||
}
|
||||
$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_decjm, 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 conèixer el màxim de la matriu
|
||||
$maximjm = count($json_decjm);
|
||||
//$e=0;
|
||||
|
||||
$ara = (filemtime($fitxer));
|
||||
//echo $ara."\n";
|
||||
|
||||
if($maximjm > $max_linies) {
|
||||
$json_decjm = array_splice($json_decjm,($maximjm-$max_linies),$maximjm);
|
||||
//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_decjm, 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);
|
||||
}
|
||||
$json_dec = null;
|
||||
|
||||
$crmnf = microtime(true);
|
||||
$tmf = $crmnf - $crmn;
|
||||
echo "Temps mencions: ".round($tmf,4)."";
|
||||
//$log->lwrite("Temps mencions: ".round($tmf,4)."");
|
||||
?>
|
Loading…
Referencia en una nova incidència