Ignore:
Timestamp:
Oct 7, 2010, 8:04:43 PM (14 years ago)
Author:
grum
Message:

Admin interface + Gallery integration finished

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/GMaps/gmaps_aip.class.inc.php

    r7054 r7125  
    2222{
    2323  protected $tabsheet;
     24  protected $amdState;
    2425
    2526  public function __construct($prefixeTable, $filelocation)
     
    2829    $this->loadConfig();
    2930    $this->configForTemplate();
     31
     32    $this->amdState=GMaps_root::checkAMDActivated();
     33
     34    $this->initRequest();
    3035    $this->initEvents();
    3136
    3237    $this->tabsheet = new tabsheet();
     38
     39
     40    if($this->amdState!='advanced')
     41    {
     42      $this->tabsheet->add('amd_warning',
     43                            l10n('gmaps_warning'),
     44                            $this->getAdminLink()."&fGMaps_tabsheet=amd_warning");
     45    }
    3346    $this->tabsheet->add('maps',
    3447                          l10n('gmaps_maps'),
     
    3750                          l10n('gmaps_associate_category_maps'),
    3851                          $this->getAdminLink()."&fGMaps_tabsheet=category_maps");
     52/*
     53    $this->tabsheet->add('kml_files',
     54                          l10n('gmaps_kml_files_management'),
     55                          $this->getAdminLink()."&fGMaps_tabsheet=kml_files");
     56    $this->tabsheet->add('search',
     57                          l10n('gmaps_search'),
     58                          $this->getAdminLink()."&fGMaps_tabsheet=search");
    3959    $this->tabsheet->add('help',
    4060                          l10n('gmaps_help'),
    4161                          $this->getAdminLink()."&fGMaps_tabsheet=help");
     62*/
    4263  }
    4364
     
    7293    switch($_REQUEST['fGMaps_tabsheet'])
    7394    {
     95      case 'amd_warning':
     96        $this->displayAmdWarning();
     97        break;
    7498      case 'maps':
    7599        $this->displayMaps();
     
    77101      case 'category_maps':
    78102        $this->displayCategoryMaps();
     103        break;
     104      case 'kml_files':
     105        $this->displayKmlFiles();
     106        break;
     107      case 'search':
     108        $this->displaySearch();
    79109        break;
    80110      case 'help':
     
    116146
    117147    if(!($_REQUEST['fGMaps_tabsheet']!="maps" or
    118          $_REQUEST['fGMaps_tabsheet']!="category_maps")) $_REQUEST['fGMaps_tabsheet']="maps";
     148         $_REQUEST['fGMaps_tabsheet']!="category_maps" or
     149         $_REQUEST['fGMaps_tabsheet']!="amd_warning"
     150         //$_REQUEST['fGMaps_tabsheet']!="kml_files" or
     151         //$_REQUEST['fGMaps_tabsheet']!="search" or
     152         //$_REQUEST['fGMaps_tabsheet']!="help"
     153         )) $_REQUEST['fGMaps_tabsheet']="maps";
     154
     155    if($_REQUEST['fGMaps_tabsheet']=="amd_warning" and $this->amdState=='advanced') $_REQUEST['fGMaps_tabsheet']="maps";
    119156  }
    120157
     
    137174    $mapTabsheet->add('general',
    138175                          l10n('gmaps_properties_general'),
    139                           '', true, "udm.displayProp('general');");
     176                          '', true, "udm.displayTab('general');");
    140177    $mapTabsheet->add('dimensions',
    141178                          l10n('gmaps_dimensions'),
    142                           '', false, "udm.displayProp('dimensions');");
     179                          '', false, "udm.displayTab('dimensions');");
    143180    $mapTabsheet->add('mapType',
    144181                          l10n('gmaps_properties_mapType'),
    145                           '', false, "udm.displayProp('mapType');");
     182                          '', false, "udm.displayTab('mapType');");
    146183    $mapTabsheet->add('zoomLevel',
    147184                          l10n('gmaps_properties_zoomLevel'),
    148                           '', false, "udm.displayProp('zoomLevel');");
     185                          '', false, "udm.displayTab('zoomLevel');");
    149186    $mapTabsheet->assign();
    150187
     
    167204    global $template;
    168205
     206    $template->set_filename('body_page',
     207                dirname($this->getFileLocation()).'/admin/gmaps_category_maps.tpl');
     208
     209    $mapTabsheet = new GPCTabSheet('mapTabsheet', $this->tabsheet->get_titlename(), 'tabsheet2 gcBorder', 'itab2');
     210    $mapTabsheet->add('assoc',
     211                          l10n('gmaps_map_assoc'),
     212                          '', false, "am.displayTab('assoc');");
     213    $mapTabsheet->add('integration',
     214                          l10n('gmaps_map_integration'),
     215                          '', true, "am.displayTab('integration');");
     216    $mapTabsheet->assign();
     217
     218
     219    $datas=Array(
     220      'urlRequest' => $this->getAdminLink('ajax'),
     221      'cats' => $this->makeCategoriesTree(),
     222      'maps' => $this->makeMapsList(),
     223      'icons' => $this->makeIconsList(),
     224    );
     225    $template->assign('datas', $datas);
     226
     227    $template->assign_var_from_handle('GMAPS_BODY_PAGE', 'body_page');
     228  }
     229
     230
     231  /**
     232   * display the kml file management page
     233   *
     234   */
     235  protected function displayKmlFiles()
     236  {
     237    global $template;
     238
    169239    /*$template->set_filename('body_page',
    170240                dirname($this->getFileLocation()).'/admin/plugin_admin_maps.tpl');
     
    174244  }
    175245
    176   /**
    177    * display the help page
    178    *
    179    */
    180   protected function displayHelp()
     246
     247
     248  /**
     249   * display the search page
     250   *
     251   */
     252  protected function displaySearch()
    181253  {
    182254    global $template;
     
    189261  }
    190262
     263
     264  /**
     265   * display the help page
     266   *
     267   */
     268  protected function displayHelp()
     269  {
     270    global $template;
     271
     272    /*$template->set_filename('body_page',
     273                dirname($this->getFileLocation()).'/admin/plugin_admin_maps.tpl');
     274
     275
     276    $template->assign_var_from_handle('GMAPS_BODY_PAGE', 'body_page');*/
     277  }
     278
     279
     280
     281  /**
     282   * display a warning page if AMD is not installed
     283   *
     284   */
     285  protected function displayAmdWarning()
     286  {
     287    global $template;
     288
     289    $template->set_filename('body_page',
     290                dirname($this->getFileLocation()).'/admin/gmaps_amd_warning.tpl');
     291
     292    switch(GMaps_root::checkAMDActivated())
     293    {
     294      case 'none':
     295      case 'inactive':
     296        $template->assign('gmaps_amd_warning_inactive', sprintf(l10n('gmaps_amd_warning_inactive'), GMAPS_AMD_NEEDED));
     297        break;
     298      case 'basic':
     299        $template->assign('gmaps_amd_warning_basic', l10n('gmaps_amd_warning_basic'));
     300        break;
     301    }
     302    $template->assign_var_from_handle('GMAPS_BODY_PAGE', 'body_page');
     303  }
     304
     305
     306  /**
     307   * build the categories tree
     308   * @return Array : an array, ready to use in the template
     309   */
     310  private function makeCategoriesTree()
     311  {
     312    $returned=array(
     313      array(
     314        'id' => 0,
     315        'name' => '-- '.l10n('gmaps_applyForAllTheGallery').' --'
     316      )
     317    );
     318
     319    $sql="SELECT id, name, global_rank
     320          FROM ".CATEGORIES_TABLE."
     321          ORDER BY global_rank";
     322    $result = pwg_query($sql);
     323    if($result)
     324    {
     325      while ($row = pwg_db_fetch_assoc($result))
     326      {
     327        $returned[]=array(
     328          'id' => $row['id'],
     329          'name' => str_repeat('  ', substr_count($row['global_rank'], '.')).$row['name']
     330        );
     331      }
     332    }
     333
     334    return($returned);
     335  } //makeCategoriesTree
     336
     337
     338  /**
     339   * build a maps list
     340   * @return Array : an array, ready to use in the template
     341   */
     342  private function makeMapsList()
     343  {
     344    $returned=array(
     345      'IC' => array(),
     346      'IP' => array(),
     347      'MP' => array()
     348    );
     349
     350    $sql="SELECT id, name, displayType
     351          FROM ".$this->tables['maps']."
     352          ORDER BY displayType, name";
     353    $result = pwg_query($sql);
     354    if($result)
     355    {
     356      while($row = pwg_db_fetch_assoc($result))
     357      {
     358        $returned[$row['displayType']][]=array(
     359          'id' => $row['id'],
     360          'name' => $row['name']
     361        );
     362      }
     363    }
     364
     365    return($returned);
     366  } //makeCategoriesTree
     367
     368
     369  /**
     370   * build THE ICON LIST
     371   * @return Array : an array, ready to use in the template
     372   */
     373  private function makeIconsList()
     374  {
     375    $returned=array();
     376
     377    $directory=scandir(GMAPS_PATH.'img/');
     378    foreach($directory as $file)
     379    {
     380      $ext=(pathinfo($file, PATHINFO_EXTENSION));
     381      if(preg_match('/^i.*(?:jpg|jpeg|png|gif)$/i', $file))
     382      {
     383        $returned[]=array(
     384          'type' => (strtolower(substr($file,0,1))=='i')?'img':'other',
     385          'file' => $file
     386        );
     387      }
     388    }
     389
     390    return($returned);
     391  } //makeCategoriesTree
     392
     393
    191394} //class
    192395
Note: See TracChangeset for help on using the changeset viewer.