Ignore:
Timestamp:
Oct 15, 2010, 9:38:35 PM (14 years ago)
Author:
grum
Message:

Admin interface implemented

Location:
extensions/ASearchEngine
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • extensions/ASearchEngine/admin/ase_search.tpl

    r7196 r7207  
    33
    44{$ase_search_page}
     5
  • extensions/ASearchEngine/ase.css

    r7196 r7207  
    1 #iHeaderListMaps { width:100%; border:1px solid; border-collapse: collapse; margin-top:3px; }
    2 #iListMaps, #iListAssoc, #iListKml { width:100%; border:1px solid; height:280px; border-top:0px; overflow:auto; position:relative; left:-1px;}
    3 #iListMapsNb, #iListAssocNb, #iListKmlNb { width:99%; text-align:right; margin-bottom:8px; padding:2px; font-size:80%; }
    4 
    5 #iListMaps table, table.listMaps,
    6 #iListAssoc table,
    7 #iListKml table  { width:100%; text-align:left; border-collapse: collapse; }
    8 
    9 #iListMaps.roma table tr:hover,
    10 #iListAssoc.roma table tr:hover,
    11 #iListKml.roma table tr:hover  { cursor:pointer; background:#303030; }
    12 
    13 #iListMaps.clear table tr:hover,
    14 #iListAssoc.clear table tr:hover,
    15 #iListKml.clear table tr:hover { cursor:pointer; color: #D54E21; background:#dbe8f3; }
    16 
    17 #iBDAssocCatId {
    18   width:560px;
     1ul.modulesList {
     2  margin:0px;
     3  padding:0px;
     4  list-style:none;
    195}
    206
    21 div.addMap { text-align:left; }
    22 
    23 img.pointer, span.pointer, div.pointer { cursor:pointer; }
    24 
    25 .error, input.error {
    26   background:#FFAAAA;
    27   border:1px solid #800000;
    28   color:#800000;
    29 }
    30 ul.error {
    31   min-height:30px;
    32   -moz-border-radius:8px;
    33   -webkit-border-radius:8px;
    34   -khtml-border-radius:8px;
    35   border-radius:8px;
     7div.cfgBloc {
     8  margin-top:10px;
    369}
    3710
    38 .ui-slider {
    39   width:708px;
    40   height:10px;
    41   border-width:1px;
    42   border-style:solid;
    43   margin-right:5px;
    44   padding-right:14px;
    45 }
    46 .ui-slider-handle {
    47   width:12px;
    48   height:12px;
    49   position:relative;
    50   top:-2px;
    51   border-width:1px;
    52   border-style:solid;
    53   display:block;
    54 }
    55 
    56 #itab2 {
    57   border-top:1px solid;
    58   margin:25px -6px 0 -10px;
    59   padding-top:3px;
    60 }
    61 
    62 #iDialogGMapNfo {
    63   height:18px;
    64   margin:5px 5px 0 60px;
    65   text-align:left;
    66 }
    67 #iDialogGMapNfo span {
    68   position:relative;
    69   top:-3px;
    70   margin-left:3px;
    71 }
    72 #iDialogGMapWaiting {
    73   position:absolute;
    74   z-index:1500;
    75   background:#000000;
    76   opacity:0.55;
    77   filter:alpha(opacity:55);
    78 }
    79 
    80 
    81 // fix IE8 compatibility bugs from GPC 3.2.0 (fixed in next release)
    82 .formtable, .formtable P { margin-left:0px;  }
    83 .tabsheet2 { list-style:none; }
  • extensions/ASearchEngine/ase_aip.class.inc.php

    r7196 r7207  
    2323{
    2424  protected $tabsheet;
     25  protected $modules;
    2526
    2627  public function __construct($prefixeTable, $filelocation)
     
    157158    global $template;
    158159
    159     /*$template->set_filename('body_page',
     160    $this->modules=GPCRequestBuilder::getRegistered();
     161    $this->updateConfig();
     162    $this->configForTemplate();
     163
     164    $template->set_filename('body_page',
    160165                dirname($this->getFileLocation()).'/admin/ase_config.tpl');
    161166
    162 
    163     $template->assign_var_from_handle('ASE_BODY_PAGE', 'body_page');*/
     167    $cfgTabsheet = new GPCTabSheet('configTabsheet', $this->tabsheet->get_titlename(), 'tabsheet2 gcBorder', 'itabcfg');
     168    $cfgTabsheet->add('gallery',
     169                        l10n('ase_gallery_integration'),
     170                        '', true, "cm.displayTab('gallery');");
     171    $cfgTabsheet->add('keyword',
     172                        l10n('ase_keyword_module'),
     173                        '', false, "cm.displayTab('keyword');");
     174    $cfgTabsheet->assign();
     175
     176
     177    foreach($this->modules as $key=>$val)
     178    {
     179      $this->modules[$key]=array(
     180        'name' => l10n($val['name']),
     181        'id' => $val['name'],
     182        'accessible' => in_array($val['name'], $this->config['ase_publicAccess_allowedPlugins'])
     183      );
     184    }
     185
     186    $datas=Array(
     187      'urlRequest' => $this->getAdminLink('ajax'),
     188      'modules' => $this->modules
     189    );
     190    $template->assign('datas', $datas);
     191
     192    $template->assign_var_from_handle('ASE_BODY_PAGE', 'body_page');
     193  }
     194
     195  /**
     196   * update config values
     197   */
     198  protected function updateConfig()
     199  {
     200    global $infos;
     201
     202    if(!isset($_POST) or count($_POST)==0) return(false);
     203
     204
     205    if(isset($_POST['fPAActive']) and $_POST['fPAActive']=='on')
     206    {
     207      $this->config['ase_publicAccess_active']=true;
     208    }
     209    else
     210    {
     211      $this->config['ase_publicAccess_active']=false;
     212    }
     213
     214
     215    if(isset($_POST['fPAApplyLimits']) and $_POST['fPAApplyLimits']=='on')
     216    {
     217      $this->config['ase_publicAccess_applyLimits']=true;
     218    }
     219    else
     220    {
     221      $this->config['ase_publicAccess_applyLimits']=false;
     222    }
     223
     224    if(isset($_POST['fKMinLength'])) $this->config['ase_keyword_minLength']=$_POST['fKMinLength'];
     225
     226    if(isset($_POST['fPALimits'])) $this->config['ase_publicAccess_limits']=$_POST['fPALimits'];
     227
     228    $this->config['ase_publicAccess_allowedPlugins']=array();
     229    foreach($this->modules as $key=>$val)
     230    {
     231      if(isset($_POST['fModule'.$val['name']]) and $_POST['fModule'.$val['name']]=='on') $this->config['ase_publicAccess_allowedPlugins'][]=$val['name'];
     232    }
     233
     234    if($this->saveConfig())
     235    {
     236      $this->displayResult(l10n('ase_config_saved'), true);
     237      return(true);
     238    }
     239    return(false);
    164240  }
    165241
  • extensions/ASearchEngine/ase_ajax.php

    r7196 r7207  
    6262
    6363      // check if asked function is valid
    64       if(!($_REQUEST['ajaxfct']=='admin.maps.getList'
    65            //$_REQUEST['ajaxfct']=='public.maps.getMarkerInfos'
     64      if(!($_REQUEST['ajaxfct']=='admin.config.setConfig'
    6665           )) $_REQUEST['ajaxfct']='';
    6766
     
    7170      if($_REQUEST['ajaxfct']!='')
    7271      {
    73         /*
    74          * no check for admin.maps.getList & admin.assoc.getList requests
    75          */
    76 
    7772
    7873      }
     
    8681    {
    8782      $result="<p class='errors'>An error has occured</p>";
    88       /*
     83
    8984      switch($_REQUEST['ajaxfct'])
    9085      {
    91         case 'admin.maps.getList':
     86        case 'admin.config.setConfig':
    9287          $result=$this->ajax_gmaps_admin_mapsGetList();
    9388          break;
    9489      }
    95       */
    9690      GPCAjax::returnResult($result);
    9791    }
  • extensions/ASearchEngine/ase_root.class.inc.php

    r7196 r7207  
    6161
    6262    /*
    63       intialize default values
     63      initialize default values
    6464    */
    6565    public function initConfig()
     
    6767      //global $user;
    6868      $this->config=array(
     69        'ase_keyword_minLength' => 3,
     70        'ase_publicAccess_active' => false,
     71        'ase_publicAccess_applyLimits' => true,
     72        'ase_publicAccess_limits' => 1000,
     73        'ase_publicAccess_allowedPlugins' => array()
    6974      );
    7075    }
  • extensions/ASearchEngine/language/fr_FR/plugin.lang.php

    r7196 r7207  
    44
    55$lang['ase_release']='v';
     6
     7$lang['ASERate']="Advanced Search Engine - Note moyenne";
     8$lang['ASEDate']="Advanced Search Engine - Dates";
     9$lang['ASECategory']="Advanced Search Engine - Catégories";
     10$lang['ASEKeyword']="Advanced Search Engine - Mots-clefs";
     11$lang['ASEHD']="Advanced Search Engine - Photos HD";
    612
    713$lang['ase_search']='Rechercher';
     
    94100
    95101
     102$lang['ase_config']="Configuration";
     103$lang['ase_gallery_integration']="Intégration dans la galerie";
     104$lang['ase_keyword_module']="Module 'Mots-clefs'";
     105
     106$lang['ase_publicAccess_active']="Remplacer la page de recherche de Piwigo par celle d'<i>Advanced Search Engine</i>";
     107$lang['ase_publicAccess_allowedPlugins']="Modules accessibles :";
     108$lang['ase_publicAccess_applyLimits']="Limiter le nombre d'élements restitués";
     109$lang['ase_keyword_minLength']="Nombre minimum de caractères requis pour un accepter la recherche sur un mot-clef";
     110
     111$lang['ase_error_limit_must_be_integer_gt_0']="Le nombre d'élements restitués doit être un entier supérieur à 0";
     112$lang['ase_error_key_word_min_length_must_be_integer_gt_0']="Le nombre minimum de caractères doit être un entier supérieur à 0";
     113$lang['ase_error_no_module_checked']="Si la page de recherche Piwigo est à remplacer, au moins un module doit être sélectionné";
     114
     115$lang['ase_apply']="Appliquer";
     116$lang['ase_config_saved']="La configuration est enregistrée";
     117
    96118?>
  • extensions/ASearchEngine/templates/ase_dialog_keyword_choose.tpl

    r7196 r7207  
    9191    returned=true;
    9292
    93     if($('#iASEKeywordKeyword').val().length<3)
     93    if($('#iASEKeywordKeyword').val().length< {/literal}{$aseConfig.ase_keyword_minLength}{literal} )
    9494    {
    9595      $("#iASEKeywordKeyword").addClass('error');
Note: See TracChangeset for help on using the changeset viewer.