Version 4 — Juin 2023 — James
Voir bootstrap, framework, sdk
#!/usr/bin/env bash
# Récupération de la liste des baselines
find plugins-dist/spip -name phpstan-baseline.neon \
| grep -v vendor > tmp/baselines.txt
bash
# Récupération de la liste des baselines
find plugins-dist/spip -name phpstan-baseline.neon | grep -v vendor > tmp/baselines.txt # Récupération de la liste des fonctions non trouvées par phpstan
cat tmp/baselines.txt | xargs -I % grep Function % \
| grep ’not found’ | sed -e ’s/.*Function //’ -e ’s/ not found.*//’ | wc - l
# 2052
cat txt
rm tmp/baselines.txt lst | xargs -I % egrep - rn — exclude-dir tests ’^ function %\(’ ecrire | grep Function % cut - d : -f1 | grep ’ not found ’ \
sort | sed - e ’ s /. uniq > tmp/files . *Function //’ -e ’s/ not found.*//’ | sort | uniq > tmp/called.txt
lst
wc -l tmp/called.txt
# 330 tmp/called.txt
# Trouver les fichiers spip déclarant ces fonctions
cat tmp/called.txt
wc -l tmp/files.lst
# 64 tmp/files.txt
# Trouver les fichiers spip déclarant ces fonctions
rm -f tmp/baselines.txt
cat tmp/called.txt | xargs -I % egrep -rn --exclude-dir tests '^function %\(' ecrire \
| cut -d: -f1 | sort | uniq > tmp/files.txt
wc -l tmp/files.txt
# 64 tmp/files.txt
rm -f tmp/spip_files_functions.txt
while read fichier
do
for f in $(egrep '^function (.*)\(' $fichier | sed -e 's/function //' -e 's/(.*//')
do
echo $fichier,$f >> tmp/spip_files_functions.txt
done
done < tmp/files.txt
wc -l tmp/spip_files_functions.txt
# 1244 tmp/spip_files_functions.txt
echo "ecrire/inc/utils.php
ecrire/base/connect_sql.php
ecrire/base/objets.php
ecrire/inc/flock.php" > tmp/bootstrap.txt
rm -f tmp/bootstrap_files_functions.txt
while read fichier
do
for f in $(egrep '^function (.*)\(' $fichier | sed -e 's/function //' -e 's/(.*//')
do
echo $fichier,$f >> tmp/bootstrap_files_functions.txt
done
done < tmp/bootstrap.txt
wc -l tmp/bootstrap_files_functions.txt
# 135 tmp/bootstrap_files_functions.txt
rm -f tmp/non_called_bootstrap.txt
for f in `cat tmp/bootstrap_files_functions.txt`
do
fonction=$(cut -d, -f2 <<< $f)
if ! egrep -c "^${fonction}$" tmp/called.txt > /dev/null
then
echo $fonction >> tmp/non_called_bootstrap.txt
fi
done
wc -l tmp/non_called_bootstrap.txt
Site « public » :
index.php(spip.php)
ecrire/inc_version.php
config/ecran_securite.php (sous condition*)
vendor/autoload.php
side effect @umask(0) ;
ecrire/inc/utils.php
side effect déclaration 2 globales
ecrire/base/connect_sql.php
ecrire/base/objets.php
config/mes_options.php (si existe)
call spip_initialisation_core()
config/chmod.php
ecrire/inc/flock.php
inc/nfslock (par défaut ecrire/inc/nsflock.php, surchargeable) sous condition
inc/acces (par défaut ecrire/inc/acces.php, surchargeable)
side effect déclaration 1 globale
call load_path_cache()
inc/cookie sous condition + call recuperer_cookies_spip()
tmp/cache/charger_plugins_options.php (si existe) OU call spip_initialisation_suite()+inc/plugin (par défaut ecrire/inc/plugin.php, surchargeable)+ call actualise_plugins_actifs()
call spip_initialisation_suite()
call init_var_mode()
inc/autoriser (par défaut ecrire/inc/autoriser.php, surchargeable) sous condiftion
call autoriser()
inc/autoriser
aiguilleur d’installation**
cas particulier memoriser un tri sessionne eventuel***
side effect envoie d’entêtes http
side effect spip_log****
ecrire/public.php
call recuperer_fond() OU
ecrire/inc_version.php sous condition ??
aiguillage fond/page/action
...
Site privé :
ecrire/index.php
ecrire/inc_version.php
config/ecran_securite.php (sous condition*)
vendor/autoload.php
side effect @umask(0) ;
ecrire/inc/utils.php
side effect déclaration 2 globales
ecrire/base/connect_sql.php
ecrire/base/objets.php
config/mes_options.php (si existe)
call spip_initialisation_core()
config/chmod.php
ecrire/inc/flock.php
inc/nfslock (par défaut ecrire/inc/nsflock.php, surchargeable) sous condition
inc/acces (par défaut ecrire/inc/acces.php, surchargeable)
side effect déclaration 1 globale
call load_path_cache()
inc/cookie sous condition + call recuperer_cookies_spip()
tmp/cache/charger_plugins_options.php (si existe) OU call spip_initialisation_suite()+inc/plugin (par défaut ecrire/inc/plugin.php, surchargeable)+ call actualise_plugins_actifs()
call spip_initialisation_suite()
call init_var_mode()
inc/autoriser (par défaut ecrire/inc/autoriser.php, surchargeable) sous condiftion
call autoriser()
inc/autoriser (par défaut ecrire/inc/autoriser.php, surchargeable)
aiguilleur d’installation**
cas particulier memoriser un tri sessionne eventuel***
envoie d’entêtes http
spip_log****
inc/cookie (par défaut ecrire/inc/cookie.php, surchargeable)
...