bot_plus/utils_cli/bot_plus_activitat_seguidors_nopub.php

220 líneas
6,6 KiB
PHP

<?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.";
?>