Subir archivos a 'utils'
This commit is contained in:
pare
35ad94c732
commit
83212dfe3e
S'han modificat 4 arxius amb 677 adicions i 25 eliminacions
|
@ -6,7 +6,7 @@ if (!empty($_SERVER["argv"][1])){
|
|||
$argument = $_SERVER["argv"][1];
|
||||
} else {
|
||||
// Presenta l'ajuda
|
||||
echo "NO HE REBUT la variable\n";
|
||||
echo "\e[0;31;40mNO HE REBUT la variable.\e[0m\n";
|
||||
exit;
|
||||
}
|
||||
$lloc = $argument;
|
||||
|
@ -24,29 +24,50 @@ $b = 0;
|
|||
$c = 0;
|
||||
$d = 0;
|
||||
|
||||
$arranc = filesize($lloc."/fitxers/impulsos.txt");
|
||||
|
||||
if($arranc > 0) {
|
||||
$fitx_json = $lloc."/fitxers/impulsos.json";
|
||||
$json_dec = json_decode(file_get_contents($fitx_json), true);
|
||||
$registres = count($json_dec);
|
||||
|
||||
if($registres > 0) {
|
||||
//$impuls_resum = exec("cat ".$lloc."/fitxers/impulsos/impulsos.txt", $eix_resu, $resp_resu);
|
||||
$impuls_resum = exec("cat ".$lloc."/fitxers/impulsos.txt | grep 'reblog' | awk '{print $2}'", $eix_ir, $resp_ir );
|
||||
//print_r($eix_ir);
|
||||
|
||||
/**
|
||||
// va be. a desenrrollar.
|
||||
$criteri = "reblog";
|
||||
//$criteri = "favourite";
|
||||
|
||||
$impuls_resum = array_filter($json_dec, function ($json_dec) use ($criteri) {
|
||||
if (stripos($json_dec['mencio'], $criteri) !== false) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
print_r($impuls_resum);
|
||||
|
||||
|
||||
|
||||
exit;
|
||||
**/
|
||||
//echo "impuls resum: \n".$impuls_resum."\n";
|
||||
//$impul_ressum = explode("\n",$impuls_resum);
|
||||
//$impul_resum = explode("\n",$impuls_resum);
|
||||
/**
|
||||
echo "feta matriu\n";
|
||||
print_r($impuls_resum);
|
||||
**/
|
||||
//echo "contant valors:\n";
|
||||
|
||||
echo "ESTADÍSTIQUES\n";
|
||||
echo "\nIMPULSOS\n";
|
||||
echo "\e[1;37;40mESTADÍSTIQUES.\e[0m\n";
|
||||
echo "\n\e[96mIMPULSOS\e[0m\n";
|
||||
|
||||
$ferono_rebs = count($eix_ir);
|
||||
//$ferono_rebs = count($impuls_resum);
|
||||
if($ferono_rebs>0) {
|
||||
$mat_reb = array_count_values($eix_ir);
|
||||
//print_r($mat_reb);
|
||||
|
||||
echo "--USUARIS\n";
|
||||
echo "\e[92m--USUARIS\e[0m\n";
|
||||
//echo "valors dels impulsos ordenats\n";
|
||||
//$mat_reb_ord = arsort($mat_reb);
|
||||
//var_dump($mat_reb_ord);
|
||||
|
@ -72,9 +93,9 @@ for($i=0;$i<$acabau;$i++) {
|
|||
}
|
||||
}
|
||||
$usu_imp_primers = count($mat_reb_fp);
|
||||
echo "N'hi ha ".$usu_imp_primers." ".(($usu_imp_primers<>1)?"persones":"persona")." amb el mateix nombre. \n\n";
|
||||
echo "\e[4mN'hi ha ".$usu_imp_primers." ".(($usu_imp_primers<>1)?"persones":"persona")." amb el mateix nombre.\e[0m \n\n";
|
||||
|
||||
echo "--TUT\n";
|
||||
echo "\e[92m--TUT\e[0m\n";
|
||||
$public_resum_r = exec("cat ".$lloc."/fitxers/impulsos.txt | grep 'reblog' | awk '{print $4}'",$eix_pr, $resp_pr );
|
||||
//echo "contant valors:\n";
|
||||
$mat_res = array_count_values($eix_pr);
|
||||
|
@ -103,19 +124,19 @@ $tuts_imp_primers = count($mat_res_fp);
|
|||
echo "N'hi ha ".$tuts_imp_primers." amb el mateix nombre. \n\n";
|
||||
|
||||
} else {
|
||||
echo "Encara sense dades.\n\n";
|
||||
echo "\e[1;37;40mEncara sense dades.\e[0m \n\n";
|
||||
$tuts_imp_primers = 0;
|
||||
$usu_imp_primers = 0;
|
||||
}
|
||||
|
||||
echo "FAVORITS\n";
|
||||
echo "\e[96mFAVORITS\e[0m\n";
|
||||
|
||||
$favorits_resum = exec("cat ".$lloc."/fitxers/impulsos.txt | grep 'favourite' | awk '{print $2}'", $eix_frs, $resp_frs );
|
||||
|
||||
$ferono_favs = count($eix_frs);
|
||||
if($ferono_favs>0) {
|
||||
|
||||
echo "--USUARIS\n";
|
||||
echo "\e[92m--USUARIS\e[0m\n";
|
||||
$mat_fav = array_count_values($eix_frs);
|
||||
|
||||
arsort($mat_fav);
|
||||
|
@ -129,18 +150,18 @@ foreach ($mat_fav as $clau => $valor) {
|
|||
echo $c." ".(($c<>1)?"persones han":"persona ha")." fet favorit\n";
|
||||
|
||||
// quants tenen els mateix nombre que el primer?
|
||||
$primer = $mat_fav_f[0]['nombre'];
|
||||
$primer_f = $mat_fav_f[0]['nombre'];
|
||||
//echo $primer."\n";
|
||||
$acabar = count($mat_fav_f);
|
||||
for($i=0;$i<$acabar;$i++) {
|
||||
if($mat_fav_f[$i]['nombre'] == $primer) {
|
||||
if($mat_fav_f[$i]['nombre'] == $primer_f) {
|
||||
$mat_fav_fs[] = array('article' => $clau, 'nombre' => $valor);
|
||||
}
|
||||
}
|
||||
$usu_fav_primers = count($mat_fav_fs);
|
||||
echo "N'hi ha ".$usu_fav_primers." ".(($usu_fav_primers<>1)?"persones":"persona")." amb el mateix nombre. \n\n";
|
||||
|
||||
echo "--TUT\n";
|
||||
echo "\e[92m--TUT\e[0m\n";
|
||||
$public_resum_f = exec("cat ".$lloc."/fitxers/impulsos.txt | grep 'favourite' | awk '{print $4}'",$eix_fr, $resp_pr );
|
||||
//print_r($eix_fr);
|
||||
$mat_favs = array_count_values($eix_fr);
|
||||
|
@ -156,21 +177,24 @@ echo $d." ".(($d<>1)?"tuts favorits":"tut favorit")."\n";
|
|||
//print_r($mat_fav_fbs);
|
||||
|
||||
// quants tenen els mateix nombre que el primer?
|
||||
$primer = $mat_fav_fsb[0]['nombre'];
|
||||
$primer_r = $mat_fav_fsb[0]['nombre'];
|
||||
//echo "valor del primer: ".$primer."\n";
|
||||
$acabat = count($mat_fav_fsb);
|
||||
for($i=0;$i<$acabat;$i++) {
|
||||
if($mat_fav_fsb[$i]['nombre'] == $primer) {
|
||||
$mat_fav_fsba[] = array('article' => $clau, 'nombre' => $valor);
|
||||
if($mat_fav_fsb[$i]['nombre'] == $primer_r) {
|
||||
$mat_fav_fsba[] = array('article' => $mat_fav_fsb[$i]["article"], 'nombre' => $mat_fav_fsb[$i]["nombre"]);
|
||||
}
|
||||
}
|
||||
//print_r($mat_fav_fsba);
|
||||
|
||||
$tuts_fav_primers = count($mat_fav_fsba);
|
||||
echo "N'hi ha ".$tuts_fav_primers." amb el mateix nombre. \n\n";
|
||||
$usu_favs_primers = 0;
|
||||
|
||||
} else {
|
||||
echo "Encara sense dades. \n\n";
|
||||
echo "\e[1;37;40mEncara sense dades.\e[0m \n\n";
|
||||
$usu_fav_primers = 0;
|
||||
$tuts_fav_primers = 0;
|
||||
}
|
||||
|
||||
if(isset($mat_reb_f)){
|
||||
|
@ -223,7 +247,7 @@ $nseg_ant = fread($nseg_lle,filesize($lloc."/fitxers/seg_cont.txt"));
|
|||
fclose($nseg_lle);
|
||||
|
||||
echo "\n";
|
||||
echo "RESUM ESTADÍSTIQUES \n".
|
||||
echo "\e[1mRESUM ESTADÍSTIQUES\e[0m \n".
|
||||
"Tuts favorits \t\t-> ".$d." ".(($d<>1)?"tuts":"tut")."\n".
|
||||
"Han fet favorits \t\t-> ".$c." ".(($c<>1)?"persones":"persona")."\n".
|
||||
"El tut més favorit (".$tuts_fav_primers.") \t\t-> ".$mes_fav_id." : ".$mes_fav_vl." ".(($mes_fav_vl<>1)?"voltes":"volta")."\n".
|
||||
|
@ -236,20 +260,30 @@ echo "RESUM ESTADÍSTIQUES \n".
|
|||
"Ha participat un ".round( (($a/$nseg_ant)*100), 2 )."% sobre el total dels seguidors.\n";
|
||||
//(($nu_imp<>1)?"publicacions":"publicació")
|
||||
} else {
|
||||
echo "Encara no hi ha dades";
|
||||
echo "\e[1;37;40mEncara no hi ha dades\e[0m";
|
||||
}
|
||||
echo "\n";
|
||||
$impuls_inst = shell_exec("php -f proves/proves_estadistiques_inst_impulsos_nopub.php ".$lloc." 01010 0");
|
||||
echo $impuls_inst."\n";
|
||||
|
||||
$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);
|
||||
echo "\nPropera publicació\n";
|
||||
echo "".$espera_imp." | ".date("r",($espera_imp))."\n";
|
||||
|
||||
setlocale(LC_ALL, 'ca_ES.UTF-8');
|
||||
//echo setlocale(LC_ALL, 'ca_ES');
|
||||
//echo(strftime("%B %d %Y, %X %Z",$espera_imp)."<br>");
|
||||
//echo "strfotime\n";
|
||||
echo "La propera publicació la faré el ".(strftime("%A %d/%m/%Y a les %H:%M:%S", $espera_imp))."\n";
|
||||
//echo "".$espera_imp." | ".date("r",($espera_imp))."\n";
|
||||
//echo "Manquen ".date("d",($espera_imp - $temps_imp))." dies i ".date("H:i:s",($espera_imp - $temps_imp))." hores.\n";
|
||||
//$temps_cal = ($espera_imp - $temps_imp)-(86400);
|
||||
$temps_cal = ($espera_imp - $temps_imp);
|
||||
echo "".( 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.\n");
|
||||
|
||||
|
||||
$tcf = microtime(true);
|
||||
$dc = $tcf - $tc;
|
||||
echo "\nTemps impulsos: ".round($dc,4)."\n";
|
||||
|
|
183
utils/bot_plus_erradatecnica.php
Normal file
183
utils/bot_plus_erradatecnica.php
Normal file
|
@ -0,0 +1,183 @@
|
|||
<?php
|
||||
$tc = microtime(true);
|
||||
|
||||
// Comprova els arguments, en cas de no existir presenta l'ajuda.
|
||||
if (!empty($_SERVER["argv"][1])){
|
||||
$lloc = $_SERVER["argv"][1];
|
||||
} else {
|
||||
echo "NO HE REBUT la variable";
|
||||
exit;
|
||||
}
|
||||
// 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.'');
|
||||
|
||||
$log->lwrite("Arranque tut d'errada tècnica.");
|
||||
|
||||
// llegeix el nombre de seguidors
|
||||
$nerrada_lle = fopen($lloc."/fitxers/errada_cont.txt", "r") or die("No puc obrir el nombre seguidors!");
|
||||
$nerrada_ant = fread($nerrada_lle,filesize($lloc."/fitxers/errada_cont.txt"));
|
||||
fclose($nerrada_lle);
|
||||
|
||||
$pub_cent = null;
|
||||
$pub_img = null;
|
||||
|
||||
if(is_int($nerrada_ant/$num_errades) ) {
|
||||
|
||||
$pub_img = $lloc."/gifis/carta-ajustament-televisio.jpeg";
|
||||
$fitxer_tipus = mime_content_type($pub_img);
|
||||
|
||||
$publica_img = array(
|
||||
"file" => $pub_img,
|
||||
"type"=> $fitxer_tipus,
|
||||
"description" => "Carta d'ajustament del televisor indicant que no hi rep cap senyal."
|
||||
);
|
||||
|
||||
//print_r($publica_img);
|
||||
//echo "mostrat matriu publica_img\n";
|
||||
//sleep(4);
|
||||
|
||||
$publ_img = json_encode($publica_img);
|
||||
//echo "publ_img: ".$publ_img."\n";
|
||||
//echo "mostrat publ_img\n";
|
||||
//sleep(4);
|
||||
|
||||
// publicar
|
||||
if ($pub_img != null) {
|
||||
|
||||
$status_data = array(
|
||||
"status" => $pub_cent,
|
||||
"text" => $pub_cent,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_com
|
||||
);
|
||||
|
||||
$pub_img = $lloc."/gifis/carta-ajustament-televisio.jpeg";
|
||||
$fitxer_tipus = mime_content_type($pub_img);
|
||||
$fitxer_prep = curl_file_create($pub_img, $fitxer_tipus, 'file');
|
||||
|
||||
$publica_img = [ 'file' => $fitxer_prep,
|
||||
'description' => 'Carta d´ajustament de televisor amb un avís indicant que no rep cap senyal.',
|
||||
'text' => $pub_cent,
|
||||
'status' => 'Estem experimentant dificultats tècniques.\En breus minuts podràn seguir les novetat del compte.\Els preguem disculpes.\nMoltes gràcies.' ];
|
||||
|
||||
// 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);
|
||||
// $p++;
|
||||
|
||||
//echo "\n\nresposta media : \n";
|
||||
//print_r ($output_status);
|
||||
$imat_mst = $output_status['id'];
|
||||
$imat_url = $output_status['url'];
|
||||
|
||||
//echo "id de la imatge pujada: ".$imat_mst."\n";
|
||||
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);
|
||||
// print_r($resposta);
|
||||
$resposta = json_decode($resposta,true);
|
||||
// echo "\n\nresposta json_decode\n";
|
||||
// print_r($resposta);
|
||||
|
||||
//echo "obtenció dades media: \n";
|
||||
//print_r($resposta_json);
|
||||
sleep(1);
|
||||
|
||||
$im_id = $resposta['id'];
|
||||
$im_url = $resposta['url'];
|
||||
$im_type = $resposta['type'];
|
||||
$im_desc = $resposta['description'];
|
||||
//sleep(10);
|
||||
$img_bis = $lloc."carta-ajustament-televisio.jpeg";
|
||||
$pub_errada = "Per causes alienes a la nostra voluntat, estem experimentant dificultats tècniques.\nEls pregue disculpes.\nContinuen atents al compte.\n".
|
||||
"Moltes Gràcies.\n#SocUnBot\n".$bot_nom." v".$bot_versio."";
|
||||
$imatge_adj = array('file' => $im_url, 'type' => $im_type, 'description' => $im_desc);
|
||||
$imatge_adj_json = json_encode($imatge_adj);
|
||||
|
||||
$status_data2 = array(
|
||||
"status" => $pub_errada,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_com
|
||||
);
|
||||
|
||||
// funció per enviar matriu en matriu
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
$pub_errada = "Per causes alienes a la nostra voluntat, estem experimentant dificultats tècniques.\nEls pregue disculpes.\nContinuen atents al compte.\n".
|
||||
"Moltes Gràcies.\n#SocUnBot\n".$bot_nom." v".$bot_versio."";
|
||||
|
||||
$tut_matriu = array(
|
||||
"status" => $pub_errada,
|
||||
"text" => $pub_cent,
|
||||
"language" => $llengua,
|
||||
"media_ids[]" => $im_id,
|
||||
"visibility" => $errada_vis,
|
||||
"sensitive" => true,
|
||||
"spoiler_text" => null,
|
||||
"in_reply_to_id" => null
|
||||
);
|
||||
|
||||
http_build_query_for_curl( $tut_matriu, $tut_dades );
|
||||
|
||||
// comentat per no publicar proves funció
|
||||
// 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_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);
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
$log->lwrite("Esta volta no publique tut. Nº errada: ".$nerrada_ant."");
|
||||
}
|
||||
|
||||
$error_num = fopen($lloc . "/fitxers/errada_cont.txt", "r") or die("No puc obrir el contador!");
|
||||
$error_ant = fread($error_num,filesize("".$lloc ."/fitxers/errada_cont.txt"));
|
||||
$error_nou = ($error_ant+1);
|
||||
$error_num = fopen($lloc . "/fitxers/errada_cont.txt", "w") or die("No puc obrir el contador!");
|
||||
fwrite($error_num, $error_nou);
|
||||
fclose($error_num);
|
||||
|
||||
$log -> lwrite ( mostra_us_memoria()." ".mostra_pic_memoria()." - ".__LINE__ );
|
||||
$tcf = microtime(true);
|
||||
$dc = $tcf - $tc;
|
||||
echo "Temps errada tècnica dins: ".round($dc,4)."\n";
|
||||
$log->lwrite("Temps errada tècnica dins: ".round($dc,4)."");
|
||||
?>
|
215
utils/bot_plus_estadistiques_inst_impulsos.php
Normal file
215
utils/bot_plus_estadistiques_inst_impulsos.php
Normal file
|
@ -0,0 +1,215 @@
|
|||
<?php
|
||||
if (!empty($_SERVER["argv"][1])){
|
||||
$argument = $_SERVER["argv"][1];
|
||||
$ferfil = $_SERVER["argv"][2];
|
||||
$pub = $_SERVER["argv"][3];
|
||||
} 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."");
|
||||
|
||||
$fitxer = $lloc."/fitxers/impulsos.json";
|
||||
$json_dec = json_decode(file_get_contents($fitxer), true);
|
||||
//print_r($json_dec);
|
||||
$maxim = count($json_dec);
|
||||
|
||||
$k = 0;
|
||||
//$ui_tot = 0;
|
||||
for($k=0;$k<$maxim;$k++) {
|
||||
$usu_imp = $json_dec[$k]['qui'];
|
||||
$usu_mat[] = $usu_imp;
|
||||
}
|
||||
//print_r($usu_mat);
|
||||
$usu_mat_ord = array_count_values($usu_mat);
|
||||
arsort($usu_mat_ord);
|
||||
|
||||
//print_r($usu_mat_ord);
|
||||
|
||||
$l = 0;
|
||||
$top = count($usu_mat_ord);
|
||||
$usu_inv_mat = array();
|
||||
|
||||
foreach ($usu_mat_ord as $clau => $valor) {
|
||||
$usu_nom = explode("@",$clau);
|
||||
if( (count($usu_nom)==1) ) {
|
||||
$inst_t = "mastodont.cat";
|
||||
} else {
|
||||
$inst_t = $usu_nom[1];
|
||||
}
|
||||
|
||||
$usu_inv_mat[] += $valor;
|
||||
$usu_ins_mat[] = [$inst_t => $valor];
|
||||
$usu_per_mat[] = [$usu_nom[0], $valor];
|
||||
}
|
||||
|
||||
$pers_matriu = array_column($usu_per_mat, '1', '0');
|
||||
//print_r($pers_matriu);
|
||||
$pers_tot = count($pers_matriu);
|
||||
|
||||
$sum_insta = array();
|
||||
array_walk_recursive($usu_ins_mat, function($item, $key) use (&$sum_insta){
|
||||
$sum_insta[$key] = isset($sum_insta[$key]) ? $item + $sum_insta[$key] : $item;
|
||||
});
|
||||
|
||||
//echo "sum_insta";
|
||||
arsort($sum_insta);
|
||||
//print_r($sum_insta);
|
||||
$sum_inst_mtr = array();
|
||||
$sum_total = 0;
|
||||
foreach ($sum_insta as $clau => $valor) {
|
||||
// echo $valor." impulsos des de ".$clau."\n";
|
||||
// $sum_inst_mtr[] = $valor." des de " .$clau. "\n";
|
||||
$sum_total += $valor;
|
||||
}
|
||||
foreach ($sum_insta as $clau => $valor) {
|
||||
// echo $valor." impulsos des de ".$clau."\n";
|
||||
// $sum_inst_mtr[] = $valor." des de " .$clau. "\n";
|
||||
$sum_inst_mtr[] = $valor." (".round((($valor/$sum_total)*100),2)."%) des de " .$clau. "\n";
|
||||
// $sum_total += $valor;
|
||||
}
|
||||
|
||||
if ($pub !=0) {
|
||||
goto elaboracio;
|
||||
} else {
|
||||
exit;
|
||||
}
|
||||
|
||||
elaboracio:
|
||||
|
||||
$seguid = shell_exec("cat ".$lloc."/fitxers/seg_cont.txt");
|
||||
$a = count($sum_insta);
|
||||
|
||||
$part0 = "Els impulsos s'han fet: \n";
|
||||
$part1 = implode("",$sum_inst_mtr);
|
||||
$part2 = "Un total de ".$pers_tot." ".(($pers_tot<>1)?"persones han":"persona ha")." impulsat des de ".$a." ".(($a<>1)?"instàncies diferents":"instància").
|
||||
" i representen el ".round(($pers_tot/$seguid)*100,2)."% sobre els seguidors.\n";
|
||||
|
||||
$part3 = "Amb un total de ".$sum_total." impulsos (favorits i reblocs)\n".
|
||||
"Moltes gràcies!.\n".
|
||||
"#SocUnBot #ResumSetmanal";
|
||||
|
||||
$tut = $part0."".$part1."".$part2."".$part3."\n";
|
||||
//echo $tut;
|
||||
|
||||
$lletres = strlen($tut);
|
||||
//echo $lletres." caracters \n";
|
||||
|
||||
$linies_tut = substr_count($tut, "\n");
|
||||
|
||||
$nlin = 11;
|
||||
if($linies_tut>=$nlin) {
|
||||
|
||||
$pasada = ceil($linies_tut/$nlin);
|
||||
|
||||
for($r=1;$r<=$pasada;$r++) {
|
||||
$tut_complet = $tut;
|
||||
$linies = explode("\n", $tut_complet);
|
||||
if($r==1) {
|
||||
$linies = array_slice($linies, 0, $nlin*$r); //18 is how many lines you want to keep
|
||||
} else {
|
||||
$linies = array_slice($linies, $nlin*($r-1), $nlin); //18 is how many lines you want to keep
|
||||
}
|
||||
$tut_frag = implode("\n", $linies);
|
||||
// echo "linies: ".$nlin*$r."\n";
|
||||
// echo "Tut nº".$r."\n".$tut_frag."\n";
|
||||
// echo strlen($tut_frag)." caracters \n";
|
||||
// echo substr_count($tut_frag,"\n")." linies \n";
|
||||
// echo $linies_tut." linies \n";
|
||||
sleep(1);
|
||||
|
||||
// publicacio per fer els tuts que calga, sempre múltiple de nlin
|
||||
/**
|
||||
if($r == 1) {
|
||||
// echo "primer tut\n";
|
||||
$tut_data = array(
|
||||
"status" => $tut_frag,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_imp_res
|
||||
);
|
||||
// print_r($tut_data);
|
||||
} else {
|
||||
**/
|
||||
// echo "tut nº".$r."\n";
|
||||
$tut_data = array(
|
||||
"status" => $tut_frag,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_imp_res,
|
||||
"in_reply_to_id" => $ferfil
|
||||
);
|
||||
// print_r($tut_data);
|
||||
// }
|
||||
|
||||
// no es pot aplicar la funció. no retrona el id per fer la resposta o fil.
|
||||
// PublicaMissatge($base_url,$headers,$tut_data);
|
||||
$bot_conn = curl_init();
|
||||
curl_setopt($bot_conn, CURLOPT_URL, $base_url . "/api/v1/statuses");
|
||||
curl_setopt($bot_conn, CURLOPT_POST, 1);
|
||||
curl_setopt($bot_conn, CURLOPT_POSTFIELDS, $tut_data);
|
||||
curl_setopt($bot_conn, CURLOPT_HTTPHEADER, $headers);
|
||||
curl_setopt($bot_conn, CURLOPT_RETURNTRANSFER, true);
|
||||
// $resposta_in = curl_exec($bot_conn);
|
||||
// $resposta_conn = json_decode($resposta_in,true);
|
||||
$resposta_conn = json_decode(curl_exec($bot_conn),true);
|
||||
curl_close ($bot_conn);
|
||||
|
||||
// echo "resposta del servidor\n";
|
||||
// print_r($resposta_conn);
|
||||
$ferfil = $resposta_conn['id'];
|
||||
sleep(1);
|
||||
//echo $tut_frag;
|
||||
}
|
||||
|
||||
} else {
|
||||
// publica només un tut
|
||||
echo $tut;
|
||||
//echo strlen($tut)." caracters \n";
|
||||
//echo "linies_tut: ".$linies_tut."\n";
|
||||
|
||||
$tut_data = array(
|
||||
"status" => $tut,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_imp_res,
|
||||
"in_reply_to_id" => $ferfil
|
||||
|
||||
);
|
||||
|
||||
// PublicaMissatge($base_url,$headers,$tut_data);
|
||||
$bot_conn = curl_init();
|
||||
curl_setopt($bot_conn, CURLOPT_URL, $base_url . "/api/v1/statuses");
|
||||
curl_setopt($bot_conn, CURLOPT_POST, 1);
|
||||
curl_setopt($bot_conn, CURLOPT_POSTFIELDS, $tut_data);
|
||||
curl_setopt($bot_conn, CURLOPT_HTTPHEADER, $headers);
|
||||
curl_setopt($bot_conn, CURLOPT_RETURNTRANSFER, true);
|
||||
// $resposta_in = curl_exec($bot_conn);
|
||||
// $resposta_conn = json_decode($resposta_in,true);
|
||||
$resposta_conn = json_decode(curl_exec($bot_conn),true);
|
||||
curl_close ($bot_conn);
|
||||
|
||||
// echo "resposta del servidor\n";
|
||||
// print_r($resposta_conn);
|
||||
$ferfil = $resposta_conn['id'];
|
||||
|
||||
}
|
||||
//print_r($resposta_conn);
|
||||
//exit;
|
||||
// aqui per que a impulsos em dona errada tot i que ho fa
|
||||
$log -> lwrite("INFO: fer tut instàncies d'impulsos: ".( (($ferfil != null)||($ferfil != false))?"correcte":"ERRADA")."");
|
||||
|
||||
// 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."/utils/bot_plus_graficsxdies.php ".$lloc." ".$ferfil."");
|
||||
$log -> lwrite("INFO: fer tut gràfics per dies: ".( (($graf_imp_setm != null)||($graf_imp_setm != false))?"correcte":"ERRADA")."");
|
||||
|
||||
?>
|
220
utils/bot_plus_estadistiques_seguidors.php
Normal file
220
utils/bot_plus_estadistiques_seguidors.php
Normal file
|
@ -0,0 +1,220 @@
|
|||
<?php
|
||||
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 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."");
|
||||
|
||||
$fitxer = $lloc."/fitxers/seguidors_detall_act.json";
|
||||
$json_dec = json_decode(file_get_contents($fitxer), true);
|
||||
|
||||
$maxim = count($json_dec);
|
||||
$e = 1;
|
||||
//$v = 1;
|
||||
for($e=1;$e<$maxim;$e++) {
|
||||
//$usua = $json_dec[$e]['usuari'];
|
||||
//$nom = $json_dec[$e]['nom'];
|
||||
$acct = $json_dec[$e]['acct'];
|
||||
$inst = explode("@", $acct);
|
||||
//$crea = $json_dec[$e]['creat'];
|
||||
//$publ = $json_dec[$e]['ult_pub'];
|
||||
//print_r($inst);
|
||||
if( (count($inst)==1) ) {
|
||||
$inst_t = "mastodont.cat";
|
||||
} else {
|
||||
$inst_t = $inst[1];
|
||||
}
|
||||
// echo $inst_t."\n";
|
||||
// $v++;
|
||||
$inst_matriu[] = $inst_t ;
|
||||
}
|
||||
|
||||
//print_r($inst_matriu);
|
||||
$inst_mat_ord = array_count_values($inst_matriu);
|
||||
arsort($inst_mat_ord);
|
||||
|
||||
//print_r(($inst_mat_ord));
|
||||
|
||||
// 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);
|
||||
|
||||
|
||||
$a = 0;
|
||||
$part0 = "Els seguidors del compte son a: \n";
|
||||
//echo "El seguidors son: \n";
|
||||
foreach ($inst_mat_ord as $clau => $valor) {
|
||||
// echo "$valor de $clau\n";
|
||||
// $mat_inst_f[] = array('nom' => $clau, 'nombre' => $valor);
|
||||
$mat_inst_f[$clau] = $valor." (".round( (($valor/$nseg_ant)*100) ,2)."%) de " .$clau. "\n";
|
||||
$a++;
|
||||
}
|
||||
//echo "En total de ".$a." ".(($a<>1)?"instàncies diferents":"instància")."\n";
|
||||
//echo "Moltes gràcies!! :cli_root: \n";
|
||||
//print_r($mat_inst_f);
|
||||
|
||||
$part1 = implode("",$mat_inst_f);
|
||||
|
||||
$part2 = "En total de ".$a." ".(($a<>1)?"instàncies diferents":"instància")."\n" .
|
||||
"#SocUnBot \n".
|
||||
"Moltes gràcies!! :cli_root: \n".
|
||||
$bot_nom." v".$bot_versio;
|
||||
|
||||
$tut = $part0."".$part1."".$part2."\n";
|
||||
//echo $tut;
|
||||
//echo strlen($tut)." caracters \n";
|
||||
$lletres = strlen($tut);
|
||||
|
||||
$linies_tut = substr_count($tut, "\n");
|
||||
//echo "linies_tut: ".$linies_tut."\n";
|
||||
|
||||
$nlin = 16;
|
||||
if($a>=$nlin) {
|
||||
|
||||
// $pasada = round($a/$nlin,0);
|
||||
$pasada = ceil($a/$nlin);
|
||||
// echo "Cal fer ".$pasada." tuts\n";
|
||||
|
||||
for($r=1;$r<$pasada;$r++) {
|
||||
$tut_complet = $tut;
|
||||
$linies = explode("\n", $tut_complet);
|
||||
if($r==1) {
|
||||
$linies = array_slice($linies, 0, $nlin*$r); //18 is how many lines you want to keep
|
||||
} else {
|
||||
$linies = array_slice($linies, $nlin*($r-1), $nlin); //18 is how many lines you want to keep
|
||||
}
|
||||
$tut_frag = implode("\n", $linies);
|
||||
// echo "linies: ".$nlin*$r."\n";
|
||||
// echo "Tut nº".$r."\n".$tut_frag."\n";
|
||||
// echo strlen($tut_frag)." caracters \n";
|
||||
// sleep(1);
|
||||
// publicacio per fer els tuts que calga, sempre múltiple de nlin
|
||||
if($r == 1) {
|
||||
// echo "primer tut\n";
|
||||
$tut_data = array(
|
||||
"status" => $tut_frag,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_imp_res
|
||||
);
|
||||
// print_r($tut_data);
|
||||
} else {
|
||||
// echo "tut nº".$r."\n";
|
||||
$tut_data = array(
|
||||
"status" => $tut_frag,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_imp_res,
|
||||
"in_reply_to_id" => $mes_comp_id
|
||||
);
|
||||
// print_r($tut_data);
|
||||
}
|
||||
|
||||
// no es pot aplicar la funció. no retrona el id per fer la resposta o fil.
|
||||
// PublicaMissatge($base_url,$headers,$tut_data);
|
||||
$bot_conn = curl_init();
|
||||
curl_setopt($bot_conn, CURLOPT_URL, $base_url . "/api/v1/statuses");
|
||||
curl_setopt($bot_conn, CURLOPT_POST, 1);
|
||||
curl_setopt($bot_conn, CURLOPT_POSTFIELDS, $tut_data);
|
||||
curl_setopt($bot_conn, CURLOPT_HTTPHEADER, $headers);
|
||||
curl_setopt($bot_conn, CURLOPT_RETURNTRANSFER, true);
|
||||
// $resposta_in = curl_exec($bot_conn);
|
||||
// $resposta_conn = json_decode($resposta_in,true);
|
||||
$resposta_conn = json_decode(curl_exec($bot_conn),true);
|
||||
curl_close ($bot_conn);
|
||||
|
||||
// echo "resposta del servidor\n";
|
||||
// print_r($resposta_conn);
|
||||
$mes_comp_id = $resposta_conn['id'];
|
||||
sleep(1);
|
||||
}
|
||||
}
|
||||
|
||||
$log->lwrite("Estadistiques de les instàncies dels seguidors publicades");
|
||||
exit;
|
||||
|
||||
|
||||
if($lletres > 480) {
|
||||
//echo "fragmentar en dos la cadena i fer dos tuts \n";
|
||||
|
||||
//fragmente la cadena
|
||||
$tut0 = strlen($tut) > 480 ? substr($tut,0,486)."[...]" : $tut;
|
||||
$tut1 = strlen($tut) > 480 ? substr($tut,486,$lletres) : $tut;
|
||||
//echo "tut0: ".$tut0."\n";
|
||||
//echo "tut1: ".$tut1."\n";
|
||||
|
||||
// fer tut i segon en resposta a
|
||||
// publique el primer tut
|
||||
$tut_data = array(
|
||||
"status" => $tut0,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_imp_res
|
||||
);
|
||||
|
||||
$ch_status = curl_init();
|
||||
curl_setopt($ch_status, CURLOPT_URL, $base_url . "/api/v1/statuses");
|
||||
curl_setopt($ch_status, CURLOPT_POST, 1);
|
||||
curl_setopt($ch_status, CURLOPT_POSTFIELDS, $tut_data);
|
||||
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);
|
||||
// $mr++;
|
||||
|
||||
//print_r($output_status);
|
||||
// consulte el id del tut per fer el segon
|
||||
$mes_comp_id = $output_status['id'];
|
||||
|
||||
// publique el segon tut
|
||||
$tut_data = array(
|
||||
"status" => $tut1,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_imp_res,
|
||||
"in_reply_to_id" => $mes_comp_id
|
||||
);
|
||||
|
||||
$ch_status = curl_init();
|
||||
curl_setopt($ch_status, CURLOPT_URL, $base_url . "/api/v1/statuses");
|
||||
curl_setopt($ch_status, CURLOPT_POST, 1);
|
||||
curl_setopt($ch_status, CURLOPT_POSTFIELDS, $tut_data);
|
||||
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);
|
||||
// $mr++;
|
||||
|
||||
} else {
|
||||
//echo $tut."\n";
|
||||
|
||||
// publique un tut amb menys dels caràcter màxims
|
||||
|
||||
$tut_data = array(
|
||||
"status" => $tut,
|
||||
"language" => $llengua,
|
||||
"visibility" => $visib_imp_res
|
||||
);
|
||||
|
||||
$ch_status = curl_init();
|
||||
curl_setopt($ch_status, CURLOPT_URL, $base_url . "/api/v1/statuses");
|
||||
curl_setopt($ch_status, CURLOPT_POST, 1);
|
||||
curl_setopt($ch_status, CURLOPT_POSTFIELDS, $tut_data);
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
?>
|
Loading…
Referencia en una nova incidència