Changeset 22117


Ignore:
Timestamp:
Apr 10, 2013, 10:57:30 AM (11 years ago)
Author:
cljosse
Message:

[extensions] edit_gmap update to piwigo 2.5

Location:
extensions/edit_gmaps
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • extensions/edit_gmaps/admin/admin_edit.php

    r20034 r22117  
    1717$path = EDIT_CL_PATH;
    1818$plg_data = implode( '', file($path.'main.inc.php') );
    19 if (preg_match("|Version: (.*)|", $plg_data, $val)) { 
    20   $EDIT_CL_PATH_plugin['version'] = trim($val[1]); 
     19if (preg_match("|Version: (.*)|", $plg_data, $val)) {
     20        $EDIT_CL_PATH_plugin['version'] = trim($val[1]);
    2121}
    2222$EDIT_CL_PATH_plugin = array_map('htmlspecialchars', $EDIT_CL_PATH_plugin);
     
    2424$icon_path = 'themes/default/icon/help.png';
    2525$path_js=  'themes/default/js/' ;
    26  
    27  
     26
     27
    2828$global_tpl=realpath(PHPWG_ROOT_PATH).'\\admin\\themes\\default\\template\\batch_manager_global.tpl' ;
    2929
    3030$template->assign(
    31     array(  'EDIT_CL_PATH' => EDIT_CL_PATH,
    32             'path_js' => $path_js,
    33             'VERSION'=> $version,
    34             'EDIT_CL_PATH_ABS' => dirname(__FILE__).'/',
    35             'GLOBAL_TPL' => $global_tpl
    36           )
    37   );
     31                array(  'EDIT_CL_PATH' => EDIT_CL_PATH,
     32                                'path_js' => $path_js,
     33                                'VERSION'=> $version,
     34                                'EDIT_CL_PATH_ABS' => dirname(__FILE__).'/',
     35                                'GLOBAL_TPL' => $global_tpl
     36                )
     37);
    3838
    3939/****************************************************************/
    4040$info_message="" ;
    41 $erreur_message=""; 
     41$erreur_message="";
    4242/****************************************************************/
    4343if ( !isset($_GET['mode']) ) $_GET['mode'] = 'global';
     
    4545//  if(!isset($_GET['cat'])) $_GET['cat']=" " ;
    4646if(isset($_POST['filter_prefilter'])){
    47   $_GET['cat'] = $_POST['filter_prefilter'];
     47        $_GET['cat'] = $_POST['filter_prefilter'];
    4848}
    49  
     49
    5050if (!isset($page['title'])) $page['title']="";
    5151if(!isset($_POST['selectAction'])) $_POST['selectAction']="" ;
     
    5555
    5656check_input_parameter('selection', $_POST, true, PATTERN_ID);
    57 include (PHPWG_ROOT_PATH.'admin/batch_manager.php');
    58     $tabsheet = new tabsheet();
    59     $tabsheet->assign(); 
    60 
    61 if(isset($page['cat_elements_id']))
    62     $template->concat('TABSHEET_TITLE', ' '.l10n_dec('%d image', '%d images', count($page['cat_elements_id'])).' - '.$page['title']); 
    63 
    64 
    65  if(isset($_POST)){
    66 // $info_message .= cl_print_var($_POST);
    67 //===============================================================
    68 $collection = array();
    69   if(isset($_POST['selection']))
    70         $collection = $_POST['selection'];
    71 //===============================================================       
    72   $images=array();   
    73 if (!empty($_GET['display'])){
    74   if ('all' == $_GET['display'])
    75     $page['nb_images'] = count($page['cat_elements_id']);
    76   else
    77     $page['nb_images'] = intval($_GET['display']);
     57include (PHPWG_ROOT_PATH.'admin/batch_manager.php');
     58$tabsheet = new tabsheet();
     59$tabsheet->assign();
     60
     61if(isset($page['cat_elements_id']))
     62        $template->concat('TABSHEET_TITLE', ' '.l10n_dec('%d image', '%d images', count($page['cat_elements_id'])).' - '.$page['title']);
     63
     64
     65if(isset($_POST)){
     66        // $info_message .= cl_print_var($_POST);
     67        //===============================================================
     68        $collection = array();
     69        if(isset($_POST['selection']))
     70                $collection = $_POST['selection'];
     71        //===============================================================
     72        $images=array();
     73        if (!empty($_GET['display'])){
     74                if ('all' == $_GET['display'])
     75                        $page['nb_images'] = count($page['cat_elements_id']);
     76                else
     77                        $page['nb_images'] = intval($_GET['display']);
     78        }
     79        else
     80                $page['nb_images'] = 20;
     81
     82        if ( !empty($page['cat_elements_id']) ){
     83                $query='
     84                                SELECT * FROM '.IMAGES_TABLE.'
     85                                                WHERE id IN ('.implode(',',$page['cat_elements_id']).')
     86                                                                '.$conf['order_by'].'
     87                                                                                LIMIT '.$page['start'].', '.   $page['nb_images'] .'
     88                                                                                                ;';
     89                $result = pwg_query($query);
     90                while ( $row=mysqli_fetch_assoc($result) )
     91                        $images[] = $row;
     92
     93        }
     94        //===============================================================
     95        global $lang_info;
     96        if (date_default_timezone_get()) {
     97                $adresse =  date_default_timezone_get()   ;
     98        }else{
     99
     100        }
     101        $adresse =  $lang_info['country'];   ;
     102        $adresse=str_replace("/",", ",$adresse);
     103        global $EDIT_CL_parametres ;
     104
     105        $EDIT_CL_parametres = cl_edit_controler::cl_edit_Get_Options();
     106
     107
     108        $template->assign( 'coordinates',
     109                        array(  'FILE' => '',
     110                                        'LAT' =>  ($EDIT_CL_parametres->lat =='')?'100': $EDIT_CL_parametres->lat,
     111                                        'LON' => ($EDIT_CL_parametres->lon =='')?'100':  $EDIT_CL_parametres->lon ,
     112                                        'ADRESSE' => ($EDIT_CL_parametres->adress =='')?$adresse:  $EDIT_CL_parametres->adress ,
     113                                        'ZOOM' => 18,
     114                                        'ALT' => $EDIT_CL_parametres->alt =='' ?0: $EDIT_CL_parametres->alt
     115                        )
     116        );
     117
     118        if (count($collection)>0 )
     119                if ( isset($_POST['update']) && ( $_POST['update']==l10n('update_exif') || $_POST['update'] == l10n('update_all')  )){
     120                /***********************************
     121                 *  Mise à jour des meta données
     122                ************************************/
     123        // error_reporting ( 0 );
     124        // Hide any unknown EXIF tags
     125        $GLOBALS['HIDE_UNKNOWN_TAGS'] = FALSE;
     126        include $Toolkit_Dir.'Toolkit_Version.php';   // Change: added as of version 1.11
     127        // Include the required files for reading and writing Photoshop File Info
     128        include  $Toolkit_Dir.'JPEG.php';
     129        include  $Toolkit_Dir.'XMP.php';
     130        include  $Toolkit_Dir.'Photoshop_IRB.php';
     131        include  $Toolkit_Dir.'EXIF.php';
     132        include  $Toolkit_Dir.'GPS_File_Info.php';
     133
     134        $GLOBALS['HTTP_POST_VARS']=$_POST ;
     135        // Copy all of the HTML Posted variables into an array
     136        $new_ps_file_info_array = $GLOBALS['HTTP_POST_VARS'];
     137
     138        // Some characters are escaped with backslashes in HTML Posted variable
     139        // Cycle through each of the HTML Posted variables, and strip out the slashes '
     140
     141        foreach( $new_ps_file_info_array as $var_key => $var_val ){
     142                if ($var_key !="selection")
     143                        $new_ps_file_info_array[ $var_key ] = stripslashes( $var_val );
     144        }
     145
     146        $init_info =true;
     147        $first_image="";
     148         
     149        foreach ($collection as $id_0){
     150                foreach ($images as $image) {
     151                        if (array_search($id_0,$image)) {
     152                                //=================================================================
     153                                // Meta donnée
     154                                //=================================================================
     155
     156                                $lat =(isset($_POST['lat']) && $_POST['lat']  )!=''  ?trim($_POST['lat']):$image['lat'];
     157                                $lon = (isset($_POST['lon']) && $_POST['lon'] )!=''  ?trim($_POST['lon']):$image['lon'];
     158                                $alt =(isset($_POST['alt']) && $_POST['alt']  )!=''?trim($_POST['alt']):$image['alt'];
     159
     160                                //========== Mise à jour $image =============
     161                                $image['lat']=$lat;
     162                                $image['lon']=$lon;
     163                                $image['alt']=$alt;
     164                                //==== lecture info gps ====
     165                                $infos_gps  = array();
     166                                if ( isset($_POST['lat']) && $_POST['lat']  !=''){
     167                                } else{
     168                                        $infos_gps  = cl_edit_controler::Get_exif_gps( $image['path'],$image,false,true) ;
     169                                        if($infos_gps['lat']!=0){
     170                                                $image['lat']=$infos_gps['lat'];
     171                                                $image['lon']=$infos_gps['lon'];
     172                                        }
     173                                }
     174                                $new_ps_file_info_array =  base_to_meta($image);
     175
     176                                $new_ps_file_info_array['filename'] =  $image['path'];
     177                                $new_ps_file_info_array['selection'] = explode(";",$new_ps_file_info_array['filename']);
     178
     179                                if( $image['lat']=="" ){
     180                                        $image['lat']=  $new_ps_file_info_array['lat'] ;
     181                                        $image['lon']=  $new_ps_file_info_array['lon'] ;
     182                                        $image['alt']=  $new_ps_file_info_array['alt'] ;
     183                                }
     184
     185
     186
     187
     188                                if(  cl_edit_controler::add_meta_gps($new_ps_file_info_array,$image)){
     189                                        $exif = @read_exif_data( $image['path']);
     190                                        $infos_gps  = cl_edit_controler::Get_exif_gps( $image['path'],$image,false,true) ;
     191                                        $info_message .=l10n('update_exif') . " : " .  $image['path'] . " : " . $image['file'] . " : ok<BR />";
     192                                }
     193
     194                        }else{
     195                                 
     196                        } // fin search
     197
     198                }   // fin id_0
     199
     200
     201
     202        }     // fin collection
     203
     204        if($_POST['update']==l10n('update_exif')) {
     205                unset($_POST['submit']);
     206        }
     207        if ($_POST['update']==l10n('update_all')){
     208                $_POST['submit'] = l10n('update_database') ;
     209
     210        }
     211
     212        $_POST['update'] ="ok";
     213
     214        }
     215        //======================================================================
     216        if ( isset($_POST['submit'])  ) {
     217                if (   $_POST['submit'] == l10n('update_database') ){
     218                        /**************************************************
     219                         * Uniquement Mise à jour de la base de données
     220                        **************************************************/
     221                        if ( count($collection)>0 ){
     222                                $lat = trim($_POST['lat']);
     223                                $lon = trim($_POST['lon']);
     224                                $alt = trim($_POST['alt']);
     225                                //===============================================================
     226                                if($lat !="") cl_edit_controler::add_data_base($collection,$lat,$lon,$alt) ;
     227                                $_POST['submit'] = l10n('selectAction') ;
     228                                unset($_POST['submit']);
     229                                foreach ($collection as $id_0){
     230                                        foreach ($images as $image) {
     231                                                if (array_search($id_0,$image)) {
     232                                                        $image['lat'] = $lat ;
     233                                                        $image['lon']=  $lon  ;
     234                                                        $image['alt'] = $alt  ;
     235                                                }
     236                                        }
     237                                }
     238                        }
     239                        $_POST['submit'] = l10n('selectAction') ;
     240                        unset($_POST['submit']);
     241                }
     242        }
     243        /****************************************/
     244        $query = '
     245                        SELECT id,name,uppercats,global_rank
     246                        FROM '.CATEGORIES_TABLE.'
     247                                        ;';
     248        $result = pwg_query($query);
     249        $categories = array();
     250        $selecteds = array();
     251        if(!isset($_GET['cat'])) $_GET['cat']="tag-no";
     252        if (!empty($result)){
     253                while ($row = mysqli_fetch_assoc($result))  {
     254                        $url = $admin_url.get_query_string_diff(array('start','cat')).'&amp;cat='.$row['id'];
     255
     256                        if ( $row['id']==$_GET['cat'] ) $selecteds[] = $url;
     257                        $row['id']=$url;
     258                         
     259                        array_push($categories, $row);
     260                }
     261        }
     262
     263        usort($categories, 'global_rank_compare');
     264        display_select_categories($categories, $selecteds, 'categories', false);
     265
     266
     267        if ( !empty($page['cat_elements_id']) ){
     268                $nav_bar = create_navigation_bar(
     269                                $admin_url.get_query_string_diff(array('start')),
     270                                count($page['cat_elements_id']),
     271                                $page['start'],
     272                                $page['nb_images']
     273                );
     274                $template->assign('navbar', $nav_bar);
     275        }
     276        //========================================================================
     277        $v_exif="";
     278        $current = $template->get_template_vars('thumbnails');
     279        $j=0;
     280        $thumbnails= array();
     281        /*************************************
     282         * AFFICHAGE MODE GLOBAL
     283        *************************************/
     284
     285        foreach ($images as $image){
     286                $infos_gps  = array();
     287                $infos_gps  =  cl_edit_controler::Get_exif_gps( $image['path'],$image,false,false) ;
     288
     289                $v_exif=$infos_gps['is_exif']?"EXIF":"NO" ;
     290                $v_db=false  ;
     291                $v_db=$image['lat']!=0 && $image['lon']!=0;
     292                $v_db=$v_db?"BD":"NO";
     293                //==== GPS infos -> image infos ====
     294                if(  $infos_gps['lat'] !=0  || $infos_gps['lon'] !=0 ) {
     295                        $new= ( !isset($image['lat'])? true: $image['lat']!=$infos_gps['lat'] ) ;
     296                        $image['lat']=$infos_gps['lat'];
     297                        $image['lon']=$infos_gps['lon'];
     298                        $image['alt']=$infos_gps['alt'];
     299                        $sel_img= array($image['id']);
     300                        if ($new){
     301                                cl_edit_controler::add_data_base( $sel_img,$image['lat'],$image['lon'],$image['alt']) ;
     302                        }
     303                }
     304                //=================================================
     305                $name = render_element_name($image);
     306                $desc = render_element_description($image);
     307                if (!in_array($image['id'],$current[$j])) {
     308                        $j =0;
     309                        foreach($current as $rK => $rV){
     310                                if (!in_array($image['id'],$rV)) {
     311                                        $j++ ;
     312                                } else{
     313                                        //   $info_message .= cl_print_var($current[$j]);
     314                                        break ;
     315                                }
     316                        }
     317                }
     318                //=================================================
     319
     320                $TN_SRC= $current[$j]['thumb'];
     321                $TITLE=$current[$j]['TITLE'] ;
     322
     323                $tpl_var = array(
     324                                'id' =>$image['id'],
     325                                'TN_SRC' => $TN_SRC,
     326                                'file' => $current[$j]['FILE'],
     327                                'TITLE' => $TITLE,
     328                                'LEVEL' =>  $current[$j]['LEVEL'],
     329                                'FILE_SRC' => $current[$j]['FILE_SRC'],
     330                                'U_EDIT' => $current[$j]['U_EDIT'],
     331                                'lat'  =>    $image['lat']    ,
     332                                'lon' =>     $image['lon']    ,
     333                                'alt' =>     $image['alt']    ,
     334                                'U_EXIF' => $v_exif ,
     335                                'U_BD' =>  $v_db  ,
     336                                'thumb' =>$current[$j]['thumb']
     337                );
     338                 
     339                 
     340                $thumbnails[]=$tpl_var;
     341                $j++;
     342        }
     343         
     344        $template->assign('thumbnails', $thumbnails);
     345
     346
     347        $template->assign(
     348                        array(
     349                                        'U_DISPLAY'=> $admin_url.get_query_string_diff(array('display'))
     350                        )
     351        );
     352
     353        //==================================================================================
     354        $match="";
     355        if ( isset($_POST['submit'])   ) {
     356                if ( isset($_POST['match']) && $_POST['match']!='' ){
     357                        cl_edit_controler::cl_edit_Set_Options();
     358                        cl_edit_controler::cl_edit_sauve_options_inf();
     359                }
     360                if ($_POST['submit']==l10n('selection') ) {
     361                        $collection =$_POST['selection'];
     362                }
     363
     364                if ($_POST['submit']==l10n('add') ) {
     365                        $_POST['selection']=array();
     366                        $collection =array();
     367                        unset($collection);
     368                }
     369                if ($_POST['submit']==l10n('reset' ) ) {
     370                        $_POST['selection']=array();
     371                        $collection =array();
     372                        unset($collection);
     373                }
     374        }
     375        //=================================================================================
     376        $src="";
     377
     378        //======================================================================
     379        if (isset($_POST['submit']) and $_POST['submit']==l10n('selection' )){
     380                $collection=$_POST['selection'] ;
     381
     382                if (isset($collection)) {
     383                        /*********************************
     384                         * Affichage de la selection
     385                        *********************************/
     386                        $init_info =true;
     387                        $first_image="";
     388                        $_POST['selection'] = $collection ;
     389                        foreach ($collection as $id_0)  {
     390                                foreach ($images as $image) {
     391                                        if (array_search($id_0,$image)) {
     392
     393                                                $infos_gps  = array();
     394                                                $infos_gps  =array();
     395                                                $infos_gps  =  cl_edit_controler::Get_exif_gps( $image['path'],$image,false,false) ;
     396                                                 
     397
     398
     399
     400                                                if( ($image['lat']=='' || $image['lon']=='')|| $EDIT_CL_parametres->check_exif=='on' ) {
     401                                                        if(isset($infos_gps['lat']) && $infos_gps['is_exif']){
     402                                                                $image['lat']=$infos_gps['lat'];
     403                                                                $image['lon']=$infos_gps['lon'];
     404                                                                $image['alt']=$infos_gps['alt'];
     405                                                        }
     406                                                }
     407                                                if($image['lat'] <> ''){
     408                                                        $lon=$image['lon'];
     409                                                        $lat=$image['lat'];
     410                                                        $alt=$image['alt'];
     411                                                }
     412                                                //==========================================
     413                                                if ( $init_info && $image['lat'] <> '' ) {
     414                                                        $init_info = false ;
     415                                                        //=====================================================
     416                                                        $template->assign( 'coordinates',
     417                                                                        array(
     418                                                                                        'FILE' => $image['path'],
     419                                                                                        'LAT' =>   $lat  ,
     420                                                                                        'LON' =>   $lon  ,
     421                                                                                        'ADRESSE' =>  $adresse ,
     422                                                                                        'ZOOM' => 4,
     423                                                                                        'ALT' =>  $alt ,
     424                                                                        )
     425                                                        );
     426                                                }
     427                                                //=====================================================
     428                                                $lonDMS= dec2dms($lon) ;
     429                                                $latDMS= dec2dms($lat) ;
     430                                                $v_db=false  ;
     431                                                $v_db=$lon!=0 && $lat!=0;
     432
     433                                                $tpl_var = array_merge(
     434                                                                $image,
     435                                                                array(
     436                                                                                'filename' =>  $image['path'],
     437                                                                                'exif' => '"'.$infos_gps['is_exif'].'"' ,
     438                                                                                'lat'  =>    $image['lat']    ,
     439                                                                                'lon' =>     $image['lon']    ,
     440                                                                                'alt' =>     $image['alt']    ,
     441                                                                                'latDMS' =>    $latDMS[3]     ,
     442                                                                                'lonDMS' =>   $lonDMS[3]     ,
     443                                                                                'adresse' =>  $adresse   ,
     444                                                                                'TN_SRC' => DerivativeImage::thumb_url($image),
     445                                                                                'TITLE' => render_element_name($image),
     446                                                                                'U_EXIF' =>  $infos_gps['is_exif'] ,
     447                                                                                'U_BD' =>  $v_db ,
     448                                                                                'U_MAP' => cl_make_map_picture_url(
     449                                                                                                array(
     450                                                                                                                'image_id'=>$image['id'],
     451                                                                                                                'image_file'=>$image['file'],
     452                                                                                                )
     453                                                                                ),
     454                                                                )
     455                                                );
     456                                                $template->append('Selectthumbnails', $tpl_var);
     457                                        }
     458                                }
     459                        }
     460                }
     461        }
     462
     463        //============================================================
     464        if ( !empty($first_image)) {
     465                $erreur_message .= cl_print_var($first_image);
     466                 
     467                if (isset($_POST['update'])) {
     468                        // document.Envoie.latDMS.value
     469                        $image= first_image ;
     470                        $filename=$image['path'] ;
     471                        $Val_exif="";
     472                        $Val_XMP="";
     473                        /*  */
     474                        if (!empty($infos_gps))
     475                                $Position = $infos_gps ;
     476                        else
     477                                $Position =  cl_edit_controler::Get_exif_gps($filename,$image,false,true) ;
     478
     479                        $jpeg_header_data = get_jpeg_header_data($filename );
     480                        $template->assign( array(
     481                                        'filename_abs' =>   $filename ,
     482                                        'filename' => $filename,
     483                                        'datas'    =>    array(
     484                                        /*
     485                                         'Val_JPEG_APP'=> Generate_JPEG_APP_Segment_HTML( $jpeg_header_data ),
     486                        'Val_intrinsic'=> Interpret_intrinsic_values_to_HTML( get_jpeg_intrinsic_values( $jpeg_header_data ) ),
     487                        'Val_Comment'=> Interpret_Comment_to_HTML( $jpeg_header_data ),
     488                        'Val_JFIF'=> Interpret_JFIF_to_HTML( get_JFIF( $jpeg_header_data ), $filename ),
     489                        'Val_JFXX'=>Interpret_JFXX_to_HTML( get_JFXX( $jpeg_header_data ), $filename ),
     490                        'Val_App12' => Interpret_App12_Pic_Info_to_HTML( $jpeg_header_data ),
     491                        'Val_IRB' => Interpret_IRB_to_HTML( get_Photoshop_IRB( $jpeg_header_data ), $filename ),
     492
     493                        'Val_exif'=>  Interpret_EXIF_to_HTML( get_EXIF_JPEG( $filename ), $filename),
     494                        'Val_XMP' =>  Interpret_XMP_to_HTML( read_XMP_array_from_text( get_XMP_text( $jpeg_header_data) ) ),
     495                        */
     496                                                        //
     497                                        ),
     498                                        'Datadase' =>  ($Position) ,
     499                        ) );
     500                }
     501        }
     502
     503
     504        //=======================================================================
     505
     506        $v1=0;
     507
     508
    78509}
    79 else
    80   $page['nb_images'] = 20;
    81 
    82 if ( !empty($page['cat_elements_id']) ){
    83   $query='
    84 SELECT * FROM '.IMAGES_TABLE.'
    85   WHERE id IN ('.implode(',',$page['cat_elements_id']).')
    86   '.$conf['order_by'].'
    87   LIMIT '.$page['start'].', '.   $page['nb_images'] .'
    88 ;';
    89   $result = pwg_query($query);
    90   while ( $row=mysql_fetch_assoc($result) )
    91     $images[] = $row;
    92 
    93 }
    94 //===============================================================
    95 global $lang_info;
    96 if (date_default_timezone_get()) {
    97   $adresse =  date_default_timezone_get()   ;
    98 }else{
    99 
    100 }
    101 $adresse =  $lang_info['country'];   ;
    102 $adresse=str_replace("/",", ",$adresse);
    103 global $EDIT_CL_parametres ;
    104  
    105 $EDIT_CL_parametres = cl_edit_controler::cl_edit_Get_Options();
    106 
    107 
    108 $template->assign( 'coordinates',
    109                     array(  'FILE' => '',
    110                             'LAT' =>  ($EDIT_CL_parametres->lat =='')?'100': $EDIT_CL_parametres->lat,
    111                             'LON' => ($EDIT_CL_parametres->lon =='')?'100':  $EDIT_CL_parametres->lon ,
    112                             'ADRESSE' => ($EDIT_CL_parametres->adress =='')?$adresse:  $EDIT_CL_parametres->adress ,
    113                             'ZOOM' => 18,
    114                             'ALT' => $EDIT_CL_parametres->alt =='' ?0: $EDIT_CL_parametres->alt
    115                         )
    116                     );
    117                  
    118 if (count($collection)>0 )
    119   if ( isset($_POST['update']) && ( $_POST['update']==l10n('update_exif') || $_POST['update'] == l10n('update_all')  )){
    120     /***********************************
    121     *  Mise à jour des meta données
    122     ************************************/
    123     // error_reporting ( 0 );
    124     // Hide any unknown EXIF tags   
    125     $GLOBALS['HIDE_UNKNOWN_TAGS'] = FALSE;
    126     include $Toolkit_Dir.'Toolkit_Version.php';   // Change: added as of version 1.11
    127       // Include the required files for reading and writing Photoshop File Info
    128     include  $Toolkit_Dir.'JPEG.php';
    129     include  $Toolkit_Dir.'XMP.php';
    130     include  $Toolkit_Dir.'Photoshop_IRB.php';
    131     include  $Toolkit_Dir.'EXIF.php';
    132     include  $Toolkit_Dir.'GPS_File_Info.php';
    133 
    134     $GLOBALS['HTTP_POST_VARS']=$_POST ;
    135     // Copy all of the HTML Posted variables into an array
    136     $new_ps_file_info_array = $GLOBALS['HTTP_POST_VARS'];
    137 
    138     // Some characters are escaped with backslashes in HTML Posted variable
    139     // Cycle through each of the HTML Posted variables, and strip out the slashes '
    140 
    141     foreach( $new_ps_file_info_array as $var_key => $var_val ){
    142       if ($var_key !="selection")
    143           $new_ps_file_info_array[ $var_key ] = stripslashes( $var_val );
    144     }
    145    
    146       $init_info =true;
    147       $first_image="";   
    148      
    149       foreach ($collection as $id_0){
    150           foreach ($images as $image) { 
    151             if (array_search($id_0,$image)) {   
    152               //=================================================================
    153               // Meta donnée
    154               //=================================================================
    155 
    156                   $lat =(isset($_POST['lat']) && $_POST['lat']  )!=''  ?trim($_POST['lat']):$image['lat'];
    157                   $lon = (isset($_POST['lon']) && $_POST['lon'] )!=''  ?trim($_POST['lon']):$image['lon'];
    158                   $alt =(isset($_POST['alt']) && $_POST['alt']  )!=''?trim($_POST['alt']):$image['alt'];
    159 
    160                 //========== Mise à jour $image =============               
    161                     $image['lat']=$lat;
    162                     $image['lon']=$lon;
    163                     $image['alt']=$alt;
    164               //==== lecture info gps ====
    165                     $infos_gps  = array();   
    166                    if ( isset($_POST['lat']) && $_POST['lat']  !=''){
    167                   } else{             
    168                       $infos_gps  = cl_edit_controler::Get_exif_gps( $image['path'],$image,false,true) ; 
    169                       if($infos_gps['lat']!=0){
    170                           $image['lat']=$infos_gps['lat'];
    171                           $image['lon']=$infos_gps['lon'];   
    172                       }
    173                       }
    174                 $new_ps_file_info_array =  base_to_meta($image);
    175 
    176                 $new_ps_file_info_array['filename'] =  $image['path'];
    177                 $new_ps_file_info_array['selection'] = explode(";",$new_ps_file_info_array['filename']);
    178  
    179           if( $image['lat']=="" ){
    180               $image['lat']=  $new_ps_file_info_array['lat'] ;
    181               $image['lon']=  $new_ps_file_info_array['lon'] ;
    182               $image['alt']=  $new_ps_file_info_array['alt'] ;
    183           }
    184 
    185          
    186      
    187 
    188            if(  cl_edit_controler::add_meta_gps($new_ps_file_info_array,$image)){         
    189                   $exif = @read_exif_data( $image['path']);               
    190                   $infos_gps  = cl_edit_controler::Get_exif_gps( $image['path'],$image,false,true) ;
    191                   $info_message .=l10n('update_exif') . " : " .  $image['path'] . " : " . $image['file'] . " : ok<BR />";
    192                 }
    193            
    194         }else{
    195          
    196         } // fin search
    197 
    198       }   // fin id_0
    199 
    200 
    201 
    202     }     // fin collection   
    203  
    204       if($_POST['update']==l10n('update_exif')) {
    205           unset($_POST['submit']);
    206        }
    207          if ($_POST['update']==l10n('update_all')){
    208             $_POST['submit'] = l10n('update_database') ;
    209 
    210             }
    211 
    212     $_POST['update'] ="ok";
    213    
    214   }
    215 //======================================================================
    216 if ( isset($_POST['submit'])  ) {
    217    if (   $_POST['submit'] == l10n('update_database') ){
    218   /**************************************************
    219    * Uniquement Mise à jour de la base de données
    220    **************************************************/
    221     if ( count($collection)>0 ){
    222         $lat = trim($_POST['lat']);
    223         $lon = trim($_POST['lon']);
    224         $alt = trim($_POST['alt']);
    225         //===============================================================
    226        if($lat !="") cl_edit_controler::add_data_base($collection,$lat,$lon,$alt) ;
    227         $_POST['submit'] = l10n('selectAction') ;
    228         unset($_POST['submit']);
    229         foreach ($collection as $id_0){
    230           foreach ($images as $image) { 
    231             if (array_search($id_0,$image)) { 
    232               $image['lat'] = $lat ;
    233               $image['lon']=  $lon  ;
    234               $image['alt'] = $alt  ;
    235            }
    236           }
    237         } 
    238       }
    239         $_POST['submit'] = l10n('selectAction') ;
    240         unset($_POST['submit']);
    241     }
    242  }
    243 /****************************************/
    244 $query = '
    245 SELECT id,name,uppercats,global_rank
    246   FROM '.CATEGORIES_TABLE.'
    247 ;';
    248 $result = pwg_query($query);
    249 $categories = array();
    250 $selecteds = array();
    251 if(!isset($_GET['cat'])) $_GET['cat']="tag-no";
    252 if (!empty($result)){
    253   while ($row = mysql_fetch_assoc($result))  {
    254     $url = $admin_url.get_query_string_diff(array('start','cat')).'&amp;cat='.$row['id'];
    255  
    256     if ( $row['id']==$_GET['cat'] ) $selecteds[] = $url;
    257     $row['id']=$url;
    258    
    259     array_push($categories, $row);
    260   }
    261 }
    262 
    263 usort($categories, 'global_rank_compare');
    264 display_select_categories($categories, $selecteds, 'categories', false);
    265 
    266 
    267 if ( !empty($page['cat_elements_id']) ){
    268   $nav_bar = create_navigation_bar(
    269     $admin_url.get_query_string_diff(array('start')),
    270     count($page['cat_elements_id']),
    271     $page['start'],
    272     $page['nb_images']
    273     );
    274   $template->assign('navbar', $nav_bar);
    275 }
    276 //========================================================================
    277   $v_exif="";
    278   $current = $template->get_template_vars('thumbnails'); 
    279   $j=0;
    280   $thumbnails= array();
    281 /*************************************
    282 * AFFICHAGE MODE GLOBAL
    283 *************************************/
    284 
    285   foreach ($images as $image){ 
    286     $infos_gps  = array();
    287     $infos_gps  =  cl_edit_controler::Get_exif_gps( $image['path'],$image,false,false) ;
    288    
    289     $v_exif=$infos_gps['is_exif']?"EXIF":"NO" ;   
    290     $v_db=false  ;
    291     $v_db=$image['lat']!=0 && $image['lon']!=0;
    292     $v_db=$v_db?"BD":"NO";
    293     //==== GPS infos -> image infos ====
    294     if(  $infos_gps['lat'] !=0  || $infos_gps['lon'] !=0 ) {     
    295       $new= ( !isset($image['lat'])? true: $image['lat']!=$infos_gps['lat'] ) ;
    296       $image['lat']=$infos_gps['lat'];
    297       $image['lon']=$infos_gps['lon'];
    298       $image['alt']=$infos_gps['alt'];
    299       $sel_img= array($image['id']);
    300       if ($new){
    301            cl_edit_controler::add_data_base( $sel_img,$image['lat'],$image['lon'],$image['alt']) ;
    302       }           
    303    }         
    304   //=================================================
    305   $name = render_element_name($image);
    306   $desc = render_element_description($image);
    307      if (!in_array($image['id'],$current[$j])) {
    308       $j =0;
    309         foreach($current as $rK => $rV){
    310             if (!in_array($image['id'],$rV)) { 
    311                 $j++ ;
    312             } else{
    313             //   $info_message .= cl_print_var($current[$j]);
    314                 break ;
    315             }
    316         }
    317      }
    318   //=================================================
    319  
    320  $TN_SRC= $current[$j]['thumb'];
    321  $TITLE=$current[$j]['TITLE'] ;
    322  
    323    $tpl_var = array(
    324                   'id' =>$image['id'],
    325                   'TN_SRC' => $TN_SRC,
    326                   'file' => $current[$j]['FILE'],
    327                    'TITLE' => $TITLE,
    328                   'LEVEL' =>  $current[$j]['LEVEL'],
    329                   'FILE_SRC' => $current[$j]['FILE_SRC'],
    330                   'U_EDIT' => $current[$j]['U_EDIT'],
    331                   'lat'  =>    $image['lat']    ,
    332                   'lon' =>     $image['lon']    ,
    333                   'alt' =>     $image['alt']    ,   
    334                   'U_EXIF' => $v_exif ,
    335                   'U_BD' =>  $v_db  ,
    336                   'thumb' =>$current[$j]['thumb']
    337                    );
    338              
    339      
    340       $thumbnails[]=$tpl_var; 
    341       $j++;
    342 }
    343        
    344 $template->assign('thumbnails', $thumbnails);
    345 
    346 
    347 $template->assign(
    348     array(
    349       'U_DISPLAY'=> $admin_url.get_query_string_diff(array('display'))
    350     )
    351   );
    352  
    353 //==================================================================================
    354 $match="";
    355 if ( isset($_POST['submit'])   ) {
    356 if ( isset($_POST['match']) && $_POST['match']!='' ){   
    357       cl_edit_controler::cl_edit_Set_Options();
    358       cl_edit_controler::cl_edit_sauve_options_inf();
    359   }
    360  if ($_POST['submit']==l10n('selection') ) {
    361     $collection =$_POST['selection'];
    362   }
    363 
    364   if ($_POST['submit']==l10n('add') ) {
    365     $_POST['selection']=array();
    366     $collection =array();
    367     unset($collection);
    368   }
    369   if ($_POST['submit']==l10n('reset' ) ) {
    370     $_POST['selection']=array();
    371      $collection =array();
    372     unset($collection);
    373   }
    374 }
    375 //=================================================================================
    376 $src="";
    377 
    378 //======================================================================
    379 if (isset($_POST['submit']) and $_POST['submit']==l10n('selection' )){
    380 $collection=$_POST['selection'] ;
    381 
    382   if (isset($collection)) {
    383   /*********************************
    384   * Affichage de la selection
    385   *********************************/
    386     $init_info =true;
    387     $first_image="";
    388     $_POST['selection'] = $collection ;
    389     foreach ($collection as $id_0)  {
    390         foreach ($images as $image) {
    391             if (array_search($id_0,$image)) {   
    392 
    393               $infos_gps  = array();               
    394               $infos_gps  =array();
    395               $infos_gps  =  cl_edit_controler::Get_exif_gps( $image['path'],$image,false,false) ;           
    396                
    397              
    398              
    399 
    400                if( ($image['lat']=='' || $image['lon']=='')|| $EDIT_CL_parametres->check_exif=='on' ) {                         
    401                   if(isset($infos_gps['lat']) && $infos_gps['is_exif']){     
    402                         $image['lat']=$infos_gps['lat'];
    403                         $image['lon']=$infos_gps['lon'];
    404                         $image['alt']=$infos_gps['alt'];
    405                   } 
    406               }                     
    407               if($image['lat'] <> ''){               
    408                   $lon=$image['lon'];
    409                   $lat=$image['lat'];   
    410                   $alt=$image['alt'];   
    411               }
    412               //==========================================
    413               if ( $init_info && $image['lat'] <> '' ) {     
    414                 $init_info = false ;                     
    415                 //=====================================================
    416                 $template->assign( 'coordinates',
    417                         array(
    418                             'FILE' => $image['path'],
    419                             'LAT' =>   $lat  ,
    420                             'LON' =>   $lon  ,
    421                             'ADRESSE' =>  $adresse ,
    422                             'ZOOM' => 4,
    423                             'ALT' =>  $alt ,
    424                               )
    425                           );                             
    426               }
    427               //=====================================================
    428                            
    429 
    430 
    431 
    432 
    433                     $lonDMS= dec2dms($lon) ;
    434                     $latDMS= dec2dms($lat) ;
    435                     $v_db=false  ;
    436                     $v_db=$lon!=0 && $lat!=0;
    437 
    438                     $tpl_var = array_merge(
    439                         $image,
    440                         array(
    441                   'filename' =>  $image['path'],
    442                   'exif' => '"'.$infos_gps['is_exif'].'"' ,
    443                   'lat'  =>    $image['lat']    ,
    444                   'lon' =>     $image['lon']    ,
    445                   'alt' =>     $image['alt']    ,
    446                   'latDMS' =>    $latDMS[3]     ,
    447                   'lonDMS' =>   $lonDMS[3]     ,
    448                   'adresse' =>  $adresse   ,
    449                   'TN_SRC' => get_thumbnail_url($image),
    450                   'TITLE' => get_thumbnail_title($image),
    451                   'U_EXIF' =>  $infos_gps['is_exif'] ,
    452                   'U_BD' =>  $v_db ,
    453                   'U_MAP' => cl_make_map_picture_url(
    454                                                 array(
    455                                                       'image_id'=>$image['id'],
    456                                                       'image_file'=>$image['file'],
    457                                                       )
    458                                                     ),
    459                                   )
    460                             );
    461           $template->append('Selectthumbnails', $tpl_var);
    462         }
    463       }
    464     }
    465   }
    466 }
    467 
    468 //============================================================
    469  if ( !empty($first_image)) {
    470    $erreur_message .= cl_print_var($first_image);
    471    
    472    if (isset($_POST['update'])) {
    473           // document.Envoie.latDMS.value
    474           $image= first_image ;
    475           $filename=$image['path'] ;
    476           $Val_exif="";
    477           $Val_XMP="";
    478    /*  */
    479      if (!empty($infos_gps))
    480          $Position = $infos_gps ;
    481      else 
    482          $Position =  cl_edit_controler::Get_exif_gps($filename,$image,false,true) ;
    483 
    484       $jpeg_header_data = get_jpeg_header_data($filename );
    485       $template->assign( array(
    486       'filename_abs' =>   $filename ,
    487       'filename' => $filename,
    488       'datas'    =>    array(
    489 /*       
    490         'Val_JPEG_APP'=> Generate_JPEG_APP_Segment_HTML( $jpeg_header_data ),
    491         'Val_intrinsic'=> Interpret_intrinsic_values_to_HTML( get_jpeg_intrinsic_values( $jpeg_header_data ) ),
    492         'Val_Comment'=> Interpret_Comment_to_HTML( $jpeg_header_data ),
    493         'Val_JFIF'=> Interpret_JFIF_to_HTML( get_JFIF( $jpeg_header_data ), $filename ),
    494         'Val_JFXX'=>Interpret_JFXX_to_HTML( get_JFXX( $jpeg_header_data ), $filename ),
    495         'Val_App12' => Interpret_App12_Pic_Info_to_HTML( $jpeg_header_data ),
    496         'Val_IRB' => Interpret_IRB_to_HTML( get_Photoshop_IRB( $jpeg_header_data ), $filename ),
    497 
    498         'Val_exif'=>  Interpret_EXIF_to_HTML( get_EXIF_JPEG( $filename ), $filename),
    499         'Val_XMP' =>  Interpret_XMP_to_HTML( read_XMP_array_from_text( get_XMP_text( $jpeg_header_data) ) ),
    500           */
    501      //
    502          ),
    503           'Datadase' =>  ($Position) ,
    504           ) );
    505   }
    506 }
    507 
    508 
    509   //=======================================================================
    510 
    511 $v1=0;
    512 
    513 
    514 }
    515510
    516511if ($info_message!="")
    517 $template->assign('infos',$info_message);
     512        $template->assign('infos',$info_message);
    518513if ($erreur_message!="")
    519 $template->assign('errors',$erreur_message);
     514        $template->assign('errors',$erreur_message);
    520515
    521516function cl_make_map_picture_url($params)
    522517{
    523     global $conf;
    524     /*if ( empty($conf['gmaps_api_key']) and $_SERVER['SERVER_ADDR']!='127.0.0.1' )
    525         return "";*/
    526     $map_url = make_picture_url($params);
    527     return add_url_params($map_url, array('map'=>null) );
     518        global $conf;
     519        /*if ( empty($conf['gmaps_api_key']) and $_SERVER['SERVER_ADDR']!='127.0.0.1' )
     520        return "";*/
     521        $map_url = make_picture_url($params);
     522        return add_url_params($map_url, array('map'=>null) );
    528523}
    529524?>
  • extensions/edit_gmaps/edit_gmaps.inc.php

    r20034 r22117  
    4444    $columns_of = array();
    4545    $query = 'DESC '.$table.';';
    46     $result = mysql_query($query);     
     46    $result = mysqli_fetch($query);     
    4747    $columns_of[$table] = array();   
    4848
    4949    if ($result)   
    50         while ($row = mysql_fetch_row($result))
     50        while ($row = mysqli_fetch_row($result))
    5151            array_push($columns_of[$table], $row[0]);
    5252       
  • extensions/edit_gmaps/main.inc.php

    r20034 r22117  
    22/*
    33Plugin Name: Edit Maps&Earth
    4 Version: 2.2.7
     4Version: 2.2.8
    55Description:  Editor for rv gmaps
    66Plugin URI: http://piwigo.org/ext/extension_view.php?eid=330
Note: See TracChangeset for help on using the changeset viewer.