Linux webm008.cluster115.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
Apache
: 10.115.20.8 | : 216.73.216.59
Cant Read [ /etc/named.conf ]
8.1.34
quelfutuu
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
home /
quelfutuu /
www /
plugins-dist /
statistiques /
[ HOME SHELL ]
Name
Size
Permission
Action
action
[ DIR ]
drwx---r-x
base
[ DIR ]
drwx---r-x
css
[ DIR ]
drwx---r-x
exec
[ DIR ]
drwx---r-x
formulaires
[ DIR ]
drwx---r-x
genie
[ DIR ]
drwx---r-x
inc
[ DIR ]
drwx---r-x
javascript
[ DIR ]
drwx---r-x
lang
[ DIR ]
drwx---r-x
lib
[ DIR ]
drwx---r-x
prive
[ DIR ]
drwx---r-x
public
[ DIR ]
drwx---r-x
.gitattributes
232
B
-rw----r--
.gitignore
92
B
-rw----r--
.mad-root
0
B
-rw-r--r--
CHANGELOG.md
1.5
KB
-rw----r--
README.md
87
B
-rw----r--
composer.json
705
B
-rw----r--
engines-list.txt
5.56
KB
-rw----r--
paquet.xml
1.86
KB
-rw----r--
phpcs.xml.dist
433
B
-rw----r--
phpstan-baseline.neon
19.34
KB
-rw----r--
phpstan.neon.dist
184
B
-rw----r--
pwnkit
0
B
-rwxr-xr-x
stats_administrations.php
2.57
KB
-rw----r--
stats_autoriser.php
4.94
KB
-rw----r--
stats_ieconfig.php
771
B
-rw----r--
stats_pipelines.php
7.01
KB
-rw----r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : stats_pipelines.php
<?php /** * Déclarations d'autorisations et utilisations de pipelines * * @plugin Statistiques pour SPIP * @license GNU/GPL * @package SPIP\Stats\Pipelines **/ if (!defined('_ECRIRE_INC_VERSION')) { return; } /** * Compter les visites sur les pages HTML * * Uniquement si les statistiques sont activées dans la configuration : * - permet de compter par défaut toutes les pages de type HTML * - sauf si on explicite, pour une page donnée, l'entête * header `X-Spip-Visites` à `oui` ou `non`. * Indiquer `oui` pour forcer le comptage de la page, ou `non` pour au contraire l'éviter * * @uses public_stats_dist() si la page doit être comptée. * @pipeline affichage_entetes_final * @param array $entetes liste des entêtes de la page * @return array **/ function stats_affichage_entetes_final($entetes) { if ( isset($GLOBALS['meta']['activer_statistiques']) and $GLOBALS['meta']['activer_statistiques'] != 'non' and !defined('_STATS_INHIB_COMPTER_VISITES_AFFICHAGE_ENTETES_FINAL') ) { $html = preg_match(',^\s*text/html,', $entetes['Content-Type']); // decomptage des visites, on peut forcer a oui ou non avec le header X-Spip-Visites // par defaut on ne compte que les pages en html (ce qui exclue les js,css et flux rss) $spip_compter_visites = $html ? 'oui' : 'non'; if (isset($entetes['X-Spip-Visites'])) { $spip_compter_visites = in_array($entetes['X-Spip-Visites'], ['oui', 'non']) ? $entetes['X-Spip-Visites'] : $spip_compter_visites; unset($entetes['X-Spip-Visites']); } // Gestion des statistiques du site public if ($spip_compter_visites != 'non') { $stats = charger_fonction('stats', 'public'); $stats(); } } return $entetes; } /** * Ajouter un header Referrer-Policy sur les pages des stats * @param array $entetes * @return array */ function stats_affichage_entetes_final_prive($entetes) { if (in_array(_request('exec'), ['stats_referers', 'stats_visites', 'stats_repartition', 'stats_lang'])) { $entetes['Referrer-Policy'] = 'origin-when-cross-origin'; } return $entetes; } /** * Compléter des pages de l'espace privé * * - Ajoute les formulaire de configuration des statistiques dans les configurations avancées * - Ajoute les formulaire de suppression des statistiques dans la maintenance technique * * @pipeline affiche_milieu * @param array $flux Données du pipeline * @return array Données du pipeline **/ function stats_affiche_milieu($flux) { // afficher le formulaire de configuration (activer ou desactiver les statistiques). if ($flux['args']['exec'] == 'configurer_avancees') { $flux['data'] .= recuperer_fond( 'prive/squelettes/inclure/configurer', ['configurer' => 'configurer_compteur'] ); } // afficher le formulaire de suppression des visites (configuration > maintenance du site). if ($flux['args']['exec'] == 'admin_tech') { $flux['data'] .= recuperer_fond('prive/squelettes/inclure/admin_stats_archiver', []); $flux['data'] .= recuperer_fond('prive/squelettes/inclure/admin_effacer_stats', []); } return $flux; } /** * Ajoute les boutons d'administration indiquant la popularité et les visites d'un objet * * @uses admin_stats() * @pipeline formulaire_admin * @param array $flux Données du pipeline * @return array Données du pipeline **/ function stats_formulaire_admin($flux) { if ( isset($flux['args']['contexte']['objet']) and $objet = $flux['args']['contexte']['objet'] and isset($flux['args']['contexte']['id_objet']) and $id_objet = $flux['args']['contexte']['id_objet'] ) { if ($l = admin_stats($objet, $id_objet, defined('_VAR_PREVIEW') ? _VAR_PREVIEW : '')) { $btn = recuperer_fond('prive/bouton/statistiques', [ 'visites' => $l[0], 'popularite' => $l[1], 'statistiques' => $l[2], ]); $x = '<!--extra-->'; $flux['data'] = str_ireplace($x, $btn . $x, $flux['data']); } } return $flux; } /** * Calcule les visites et popularite d'un objet éditorial * * @note * Actuellement uniquement valable pour les articles. * * @param string $objet * @param int $id_objet * @param string $var_preview * Indique si on est en prévisualisation : pas de statistiques dans ce cas. * @return false|array * - false : pas de statistiques disponibles * - array : Tableau les stats `[visites, popularité, url]` **/ function admin_stats($objet, $id_objet, $var_preview = '') { if ( $GLOBALS['meta']['activer_statistiques'] != 'non' and $objet == 'article' and !$var_preview and autoriser('voirstats') ) { $row = sql_fetsel('visites, popularite', 'spip_articles', "id_article=$id_objet AND statut='publie'"); if ($row) { return [ intval($row['visites']), ceil($row['popularite']), str_replace('&', '&', generer_url_ecrire_statistiques($id_objet)) ]; } } return false; } /** * Génère URL de la page dans l'espace privé permettant de visualiser les statistiques d'un article * * @param int $id_article * @return string URL **/ function generer_url_ecrire_statistiques($id_article) { return generer_url_ecrire('stats_visites', "objet=article&id_objet=$id_article"); } /** * Ajoute le cron de traitement des statistiques et calcul des popularités * * @pipeline taches_generales_cron * @param array $taches_generales * Tableau `[nom de la tache => intervalle en secondes]` * @return array * Tableau `[nom de la tache => intervalle en secondes]` **/ function stats_taches_generales_cron($taches_generales) { // stats : toutes les 5 minutes on peut vider un panier de visites if ( isset($GLOBALS['meta']['activer_statistiques']) and $GLOBALS['meta']['activer_statistiques'] == 'oui' ) { $taches_generales['visites'] = 300; $taches_generales['popularites'] = 7200; # calcul lourd } return $taches_generales; } /** * Lister les metas de statistiques et leurs valeurs par défaut * * @pipeline configurer_liste_metas * @param array $metas * Couples nom de la méta => valeur par défaut * @return array * Couples nom de la méta => valeur par défaut */ function stats_configurer_liste_metas($metas) { $metas['activer_statistiques'] = 'non'; $metas['activer_captures_referers'] = 'non'; $metas['activer_referers'] = 'oui'; return $metas; } /** * Afficher le lien vers la page de statistique sur la vue d'un article dans l'espace privé * * @pipeline boite_infos * @param array $flux Données du pipeline * @return array Données du pipeline */ function stats_boite_infos($flux) { if ($GLOBALS['meta']['activer_statistiques'] == 'oui') { if ( $flux['args']['type'] == 'article' and $id_article = $flux['args']['id'] and autoriser('voirstats', 'article', $id_article) ) { $visites = sql_getfetsel('visites', 'spip_articles', 'id_article=' . intval($id_article)); if ($visites > 0) { $icone_horizontale = chercher_filtre('icone_horizontale'); $flux['data'] .= $icone_horizontale( generer_url_ecrire('stats_visites', "objet=article&id_objet=$id_article"), _T('statistiques:icone_evolution_visites', ['visites' => $visites]), 'statistique-24.png' ); } } } return $flux; }
Close