Subir archivos a 'utils_cli'
This commit is contained in:
pare
29ce7827fb
commit
07f89f87c4
S'han modificat 4 arxius amb 802 adicions i 0 eliminacions
220
utils_cli/bot_plus_activitat_seguidors_nopub.php
Normal file
220
utils_cli/bot_plus_activitat_seguidors_nopub.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");
|
||||||
|
|
||||||
|
$fitxer = $lloc."/fitxers/seguidors_detall_act.json";
|
||||||
|
$json_dec = json_decode(file_get_contents($fitxer), true);
|
||||||
|
|
||||||
|
$ara = (filemtime($fitxer));
|
||||||
|
|
||||||
|
$maxim = count($json_dec);
|
||||||
|
$e = 1;
|
||||||
|
//$v = 1;
|
||||||
|
for($e=1;$e<$maxim;$e++) {
|
||||||
|
|
||||||
|
$acct = $json_dec[$e]['acct'];
|
||||||
|
$inst = explode("@", $acct);
|
||||||
|
//$crea = $json_dec[$e]['creat'];
|
||||||
|
$publ = $json_dec[$e]['ult_pub'];
|
||||||
|
//print_r($inst);
|
||||||
|
|
||||||
|
if($publ!=null) {
|
||||||
|
$acti = round((($ara - strtotime($publ))/86400),0);
|
||||||
|
} else {
|
||||||
|
$acti = "NO";
|
||||||
|
}
|
||||||
|
if($acti == "NO"){
|
||||||
|
$actiu = 10;
|
||||||
|
$acti_txt = "Mai";
|
||||||
|
}elseif( ($acti >= 0)&& ($acti <=7) ) {
|
||||||
|
$actiu = 1;
|
||||||
|
$acti_txt = "Esta setmana";
|
||||||
|
}elseif( ($acti > 7)&& ($acti <=14) ) {
|
||||||
|
$actiu = 2;
|
||||||
|
$acti_txt = "Fa una setmana";
|
||||||
|
}elseif( ($acti > 14)&& ($acti <=21) ) {
|
||||||
|
$actiu = 3;
|
||||||
|
$acti_txt = "Fa dos setmanes";
|
||||||
|
}elseif(($acti > 21)&&($acti<=28)) {
|
||||||
|
$actiu = 4;
|
||||||
|
$acti_txt = "Fa tres setmanes";
|
||||||
|
}elseif(($acti > 28)&&($acti<=35)) {
|
||||||
|
$actiu = 5;
|
||||||
|
$acti_txt = "Fa un mes";
|
||||||
|
}elseif(($acti > 35)&&($acti<=42)) {
|
||||||
|
$actiu = 6;
|
||||||
|
$acti_txt = "Fa cinc setmanes";
|
||||||
|
}elseif(($acti > 42)&&($acti<=49)) {
|
||||||
|
$actiu = 7;
|
||||||
|
$acti_txt = "Fa sis setmanes";
|
||||||
|
}elseif(($acti > 49)&&($acti<=56)) {
|
||||||
|
$actiu = 8;
|
||||||
|
$acti_txt = "Fa set setmanes";
|
||||||
|
}else{
|
||||||
|
$actiu = 9;
|
||||||
|
$acti_txt = "Fa dos mesos o més";
|
||||||
|
|
||||||
|
}
|
||||||
|
$actiu_matriu[] = $actiu."-|-".$acti_txt ;
|
||||||
|
}
|
||||||
|
|
||||||
|
//print_r($actiu_matriu);
|
||||||
|
$act_mat_ord = array_count_values($actiu_matriu);
|
||||||
|
arsort($act_mat_ord);
|
||||||
|
//print_r($act_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 = "Dels ".$nseg_ant." seguidors han publicat un tut: \n";
|
||||||
|
//echo "El seguidors son: \n";
|
||||||
|
foreach ($act_mat_ord as $clau => $valor) {
|
||||||
|
$valor_m = (explode("-|-",$valor));
|
||||||
|
$clau_m = (explode("-|-",$clau));
|
||||||
|
// echo "$valor de $clau\n";
|
||||||
|
// $mat_act_f[] = array('nom' => $clau, 'nombre' => $valor);
|
||||||
|
// $mat_act_f[$clau] = $clau_m[1]." ".$valor." persones (".round( (($valor_m[0]/$nseg_ant)*100) ,2)."%) ";
|
||||||
|
$mat_act_c[$clau_m[0]] = $clau_m[1]."::".$valor_m[0];
|
||||||
|
// $a++;
|
||||||
|
}
|
||||||
|
//echo "matriu prèvia\n";
|
||||||
|
//print_r($mat_act_c);
|
||||||
|
//sleep(4);
|
||||||
|
|
||||||
|
// verificar que existeixen claus de 1 a 10 i incloure el que falte amb valor 0
|
||||||
|
for($x=1;$x<=10;$x++){
|
||||||
|
if (array_key_exists( $x, $mat_act_c)) {
|
||||||
|
// echo "està el valor ".$x."\n";
|
||||||
|
// $mat_act_f[$x] = $clau_m[$x][1].", ".$valor[$x]." ".(($valor[$x]<>1)?"persones":"persona")." (".round( (($valor_m[$x][0]/$nseg_ant)*100) ,2)."%) ".$x;
|
||||||
|
$mat_act_p[$x] = $mat_act_c[$x];
|
||||||
|
// print_r($mat_act_f);
|
||||||
|
} else {
|
||||||
|
// echo "NO està el valor ".$x."\n";
|
||||||
|
// $mat_acf_f[$x] = $clau_m[1].", 0 cap persona ( 0%) ".$x;
|
||||||
|
// array_push($mat_act_f, $clau_m[1].", ".$valor." ".(($valor<>1)?"persones":"persona")." (".round( (($valor_m[0]/$nseg_ant)*100) ,2)."%) ".$x);
|
||||||
|
if(($x == 1)){ array_push($mat_act_p, "Esta setmana::0"); }
|
||||||
|
elseif(($x == 2)){ array_push($mat_act_p, "Fa una setmanea::0"); }
|
||||||
|
elseif(($x == 3)){ array_push($mat_act_p, "Fa dos setmanes::0"); }
|
||||||
|
elseif(($x == 4)){ array_push($mat_act_p, "Fa tres setmanes::0"); }
|
||||||
|
elseif(($x == 5)){ array_push($mat_act_p, "Fa un mes::0"); }
|
||||||
|
elseif(($x == 6)){ array_push($mat_act_p, "Fa cinc setmanes::0"); }
|
||||||
|
elseif(($x == 7)){ array_push($mat_act_p, "Fa sis setmanes::0"); }
|
||||||
|
elseif(($x == 8)){ array_push($mat_act_p, "Fa set setmanes::0"); }
|
||||||
|
elseif(($x == 9)){ array_push($mat_act_p, "Fa dos mesos::0"); }
|
||||||
|
else { array_push($mat_act_p, "Fa dos mesos o mes::0"); }
|
||||||
|
// print_r($mat_act_f);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//print_r($mat_act_p);
|
||||||
|
|
||||||
|
foreach ($mat_act_p as $clau => $valor) {
|
||||||
|
$valors_m = (explode("::",$valor));
|
||||||
|
// $clau_m = (explode("::",$clau));
|
||||||
|
// echo "$valor de $clau\n";
|
||||||
|
// print_r($valors_m);
|
||||||
|
// $mat_act_f[] = array('nom' => $clau, 'nombre' => $valor);
|
||||||
|
// $mat_act_f[$clau] = $clau_m[1]." ".$valor." persones (".round( (($valor_m[0]/$nseg_ant)*100) ,2)."%) ";
|
||||||
|
$mat_act_f[$valors_m[0]] = $valors_m[0].", ".$valors_m[1]." ".(($valors_m[1]<>1)?"persones":"persona")." (".round( (($valors_m[1]/$nseg_ant)*100) ,2)."%) ";
|
||||||
|
$mat_act_f2[] = $valors_m[1];
|
||||||
|
// $a++;
|
||||||
|
}
|
||||||
|
|
||||||
|
//echo "En total de ".$a." ".(($a<>1)?"instàncies diferents":"instància")."\n";
|
||||||
|
//echo "Moltes gràcies!! :cli_root: \n";
|
||||||
|
//sort($mat_act_f);
|
||||||
|
//print_r($mat_act_f);
|
||||||
|
//print_r($mat_act_f2);
|
||||||
|
//exit;
|
||||||
|
//$claus = array_keys($mat_act_f)." ".$mat_act_f."" ;
|
||||||
|
//print_r($claus);
|
||||||
|
|
||||||
|
/**
|
||||||
|
function TotsValors($valor,$clau,$q) {
|
||||||
|
if($valor>=1) {
|
||||||
|
echo $clau." ".$q." ". $valor."\n";
|
||||||
|
} else {
|
||||||
|
echo $clau." ".$q." 0\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
array_walk($mat_act_f2, "TotsValors", "té valor");
|
||||||
|
**/
|
||||||
|
|
||||||
|
$part1 = implode("\n",$mat_act_f);
|
||||||
|
/**
|
||||||
|
// agrupar per nivell d'activitat
|
||||||
|
foreach ($mat_act_f as $clau => $valor) {
|
||||||
|
$valor_m = (explode("::",$valor));
|
||||||
|
// $clau_m = (explode("-|-",$clau));
|
||||||
|
// echo "$valor de $clau\n";
|
||||||
|
// $mat_act_f[] = array('nom' => $clau, 'nombre' => $valor);
|
||||||
|
// $mat_act_f[$clau] = $clau_m[1]." ".$valor." persones (".round( (($valor_m[0]/$nseg_ant)*100) ,2)."%) ";
|
||||||
|
$mat_act_f2[$clau_m[0]] = $valor;
|
||||||
|
// $a++;
|
||||||
|
}
|
||||||
|
**/
|
||||||
|
//print_r($mat_act_f2);
|
||||||
|
|
||||||
|
$act01 = 0;
|
||||||
|
// Molt actius - 0-4 setmanes
|
||||||
|
for($h=0;$h<2;$h++){
|
||||||
|
// echo $mat_act_f2[$h]."\n";
|
||||||
|
$act01 += $mat_act_f2[$h];
|
||||||
|
}
|
||||||
|
//echo "Molt actius: ".$act01."\n";
|
||||||
|
$act02 = 0;
|
||||||
|
// Actius - 5-8 setmanes
|
||||||
|
for($h=2;$h<7;$h++){
|
||||||
|
// echo $mat_act_f2[$h]."\n";
|
||||||
|
$act02 += $mat_act_f2[$h];
|
||||||
|
}
|
||||||
|
//echo "Actius: ".$act02."\n";
|
||||||
|
|
||||||
|
// Poc actius - 9-12 setmanes
|
||||||
|
$act03 = 0;
|
||||||
|
//if (array_key_exists( 8, $mat_act_f2)) {
|
||||||
|
for($h=7;$h<9;$h++){
|
||||||
|
// echo $mat_act_f2[$h]."\n";
|
||||||
|
$act03 += $mat_act_f2[$h];
|
||||||
|
// }
|
||||||
|
//echo "Poc actius: ".$act03."\n";
|
||||||
|
}
|
||||||
|
// inactius - > 13 setmanes
|
||||||
|
$act04 = 0;
|
||||||
|
//if (array_key_exists( 10, $mat_act_f2)) {
|
||||||
|
for($h=9;$h<10;$h++){
|
||||||
|
// echo $mat_act_f2[$h]."\n";
|
||||||
|
$act04 += $mat_act_f2[$h];
|
||||||
|
// }
|
||||||
|
//echo "Inactius: ".$act04."\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$part2 = "Moltes gràcies!! :cli_root: \n".
|
||||||
|
"#ResumSetmanal #SocUnBot\n".
|
||||||
|
$bot_nom." v".$bot_versio;
|
||||||
|
|
||||||
|
$tut = $part0."".$part1."\n";
|
||||||
|
echo $tut;
|
||||||
|
echo "En son molt actius ".$act01."(".round( (($act01/$nseg_ant)*100) ,2)."%), ".
|
||||||
|
"actius ".$act02."(".round( (($act02/$nseg_ant)*100) ,2)."%), ".
|
||||||
|
"poc actius ".$act03."(".round( (($act03/$nseg_ant)*100) ,2)."%), ".
|
||||||
|
"i resten inactius ".$act04."(".round( (($act04/$nseg_ant)*100) ,2)."%)\n";
|
||||||
|
echo strlen($tut)." caracters \n";
|
||||||
|
echo strlen($part2)." caracters \n";
|
||||||
|
echo (strlen($tut)+strlen($part2))." en total.";
|
||||||
|
?>
|
220
utils_cli/bot_plus_cli_activitat_seguidors_nopub.php
Normal file
220
utils_cli/bot_plus_cli_activitat_seguidors_nopub.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");
|
||||||
|
|
||||||
|
$fitxer = $lloc."/fitxers/seguidors_detall_act.json";
|
||||||
|
$json_dec = json_decode(file_get_contents($fitxer), true);
|
||||||
|
|
||||||
|
$ara = (filemtime($fitxer));
|
||||||
|
|
||||||
|
$maxim = count($json_dec);
|
||||||
|
$e = 1;
|
||||||
|
//$v = 1;
|
||||||
|
for($e=1;$e<$maxim;$e++) {
|
||||||
|
|
||||||
|
$acct = $json_dec[$e]['acct'];
|
||||||
|
$inst = explode("@", $acct);
|
||||||
|
//$crea = $json_dec[$e]['creat'];
|
||||||
|
$publ = $json_dec[$e]['ult_pub'];
|
||||||
|
//print_r($inst);
|
||||||
|
|
||||||
|
if($publ!=null) {
|
||||||
|
$acti = round((($ara - strtotime($publ))/86400),0);
|
||||||
|
} else {
|
||||||
|
$acti = "NO";
|
||||||
|
}
|
||||||
|
if($acti == "NO"){
|
||||||
|
$actiu = 10;
|
||||||
|
$acti_txt = "Mai";
|
||||||
|
}elseif( ($acti >= 0)&& ($acti <=7) ) {
|
||||||
|
$actiu = 1;
|
||||||
|
$acti_txt = "Esta setmana";
|
||||||
|
}elseif( ($acti > 7)&& ($acti <=14) ) {
|
||||||
|
$actiu = 2;
|
||||||
|
$acti_txt = "Fa una setmana";
|
||||||
|
}elseif( ($acti > 14)&& ($acti <=21) ) {
|
||||||
|
$actiu = 3;
|
||||||
|
$acti_txt = "Fa dos setmanes";
|
||||||
|
}elseif(($acti > 21)&&($acti<=28)) {
|
||||||
|
$actiu = 4;
|
||||||
|
$acti_txt = "Fa tres setmanes";
|
||||||
|
}elseif(($acti > 28)&&($acti<=35)) {
|
||||||
|
$actiu = 5;
|
||||||
|
$acti_txt = "Fa un mes";
|
||||||
|
}elseif(($acti > 35)&&($acti<=42)) {
|
||||||
|
$actiu = 6;
|
||||||
|
$acti_txt = "Fa cinc setmanes";
|
||||||
|
}elseif(($acti > 42)&&($acti<=49)) {
|
||||||
|
$actiu = 7;
|
||||||
|
$acti_txt = "Fa sis setmanes";
|
||||||
|
}elseif(($acti > 49)&&($acti<=56)) {
|
||||||
|
$actiu = 8;
|
||||||
|
$acti_txt = "Fa set setmanes";
|
||||||
|
}else{
|
||||||
|
$actiu = 9;
|
||||||
|
$acti_txt = "Fa dos mesos o més";
|
||||||
|
|
||||||
|
}
|
||||||
|
$actiu_matriu[] = $actiu."-|-".$acti_txt ;
|
||||||
|
}
|
||||||
|
|
||||||
|
//print_r($actiu_matriu);
|
||||||
|
$act_mat_ord = array_count_values($actiu_matriu);
|
||||||
|
arsort($act_mat_ord);
|
||||||
|
//print_r($act_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 = "Dels ".$nseg_ant." seguidors han publicat un tut: \n";
|
||||||
|
//echo "El seguidors son: \n";
|
||||||
|
foreach ($act_mat_ord as $clau => $valor) {
|
||||||
|
$valor_m = (explode("-|-",$valor));
|
||||||
|
$clau_m = (explode("-|-",$clau));
|
||||||
|
// echo "$valor de $clau\n";
|
||||||
|
// $mat_act_f[] = array('nom' => $clau, 'nombre' => $valor);
|
||||||
|
// $mat_act_f[$clau] = $clau_m[1]." ".$valor." persones (".round( (($valor_m[0]/$nseg_ant)*100) ,2)."%) ";
|
||||||
|
$mat_act_c[$clau_m[0]] = $clau_m[1]."::".$valor_m[0];
|
||||||
|
// $a++;
|
||||||
|
}
|
||||||
|
//echo "matriu prèvia\n";
|
||||||
|
//print_r($mat_act_c);
|
||||||
|
//sleep(4);
|
||||||
|
|
||||||
|
// verificar que existeixen claus de 1 a 10 i incloure el que falte amb valor 0
|
||||||
|
for($x=1;$x<=10;$x++){
|
||||||
|
if (array_key_exists( $x, $mat_act_c)) {
|
||||||
|
// echo "està el valor ".$x."\n";
|
||||||
|
// $mat_act_f[$x] = $clau_m[$x][1].", ".$valor[$x]." ".(($valor[$x]<>1)?"persones":"persona")." (".round( (($valor_m[$x][0]/$nseg_ant)*100) ,2)."%) ".$x;
|
||||||
|
$mat_act_p[$x] = $mat_act_c[$x];
|
||||||
|
// print_r($mat_act_f);
|
||||||
|
} else {
|
||||||
|
// echo "NO està el valor ".$x."\n";
|
||||||
|
// $mat_acf_f[$x] = $clau_m[1].", 0 cap persona ( 0%) ".$x;
|
||||||
|
// array_push($mat_act_f, $clau_m[1].", ".$valor." ".(($valor<>1)?"persones":"persona")." (".round( (($valor_m[0]/$nseg_ant)*100) ,2)."%) ".$x);
|
||||||
|
if(($x == 1)){ array_push($mat_act_p, "Esta setmana::0"); }
|
||||||
|
elseif(($x == 2)){ array_push($mat_act_p, "Fa una setmanea::0"); }
|
||||||
|
elseif(($x == 3)){ array_push($mat_act_p, "Fa dos setmanes::0"); }
|
||||||
|
elseif(($x == 4)){ array_push($mat_act_p, "Fa tres setmanes::0"); }
|
||||||
|
elseif(($x == 5)){ array_push($mat_act_p, "Fa un mes::0"); }
|
||||||
|
elseif(($x == 6)){ array_push($mat_act_p, "Fa cinc setmanes::0"); }
|
||||||
|
elseif(($x == 7)){ array_push($mat_act_p, "Fa sis setmanes::0"); }
|
||||||
|
elseif(($x == 8)){ array_push($mat_act_p, "Fa set setmanes::0"); }
|
||||||
|
elseif(($x == 9)){ array_push($mat_act_p, "Fa dos mesos::0"); }
|
||||||
|
else { array_push($mat_act_p, "Fa dos mesos o mes::0"); }
|
||||||
|
// print_r($mat_act_f);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//print_r($mat_act_p);
|
||||||
|
|
||||||
|
foreach ($mat_act_p as $clau => $valor) {
|
||||||
|
$valors_m = (explode("::",$valor));
|
||||||
|
// $clau_m = (explode("::",$clau));
|
||||||
|
// echo "$valor de $clau\n";
|
||||||
|
// print_r($valors_m);
|
||||||
|
// $mat_act_f[] = array('nom' => $clau, 'nombre' => $valor);
|
||||||
|
// $mat_act_f[$clau] = $clau_m[1]." ".$valor." persones (".round( (($valor_m[0]/$nseg_ant)*100) ,2)."%) ";
|
||||||
|
$mat_act_f[$valors_m[0]] = $valors_m[0].", ".$valors_m[1]." ".(($valors_m[1]<>1)?"persones":"persona")." (".round( (($valors_m[1]/$nseg_ant)*100) ,2)."%) ";
|
||||||
|
$mat_act_f2[] = $valors_m[1];
|
||||||
|
// $a++;
|
||||||
|
}
|
||||||
|
|
||||||
|
//echo "En total de ".$a." ".(($a<>1)?"instàncies diferents":"instància")."\n";
|
||||||
|
//echo "Moltes gràcies!! :cli_root: \n";
|
||||||
|
//sort($mat_act_f);
|
||||||
|
//print_r($mat_act_f);
|
||||||
|
//print_r($mat_act_f2);
|
||||||
|
//exit;
|
||||||
|
//$claus = array_keys($mat_act_f)." ".$mat_act_f."" ;
|
||||||
|
//print_r($claus);
|
||||||
|
|
||||||
|
/**
|
||||||
|
function TotsValors($valor,$clau,$q) {
|
||||||
|
if($valor>=1) {
|
||||||
|
echo $clau." ".$q." ". $valor."\n";
|
||||||
|
} else {
|
||||||
|
echo $clau." ".$q." 0\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
array_walk($mat_act_f2, "TotsValors", "té valor");
|
||||||
|
**/
|
||||||
|
|
||||||
|
$part1 = implode("\n",$mat_act_f);
|
||||||
|
/**
|
||||||
|
// agrupar per nivell d'activitat
|
||||||
|
foreach ($mat_act_f as $clau => $valor) {
|
||||||
|
$valor_m = (explode("::",$valor));
|
||||||
|
// $clau_m = (explode("-|-",$clau));
|
||||||
|
// echo "$valor de $clau\n";
|
||||||
|
// $mat_act_f[] = array('nom' => $clau, 'nombre' => $valor);
|
||||||
|
// $mat_act_f[$clau] = $clau_m[1]." ".$valor." persones (".round( (($valor_m[0]/$nseg_ant)*100) ,2)."%) ";
|
||||||
|
$mat_act_f2[$clau_m[0]] = $valor;
|
||||||
|
// $a++;
|
||||||
|
}
|
||||||
|
**/
|
||||||
|
//print_r($mat_act_f2);
|
||||||
|
|
||||||
|
$act01 = 0;
|
||||||
|
// Molt actius - 0-4 setmanes
|
||||||
|
for($h=0;$h<2;$h++){
|
||||||
|
// echo $mat_act_f2[$h]."\n";
|
||||||
|
$act01 += $mat_act_f2[$h];
|
||||||
|
}
|
||||||
|
//echo "Molt actius: ".$act01."\n";
|
||||||
|
$act02 = 0;
|
||||||
|
// Actius - 5-8 setmanes
|
||||||
|
for($h=2;$h<7;$h++){
|
||||||
|
// echo $mat_act_f2[$h]."\n";
|
||||||
|
$act02 += $mat_act_f2[$h];
|
||||||
|
}
|
||||||
|
//echo "Actius: ".$act02."\n";
|
||||||
|
|
||||||
|
// Poc actius - 9-12 setmanes
|
||||||
|
$act03 = 0;
|
||||||
|
//if (array_key_exists( 8, $mat_act_f2)) {
|
||||||
|
for($h=7;$h<9;$h++){
|
||||||
|
// echo $mat_act_f2[$h]."\n";
|
||||||
|
$act03 += $mat_act_f2[$h];
|
||||||
|
// }
|
||||||
|
//echo "Poc actius: ".$act03."\n";
|
||||||
|
}
|
||||||
|
// inactius - > 13 setmanes
|
||||||
|
$act04 = 0;
|
||||||
|
//if (array_key_exists( 10, $mat_act_f2)) {
|
||||||
|
for($h=9;$h<10;$h++){
|
||||||
|
// echo $mat_act_f2[$h]."\n";
|
||||||
|
$act04 += $mat_act_f2[$h];
|
||||||
|
// }
|
||||||
|
//echo "Inactius: ".$act04."\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$part2 = "Moltes gràcies!! :cli_root: \n".
|
||||||
|
"#ResumSetmanal #SocUnBot\n".
|
||||||
|
$bot_nom." v".$bot_versio;
|
||||||
|
|
||||||
|
$tut = $part0."".$part1."\n";
|
||||||
|
echo $tut;
|
||||||
|
echo "En son molt actius ".$act01."(".round( (($act01/$nseg_ant)*100) ,2)."%), ".
|
||||||
|
"actius ".$act02."(".round( (($act02/$nseg_ant)*100) ,2)."%), ".
|
||||||
|
"poc actius ".$act03."(".round( (($act03/$nseg_ant)*100) ,2)."%), ".
|
||||||
|
"i resten inactius ".$act04."(".round( (($act04/$nseg_ant)*100) ,2)."%)\n";
|
||||||
|
echo strlen($tut)." caracters \n";
|
||||||
|
echo strlen($part2)." caracters \n";
|
||||||
|
echo (strlen($tut)+strlen($part2))." en total.";
|
||||||
|
?>
|
181
utils_cli/bot_plus_cli_estadistiques_seguidors_nopub.php
Normal file
181
utils_cli/bot_plus_cli_estadistiques_seguidors_nopub.php
Normal file
|
@ -0,0 +1,181 @@
|
||||||
|
<?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");
|
||||||
|
|
||||||
|
$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 ".$nseg_ant." seguidors son: \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")."";
|
||||||
|
// "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 = 15;
|
||||||
|
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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//echo $tut_frag;
|
||||||
|
exit;
|
||||||
|
|
||||||
|
if($lletres > 480) {
|
||||||
|
//echo "fragmentar en dos la cadena i fer dos tuts \n";
|
||||||
|
|
||||||
|
//fragmente la cadena
|
||||||
|
$tut0 = strlen($tut) > 486 ? substr($tut,0,486)."[...]" : $tut;
|
||||||
|
$tut1 = strlen($tut) > 486 ? substr($tut,486,972) : $tut;
|
||||||
|
$tut2 = strlen($tut) > 486 ? substr($tut,972,1458) : $tut;
|
||||||
|
$tut3 = strlen($tut) > 486 ? substr($tut,1458,$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);
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
181
utils_cli/bot_plus_cli_impulsos_json_cli.php
Normal file
181
utils_cli/bot_plus_cli_impulsos_json_cli.php
Normal file
|
@ -0,0 +1,181 @@
|
||||||
|
<?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");
|
||||||
|
|
||||||
|
//$fitxer = $lloc."/fitxers/mencions.json";
|
||||||
|
$fitxer = $lloc."/fitxers/impulsos.json";
|
||||||
|
//echo $fitxer;
|
||||||
|
|
||||||
|
//matriu a partir del fitxer
|
||||||
|
$json_dec = 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_dec);
|
||||||
|
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_dec, '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_dec,
|
||||||
|
['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_dec);
|
||||||
|
if($cont_fit >= 1) {
|
||||||
|
// actualitza el fitxer json
|
||||||
|
// $fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/impulsos.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
} else {
|
||||||
|
echo "No hi ha impulsos nous.\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
//fin if matriu de notificacions té registres
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// per a fer els repas linia a linia
|
||||||
|
$maxim = count($json_dec);
|
||||||
|
$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_dec[$e]['id'];
|
||||||
|
$men_mi = $json_dec[$e]['mis_id'];
|
||||||
|
$men_qi = $json_dec[$e]['qui'];
|
||||||
|
$men_qa = $json_dec[$e]['quan'];
|
||||||
|
$men_tp = $json_dec[$e]['mencio'];
|
||||||
|
|
||||||
|
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_dec = array_splice($json_dec,($maxim-$max_linies),$maxim);
|
||||||
|
//print_r($json_dec);
|
||||||
|
|
||||||
|
// actualitza el fitxer json
|
||||||
|
//$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/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 de revisió dels impulsos: ".round($tmf,4)."";
|
||||||
|
//$log->lwrite("Temps mencions: ".round($tmf,4)."");
|
||||||
|
?>
|
Loading…
Referencia en una nova incidència