Changeset 97859 in spip-zone


Ignore:
Timestamp:
May 18, 2016, 5:36:23 PM (3 years ago)
Author:
cyp@…
Message:

PSR SPIP

Location:
_plugins_/shortcut_url/trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/shortcut_url/trunk/action/api_shortcut_url.php

    r96915 r97859  
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517/**
     
    2123 * @param null $arg
    2224 */
    23 function action_api_shortcut_url($arg=null) {
     25function action_api_shortcut_url($arg = null) {
    2426
    2527        if (is_null($arg)) {
  • _plugins_/shortcut_url/trunk/action/api_shortcut_url_creer.php

    r96915 r97859  
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517/**
  • _plugins_/shortcut_url/trunk/action/editer_shortcut_url.php

    r96915 r97859  
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517include_spip('inc/autoriser');
     
    2123 * @return int|false 0 si réussite, false dans le cas ou l'url n'existe pas
    2224 */
    23 function shortcut_url_supprimer($id_shortcut_url){
    24         $valide = sql_getfetsel('id_shortcut_url','spip_shortcut_urls','id_shortcut_url='.intval($id_shortcut_url));
    25         if($valide && autoriser('supprimer','shortcut_url',$valide)){
    26                 sql_delete("spip_shortcut_urls", "id_shortcut_url=".intval($id_shortcut_url));
    27                 sql_delete("spip_auteurs_liens", "id_objet=".intval($id_shortcut_url));
    28                 sql_delete("spip_urls", "id_objet=".intval($id_shortcut_url)." AND type=".sql_quote('shortcut_url'));
     25function shortcut_url_supprimer($id_shortcut_url) {
     26        $valide = sql_getfetsel('id_shortcut_url', 'spip_shortcut_urls', 'id_shortcut_url='.intval($id_shortcut_url));
     27        if ($valide && autoriser('supprimer', 'shortcut_url', $valide)) {
     28                sql_delete('spip_shortcut_urls', 'id_shortcut_url='.intval($id_shortcut_url));
     29                sql_delete('spip_auteurs_liens', 'id_objet='.intval($id_shortcut_url));
     30                sql_delete('spip_urls', 'id_objet=' . intval($id_shortcut_url) . ' AND type=' . sql_quote('shortcut_url'));
    2931                $id_shortcut_url = 0;
    3032                include_spip('inc/invalideur');
  • _plugins_/shortcut_url/trunk/action/supprimer_shortcut_url.php

    r96915 r97859  
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517/**
     
    2022 * @return void
    2123 */
    22 function action_supprimer_shortcut_url_dist(){
     24function action_supprimer_shortcut_url_dist() {
    2325       
    2426        $securiser_action = charger_fonction('securiser_action', 'inc');
    2527        $arg = $securiser_action();
    2628       
    27         list($id_shortcut_url) = preg_split(',[^0-9],',$arg);
     29        list($id_shortcut_url) = preg_split(',[^0-9],', $arg);
    2830        include_spip('inc/autoriser');
    29         if (intval($id_shortcut_url) AND autoriser('supprimer','shortcut_url',$id_shortcut_url)){
    30                 include_spip("action/editer_shortcut_url");
     31        if (intval($id_shortcut_url) and autoriser('supprimer', 'shortcut_url', $id_shortcut_url)) {
     32                include_spip('action/editer_shortcut_url');
    3133                shortcut_url_supprimer($id_shortcut_url);
    3234        }
  • _plugins_/shortcut_url/trunk/base/shortcut_url.php

    r96915 r97859  
    1111 */
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517/**
     
    2729}
    2830
    29 function shortcut_url_declarer_tables_objets_sql($tables){
     31function shortcut_url_declarer_tables_objets_sql($tables) {
    3032
    3133        $tables['spip_shortcut_urls'] = array(
     
    3638                'texte_modifier'        => 'shortcut_url:icone_modifier_shortcut_url',
    3739                'texte_creer'           => 'shortcut_url:icone_nouveau_shortcut_url',
    38                 'titre'                         => "titre",
     40                'titre'                         => 'titre',
    3941                'principale'            => 'oui',
    4042                'field'=> array(
    41                         "id_shortcut_url"       => "bigint(21) unsigned NOT NULL AUTO_INCREMENT",
    42                         "titre"                         => "varchar(255) NOT NULL default 'NUL'",
    43                         "description"           => "varchar(255) NOT NULL default 'NUL'",
    44                         "url"                           => "text default '' NOT NULL",
    45                         "ip_address"            => "varchar(255) default 0 NOT NULL",
    46                         "date_modif"            => "datetime NOT NULL default '0000-00-00 00:00:00'",
    47                         "maj"                           => "TIMESTAMP",
    48                         "click"                         => "varchar(255) NOT NULL default 0"
     43                        'id_shortcut_url'       => 'bigint(21) unsigned NOT NULL AUTO_INCREMENT',
     44                        'titre'                         => "varchar(255) NOT NULL default 'NUL'",
     45                        'description'           => "varchar(255) NOT NULL default 'NUL'",
     46                        'url'                           => "text default '' NOT NULL",
     47                        'ip_address'            => 'varchar(255) default 0 NOT NULL',
     48                        'date_modif'            => "datetime NOT NULL default '0000-00-00 00:00:00'",
     49                        'maj'                           => 'TIMESTAMP',
     50                        'click'                         => 'varchar(255) NOT NULL default 0'
    4951                ),
    5052                'key' => array(
    51                         "PRIMARY KEY"   => "id_shortcut_url",
     53                        'PRIMARY KEY'   => 'id_shortcut_url',
    5254                ),
    53                 'join' => array(
    54                         "id_shortcut_url" => "id_shortcut_url"
    55                 ),
     55                'join' => array(
     56                        'id_shortcut_url' => 'id_shortcut_url'
     57                ),
    5658                'rechercher_champs' => array(
    5759                        'titre' => 5, 'description' => 2, 'url' => 8
     
    6466                'principale' => 'non',
    6567                'field'=> array(
    66                         "id_shortcut_urls_log"  => "bigint(21) unsigned NOT NULL AUTO_INCREMENT",
    67                         "id_shortcut_url"       => "bigint(21) NOT NULL",
    68                         "date_modif"            => "TIMESTAMP",
    69                         "shorturl"                      => "varchar(200) NOT NULL default 'NUL'",
    70                         "referrer"                      => "varchar(200) NOT NULL default 'NUL'",
    71                         "user_agent"            => "varchar(255) NOT NULL default 'NUL'",
    72                         "ip_address"            => "varchar(41) default 0 NOT NULL",
    73                         "country_code"          => "char(2) default 0 NOT NULL",
    74                         "humain"                        => "varchar(3) default '' NOT NULL"
     68                        'id_shortcut_urls_log'  => 'bigint(21) unsigned NOT NULL AUTO_INCREMENT',
     69                        'id_shortcut_url'       => 'bigint(21) NOT NULL',
     70                        'date_modif'            => 'TIMESTAMP',
     71                        'shorturl'                      => "varchar(200) NOT NULL default 'NUL'",
     72                        'referrer'                      => "varchar(200) NOT NULL default 'NUL'",
     73                        'user_agent'            => "varchar(255) NOT NULL default 'NUL'",
     74                        'ip_address'            => 'varchar(41) default 0 NOT NULL',
     75                        'country_code'          => 'char(2) default 0 NOT NULL',
     76                        'humain'                        => "varchar(3) default '' NOT NULL"
    7577                ),
    7678                'key' => array(
    77                         "PRIMARY KEY"   => "id_shortcut_urls_log",
     79                        'PRIMARY KEY'   => 'id_shortcut_urls_log',
    7880                )
    7981        );
     
    8284                'principale' => 'non',
    8385                'field'=> array(
    84                         "id_shortcut_urls_bot"  => "bigint(21) unsigned NOT NULL AUTO_INCREMENT",
    85                         "id_shortcut_url"       => "bigint(21) NOT NULL",
    86                         "date_modif"            => "TIMESTAMP",
    87                         "referrer"                      => "varchar(200) NOT NULL default 'NUL'",
    88                         "user_agent"            => "varchar(255) NOT NULL default 'NUL'",
    89                         "ip_address"            => "varchar(41) default 0 NOT NULL"
     86                        'id_shortcut_urls_bot'  => 'bigint(21) unsigned NOT NULL AUTO_INCREMENT',
     87                        'id_shortcut_url'       => 'bigint(21) NOT NULL',
     88                        'date_modif'            => 'TIMESTAMP',
     89                        'referrer'                      => "varchar(200) NOT NULL default 'NUL'",
     90                        'user_agent'            => "varchar(255) NOT NULL default 'NUL'",
     91                        'ip_address'            => 'varchar(41) default 0 NOT NULL'
    9092                ),
    9193                'key' => array(
    92                         "PRIMARY KEY"   => "id_shortcut_urls_bot"
     94                        'PRIMARY KEY'   => 'id_shortcut_urls_bot'
    9395                )
    9496        );
  • _plugins_/shortcut_url/trunk/formulaires/editer_shortcut_url.php

    r96982 r97859  
    4444}
    4545function formulaires_editer_shortcut_url_verifier_dist($id_shortcut_url = 'new', $objet = '', $id_objet = '', $retour = '', $ajaxload = 'oui', $options = '') {
    46         $erreurs = formulaires_editer_objet_verifier('shortcut_url', $id_shortcut_url, array(
    47                         'url'
    48         ));
     46        $erreurs = formulaires_editer_objet_verifier('shortcut_url', $id_shortcut_url, array('url'));
    4947
    5048        if (!$url = _request('url')) {
  • _plugins_/shortcut_url/trunk/lang/shortcut_url_en.php

    r96961 r97859  
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    33// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_core_/plugins/monitor/lang/
    4 if (!defined('_ECRIRE_INC_VERSION')) return;
     4if (!defined('_ECRIRE_INC_VERSION')) {
     5        return;
     6}
    57
    68$GLOBALS[$GLOBALS['idx_lang']] = array(
     
    2426        'form_date_modif' => 'Date published',
    2527        'form_date_insert' => 'Date insert',
    26         'form_description' => 'Description',   
     28        'form_description' => 'Description',
    2729        'form_edit' => 'Edit',
    2830        'form_id_shortcut_urls' => 'id',
  • _plugins_/shortcut_url/trunk/lang/shortcut_url_fr.php

    r96961 r97859  
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    33// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_core_/plugins/monitor/lang/
    4 if (!defined('_ECRIRE_INC_VERSION')) return;
     4if (!defined('_ECRIRE_INC_VERSION')) {
     5        return;
     6}
    57
    68$GLOBALS[$GLOBALS['idx_lang']] = array(
     
    2426        'form_date_modif' => 'Date modif',
    2527        'form_date_insert' => 'Date insertion',
    26         'form_description' => 'Description',   
     28        'form_description' => 'Description',
    2729        'form_edit' => 'Editer',
    2830        'form_id_shortcut_urls' => 'id',
  • _plugins_/shortcut_url/trunk/shortcut_url_fonctions.php

    r97858 r97859  
    22
    33/**
    4  * Fonctions pour shortcut_url
     4 * Fonctions pour shortcut_url.
    55 *
    66 * @plugin     shortcut_url
     7 *
    78 * @copyright  2015
    89 * @author     cyp
    910 * @licence    GNU/GPL
    10  * @package    SPIP\shortcut_url\fonctions
    1111 */
    12 
    1312if (!defined('_ECRIRE_INC_VERSION')) {
    1413        return;
     
    1615
    1716/**
    18  * Générer la chaine de caractères
     17 * Générer la chaine de caractères.
    1918 *
    2019 * @param string $length taille de la chaîne de caractère
     20 *
    2121 * @return string
    2222 */
    2323function generer_chaine($length) {
    24         return substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);
     24        return substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, $length);
    2525}
    2626
    2727/**
    2828 * Créer les titres pour les liens raccourcis
    29  * On doit retrouver une valeur numérique dans le titre pour eviter les gros mots
     29 * On doit retrouver une valeur numérique dans le titre pour eviter les gros mots.
    3030 *
    3131 * @param string $length taille de la chaîne de caractère
     32 *
    3233 * @return string
    3334 */
    34 function generer_chaine_aleatoire($length = 5){
    35 
     35function generer_chaine_aleatoire($length = 5) {
    3636        $pass = generer_chaine($length);
    3737        do {
    3838                $pass = generer_chaine($length);
    3939        } while (!preg_match('/(?=.*\d)/', $pass));
     40
    4041        return $pass;
    4142}
    4243
    43 
    4444/**
    45  * Stocker les visites des clicks en séparant les humains des bots
     45 * Stocker les visites des clicks en séparant les humains des bots.
    4646 *
    4747 * @param int $id_shortcut_url id de l'URL raccourcis
    48  * @return boolean
     48 *
     49 * @return bool
    4950 */
    50 function shortcut_compteur($id_shortcut_url){
    51         if (!defined('_IS_BOT'))
    52                 define('_IS_BOT',
    53                         isset($_SERVER['HTTP_USER_AGENT'])
    54                         AND preg_match(
    55                         // mots generiques
    56                         ',bot|slurp|crawler|spider|webvac|yandex|'
    57                         // MSIE 6.0 est un botnet 99,9% du temps, on traite donc ce USER_AGENT comme un bot
    58                         . 'MSIE 6\.0|'
    59                         // UA plus cibles
    60                         . '80legs|accoona|AltaVista|ASPSeek|Baidu|Charlotte|EC2LinkFinder|eStyle|Google|Genieo|INA dlweb|InfegyAtlas|Java VM|LiteFinder|Lycos|Rambler|Scooter|ScrubbyBloglines|Yahoo|Yeti'
    61                         . ',i',(string) $_SERVER['HTTP_USER_AGENT'])
     51function shortcut_compteur($id_shortcut_url) {
     52        if (!defined('_IS_BOT')) {
     53                define(
     54                                                '_IS_BOT',
     55                                                isset($_SERVER['HTTP_USER_AGENT'])
     56                                                and preg_match(
     57                                                                                // mots generiques
     58                                                                                ',bot|slurp|crawler|spider|webvac|yandex|'
     59                                                                                // MSIE 6.0 est un botnet 99,9% du temps, on traite donc ce USER_AGENT comme un bot
     60                                                                                .'MSIE 6\.0|'
     61                                                                                // UA plus cibles
     62                                                                                .'80legs|accoona|AltaVista|ASPSeek|Baidu|Charlotte|EC2LinkFinder|eStyle|Google|Genieo|INA dlweb|InfegyAtlas|Java VM|LiteFinder|Lycos|Rambler|Scooter|ScrubbyBloglines|Yahoo|Yeti'
     63                                                                                .',i',
     64                                                                                (string) $_SERVER['HTTP_USER_AGENT']
     65                                                )
    6266                );
    63        
     67        }
     68
    6469        $ip_address = $GLOBALS['ip'];
    65         if(_IS_BOT) {
    66                 $appele = sql_getfetsel('id_shortcut_urls_bot', 'spip_shortcut_urls_bots', 'ip_address = ' . sql_quote($ip_address) . ' AND id_shortcut_url = ' .intval($id_shortcut_url) . ' AND date_modif > ' . sql_quote(date('Y-m-d H:i:s',strtotime('-30 seconds'))));
     70        if (_IS_BOT) {
     71                $appele = sql_getfetsel('id_shortcut_urls_bot', 'spip_shortcut_urls_bots', 'ip_address = '.sql_quote($ip_address).' AND id_shortcut_url = '.intval($id_shortcut_url).' AND date_modif > '.sql_quote(date('Y-m-d H:i:s', strtotime('-30 seconds'))));
    6772        } else {
    68                 $appele = sql_getfetsel('id_shortcut_urls_log', 'spip_shortcut_urls_logs', 'ip_address = ' . sql_quote($ip_address) . ' AND id_shortcut_url = ' .intval($id_shortcut_url) . ' AND date_modif > ' . sql_quote(date('Y-m-d H:i:s',strtotime('-30 seconds'))));
     73                $appele = sql_getfetsel('id_shortcut_urls_log', 'spip_shortcut_urls_logs', 'ip_address = '.sql_quote($ip_address).' AND id_shortcut_url = '.intval($id_shortcut_url).' AND date_modif > '.sql_quote(date('Y-m-d H:i:s', strtotime('-30 seconds'))));
    6974        }
    70         if(!$appele){
    71                 $date = sql_getfetsel('date_modif', 'spip_shortcut_urls_logs', 'ip_address = ' . sql_quote($ip_address) . ' AND id_shortcut_url = ' .intval($id_shortcut_url) . ' AND date_modif < ' . sql_quote(date('Y-m-d H:i:s',strtotime('-30 seconds'))),'','date_modif DESC');
    72                 $shorturl = sql_fetsel('url, click', 'spip_shortcut_urls', 'id_shortcut_url=' . intval($id_shortcut_url));
    73        
     75        if (!$appele) {
     76                $date = sql_getfetsel('date_modif', 'spip_shortcut_urls_logs', 'ip_address = '.sql_quote($ip_address).' AND id_shortcut_url = '.intval($id_shortcut_url).' AND date_modif < '.sql_quote(date('Y-m-d H:i:s', strtotime('-30 seconds'))), '', 'date_modif DESC');
     77                $shorturl = sql_fetsel('url, click', 'spip_shortcut_urls', 'id_shortcut_url='.intval($id_shortcut_url));
     78
    7479                $date_modif = date('Y-m-d H:i:s');
    7580                $referrer = $_SERVER['REMOTE_ADDR'];
    7681                $user_agent = get_user_agent();
    77                
     82
    7883                $country_code = get_geoip($referrer);
    79                 $click = $shorturl['click']+1;
    80                 $insert_click = sql_updateq('spip_shortcut_urls', array('click' => $click), 'id_shortcut_url=' . intval($id_shortcut_url));
    81                
    82                 if(_IS_BOT) {
     84                $click = $shorturl['click'] + 1;
     85                $insert_click = sql_updateq('spip_shortcut_urls', array('click' => $click), 'id_shortcut_url='.intval($id_shortcut_url));
     86
     87                if (_IS_BOT) {
    8388                        $humain = 'bot';
    8489                        $insert_bot = sql_insertq('spip_shortcut_urls_bots', array('id_shortcut_url' => $id_shortcut_url, 'date_modif' => $date_modif, 'referrer' => $referrer, 'user_agent' => $user_agent, 'ip_address' => $ip_address));
    8590                } else {
    8691                        $humain = 'oui';
    87                         $insert = sql_insertq('spip_shortcut_urls_logs', array('id_shortcut_url' => $id_shortcut_url, 'date_modif' => $date_modif, 'shorturl' => $shorturl['url'],'referrer' => $referrer, 'user_agent' => $user_agent, 'ip_address' => $ip_address, 'country_code' => $country_code, 'humain' => $humain));
     92                        $insert = sql_insertq('spip_shortcut_urls_logs', array('id_shortcut_url' => $id_shortcut_url, 'date_modif' => $date_modif, 'shorturl' => $shorturl['url'], 'referrer' => $referrer, 'user_agent' => $user_agent, 'ip_address' => $ip_address, 'country_code' => $country_code, 'humain' => $humain));
    8893                }
    8994        }
     95
    9096        return false;
    9197}
    9298
    9399/**
    94  * Récupérer le user agent de l'utilisateur
     100 * Récupérer le user agent de l'utilisateur.
    95101 *
    96102 * @return string
    97103 */
    98104function get_user_agent() {
    99                 if (!isset( $_SERVER['HTTP_USER_AGENT'] )) {
    100                         return '-';
    101                 }
     105        if (!isset($_SERVER['HTTP_USER_AGENT'])) {
     106                return '-';
     107        }
    102108
    103                 $ua = strip_tags( html_entity_decode( $_SERVER['HTTP_USER_AGENT'] ));
    104                 $ua = preg_replace('![^0-9a-zA-Z\':., /{}\(\)\[\]\+@&\!\?;_\-=~\*\#]!', '', $ua );
     109        $ua = strip_tags(html_entity_decode($_SERVER['HTTP_USER_AGENT']));
     110        $ua = preg_replace('![^0-9a-zA-Z\':., /{}\(\)\[\]\+@&\!\?;_\-=~\*\#]!', '', $ua);
    105111
    106                 return $ua;
     112        return $ua;
    107113}
    108114
    109115/**
    110  * Récupérer le le code pays de l'utilisateur
     116 * Récupérer le le code pays de l'utilisateur.
    111117 *
    112118 * @param int $ip ip de l'utilisateur
     119 *
    113120 * @return string
    114121 */
    115 function get_geoip($ip=null){
     122function get_geoip($ip = null) {
    116123        static $gi = null;
    117         if (is_null($ip)){
    118                 include_spip("geoip/geoip");
     124        if (is_null($ip)) {
     125                include_spip('geoip/geoip');
    119126                geoip_close($gi);
     127
    120128                return;
    121129        }
    122         if (is_null($gi)){
    123                 include_spip("geoip/geoip");
    124                 $gi = geoip_open(find_in_path("geoip/GeoIP.dat"),GEOIP_STANDARD);
     130        if (is_null($gi)) {
     131                include_spip('geoip/geoip');
     132                $gi = geoip_open(find_in_path('geoip/GeoIP.dat'), GEOIP_STANDARD);
    125133        }
    126134
    127         return geoip_country_code_by_addr($gi,$ip);
     135        return geoip_country_code_by_addr($gi, $ip);
    128136}
Note: See TracChangeset for help on using the changeset viewer.