Changeset 6950


Ignore:
Timestamp:
09/16/10 20:55:20 (9 years ago)
Author:
grum
Message:

Implement metadata keywords to piwigo tags convert functionnalies
Add some help text
bug:1858

Location:
extensions/AMetaData
Files:
2 added
16 edited

Legend:

Unmodified
Added
Removed
  • extensions/AMetaData/admin/amd_metadata_database_database.tpl

    r6731 r6950  
    296296 
    297297        {if $amdConfig.amd_DisplayWarningsMessageUpdate=='y'} 
    298           <div style="padding-left: 60px;" class="warnings"> 
     298          <div class="warnings"> 
    299299            <p style="font-size: 120%;">{'g003_warning_on_analyze_0'|@translate}</p> 
    300300            <p>{'g003_warning_on_analyze_1'|@translate}</p> 
  • extensions/AMetaData/admin/amd_metadata_database_status.tpl

    r6731 r6950  
    22 
    33{if $amdConfig.amd_DisplayWarningsMessageStatus=='y'} 
    4 <div style="padding-left: 60px;" class="warnings"> 
     4<div class="warnings"> 
    55<p style="font-size: 120%;">{'g003_databaseInformation'|@translate}</p> 
    66{$datas.warning1} 
  • extensions/AMetaData/admin/amd_metadata_display.tpl

    r6919 r6950  
    351351<h2>{'g003_display_management'|@translate}</h2> 
    352352 
     353<div class='helps'> 
     354  <p>{'g003_display_page_help'|@translate}</p> 
     355</div> 
     356 
    353357<div class="addGroup"> 
    354358  <a onclick="editGroup('');">{'g003_add_a_group'|@translate}</a> 
  • extensions/AMetaData/admin/amd_metadata_display_groupListTagOrder.tpl

    r5935 r6950  
    66      <td style="width:30%;">{$data.tagId}</td> 
    77      <td>{$data.name}</td> 
    8       <td style="width:35px;text-align:right;">{$data.nbItems}</td> 
    9       <td style="width:50px;text-align:right;">{$data.pct}%</td> 
    10       <td style="width:104px;"><span class="pctBar{$themeconf.name}" style="display:inline-block;width:{$data.pct}px;"></td> 
     8      {if $data.pct!=''} 
     9        <td style="width:35px;text-align:right;">{$data.nbItems}</td> 
     10        <td style="width:50px;text-align:right;">{$data.pct}%</td> 
     11        <td style="width:104px;"><span class="pctBar{$themeconf.name}" style="display:inline-block;width:{$data.pct}px;"></td> 
     12      {/if} 
    1113    </tr> 
    1214  </table> 
  • extensions/AMetaData/admin/amd_metadata_personnal.tpl

    r6891 r6950  
    604604<h2>{'g003_personnal_metadata'|@translate}</h2> 
    605605 
     606<div class='helps'> 
     607  <p>{'g003_personnal_page_help'|@translate}</p> 
     608</div> 
     609 
    606610<div class='addMetadata'> 
    607611  <a onclick="udm.editMetadata('');">{'g003_add_a_new_md'|@translate}</a> 
     
    612616    <th style="width:35%;min-width:340px;">{'g003_TagId'|@translate}</th> 
    613617    <th>{'g003_TagLabel'|@translate}</th> 
    614     <th style="width:15%;">{'g003_fill_database'|@translate}</th> 
    615618    <th style="width:15%;">{'g003_num_of_rules'|@translate}</th> 
    616619    <th width="40px">&nbsp;</th> 
  • extensions/AMetaData/admin/amd_metadata_personnal_iListTags.tpl

    r6731 r6950  
    44    <td style="width:35%;min-width:340px;">{$data.tagId}</td> 
    55    <td>{$data.label}</td> 
    6     <th style="width:15%;">{$data.fillDatabase}</th> 
    76    <th style="width:15%;">{$data.numOfRules}</th> 
    87    <td width="40px"> 
  • extensions/AMetaData/admin/amd_metadata_search.tpl

    r6891 r6950  
    22<h2>{'g003_search'|@translate}</h2> 
    33 
     4<div class='helps'> 
     5  <p>{'g003_search_page_help'|@translate}</p> 
     6</div> 
     7 
    48{$amd_search_page} 
  • extensions/AMetaData/admin/amd_metadata_select.tpl

    r6729 r6950  
    195195<h2>{'g003_select_metadata'|@translate}</h2> 
    196196 
     197<div class='helps'> 
     198  <p>{'g003_select_page_help'|@translate}</p> 
     199</div> 
     200 
    197201<form> 
    198202  <input type="hidden" id="iSelectOrderTagList" value="{$datas.config_GetListTags_OrderType}"/> 
  • extensions/AMetaData/amd.css

    r6891 r6950  
    105105} 
    106106 
    107 .warnings { 
    108   -moz-border-radius:4px; 
    109   -webkit-border-radius:4px; 
    110   -khtml-border-radius:4px; 
    111   border-radius:4px; 
    112 } 
    113 .warnings p { 
    114   margin:0; 
    115   padding:0 0 6px; 
    116   text-align: justify; 
    117 } 
    118 .warnings ul { 
    119   margin:-6px 0; 
    120   padding:0 40px 6px; 
    121 } 
    122107table.mdInfo { 
    123108  width:100%; 
  • extensions/AMetaData/amd_aip.class.inc.php

    r6919 r6950  
    4949    $this->tabsheet = new tabsheet(); 
    5050 
    51     if($this->config['amd_interfaceMode']=='basic') 
     51    if($this->config['amd_InterfaceMode']=='basic') 
    5252    { 
    5353      $this->tabsheet->add('metadata', 
     
    6969                            l10n('g003_search'), 
    7070                            $this->getAdminLink().'&amp;fAMD_tabsheet=search'); 
     71      $this->tabsheet->add('tags', 
     72                            l10n('g003_tags'), 
     73                            $this->getAdminLink().'&amp;fAMD_tabsheet=tags'); 
    7174      $this->tabsheet->add('help', 
    7275                            l10n('g003_help'), 
     
    128131        $this->displaySearch($_REQUEST['fAMD_page']); 
    129132        break; 
     133      case 'tags': 
     134        $this->displayTags(); 
     135        break; 
    130136    } 
    131137 
     
    168174    if(!isset($_REQUEST['fAMD_tabsheet'])) 
    169175    { 
    170       if($this->getNumOfPictures()==0 and $this->config['amd_interfaceMode']=='advanced') 
     176      if($this->getNumOfPictures()==0 and $this->config['amd_InterfaceMode']=='advanced') 
    171177      { 
    172178        $_REQUEST['fAMD_tabsheet']="database"; 
     
    183189         $_REQUEST['fAMD_tabsheet']=="help" or 
    184190         $_REQUEST['fAMD_tabsheet']=="database" or 
    185          $_REQUEST['fAMD_tabsheet']=="search") 
     191         $_REQUEST['fAMD_tabsheet']=="search" or 
     192         $_REQUEST['fAMD_tabsheet']=="tags") 
    186193         or 
    187          $this->config['amd_interfaceMode']=='basic' and 
     194         $this->config['amd_InterfaceMode']=='basic' and 
    188195         ( 
    189196           $_REQUEST['fAMD_tabsheet']=="database" or 
    190            $_REQUEST['fAMD_tabsheet']=="search" 
     197           $_REQUEST['fAMD_tabsheet']=="search" or 
     198           $_REQUEST['fAMD_tabsheet']=="tags" 
    191199         ) 
    192200      ) 
     
    202210      if(!isset($_REQUEST['fAMD_page'])) 
    203211      { 
    204         if($this->config['amd_interfaceMode']=='basic') 
     212        if($this->config['amd_InterfaceMode']=='basic') 
    205213        { 
    206214          $_REQUEST['fAMD_page']="display"; 
     
    216224           $_REQUEST['fAMD_page']=="display") 
    217225           or 
    218            $this->config['amd_interfaceMode']=='basic' and 
     226           $this->config['amd_InterfaceMode']=='basic' and 
    219227           ( 
    220228             $_REQUEST['fAMD_page']=="select" 
     
    222230        ) 
    223231      { 
    224         if($this->config['amd_interfaceMode']=='basic') 
     232        if($this->config['amd_InterfaceMode']=='basic') 
    225233        { 
    226234          $_REQUEST['fAMD_page']="display"; 
     
    268276    } 
    269277 
     278 
    270279  } //init_request 
    271280 
     
    327336                          l10n('g003_personnal'), 
    328337                          $this->getAdminLink().'&amp;fAMD_tabsheet=metadata&amp;fAMD_page=personnal'); 
    329     if($this->config['amd_interfaceMode']=='advanced') 
     338    if($this->config['amd_InterfaceMode']=='advanced') 
    330339    { 
    331340      $statTabsheet->add('select', 
     
    362371  protected function displayMetaDataPersonnal() 
    363372  { 
    364     global $template, $theme, $themes, $themeconf; 
     373    global $template, $theme, $themes, $themeconf, $lang; 
    365374 
    366375    $template->set_filename('sheet_page', 
     
    392401    } 
    393402 
     403    $lang['g003_personnal_page_help']=GPCCore::BBtoHTML($lang['g003_personnal_page_help']); 
     404 
    394405    $template->assign('datas', $datas); 
    395406    return($template->parse('sheet_page', true)); 
     
    404415  protected function displayMetaDataSelect() 
    405416  { 
    406     global $template, $theme, $themes, $themeconf; 
     417    global $template, $theme, $themes, $themeconf, $lang; 
    407418 
    408419    $template->set_filename('sheet_page', 
     
    418429    ); 
    419430 
     431    $lang['g003_select_page_help']=GPCCore::BBtoHTML($lang['g003_select_page_help']); 
     432 
    420433    $template->assign('datas', $datas); 
    421434    return($template->parse('sheet_page', true)); 
     
    430443  protected function displayMetaDataDisplay() 
    431444  { 
    432     global $user, $template; 
     445    global $user, $template, $lang; 
    433446 
    434447    //$local_tpl = new Template(AMD_PATH."admin/", ""); 
     
    490503    } 
    491504 
     505    $lang['g003_display_page_help']=GPCCore::BBtoHTML($lang['g003_display_page_help']); 
    492506    $template->assign('datas', $datas); 
    493507    return($template->parse('sheet_page', true)); 
     
    745759  } 
    746760 
     761 
     762  /** 
     763   * display and manage the tags page 
     764   * 
     765   */ 
     766  protected function displayTags() 
     767  { 
     768    global $template, $user, $lang; 
     769    $template->set_filename('body_page', dirname(__FILE__).'/admin/amd_metadata_tags.tpl'); 
     770 
     771    $datas=array( 
     772      'urlRequest' => $this->getAdminLink('ajax') 
     773    ); 
     774 
     775    $lang['g003_tags_page_help']=GPCCore::BBtoHTML($lang['g003_tags_page_help']); 
     776 
     777    $template->assign('datas', $datas); 
     778 
     779    $template->assign_var_from_handle('AMD_BODY_PAGE', 'body_page'); 
     780  } 
     781 
     782 
    747783} // AMD_AIP class 
    748784 
  • extensions/AMetaData/amd_aip_install.class.inc.php

    r6920 r6950  
    421421 
    422422    $this->config['newInstall']='n'; 
    423     $this->config['amd_interfaceMode']=$interfaceMode; 
     423    $this->config['amd_InterfaceMode']=$interfaceMode; 
    424424    $this->saveConfig(); 
    425425 
  • extensions/AMetaData/amd_ajax.php

    r6920 r6950  
    8484           $_REQUEST['ajaxfct']=='admin.userDefined.deleteTag' or 
    8585           $_REQUEST['ajaxfct']=='admin.tag.getValues' or 
     86           $_REQUEST['ajaxfct']=='admin.tags.getKeywords' or 
     87           $_REQUEST['ajaxfct']=='admin.tags.convertKeywords' or 
    8688 
    8789           $_REQUEST['ajaxfct']=='public.makeStats.doPictureAnalyze')) $_REQUEST['ajaxfct']=''; 
     
    317319        } 
    318320 
     321        /* 
     322         * check admin.tags.convertKeywords values 
     323         */ 
     324        if($_REQUEST['ajaxfct']=="admin.tags.convertKeywords") 
     325        { 
     326          if(!isset($_REQUEST['keywords'])) $_REQUEST['keywords']=array(); 
     327          if(!is_array($_REQUEST['keywords'])) $_REQUEST['keywords']=array(); 
     328          if(count($_REQUEST['keywords'])==0) $_REQUEST['ajaxfct']=''; 
     329        } 
     330 
     331 
    319332 
    320333 
     
    401414        case 'admin.tag.getValues': 
    402415          $result=$this->ajax_amd_admin_tagGetValues($_REQUEST['id']); 
     416          break; 
     417        case 'admin.tags.getKeywords': 
     418          $result=$this->ajax_amd_admin_tagsGetKeywords(); 
     419          break; 
     420        case 'admin.tags.convertKeywords': 
     421          $result=$this->ajax_amd_admin_tagsConvertKeywords($_REQUEST['keywords']); 
    403422          break; 
    404423 
     
    942961              'name'  => L10n::get($row['name']), 
    943962              'numId' => $row['numId'], 
    944               'nbItems' => $row['numOfImg'], 
    945               'pct'   => ($numOfPictures==0)?"0":sprintf("%.2f", 100*$row['numOfImg']/$numOfPictures) 
     963              'nbItems' => ($this->config['amd_InterfaceMode']=='advanced')?$row['numOfImg']:'', 
     964              'pct'   => ($this->config['amd_InterfaceMode']=='advanced')?(($numOfPictures==0)?"0":sprintf("%.2f", 100*$row['numOfImg']/$numOfPictures)):'' 
    946965            ); 
    947966          } 
     
    13401359        $result=pwg_query($sql); 
    13411360        */ 
     1361 
     1362        if($this->config['amd_InterfaceMode']=='basic') 
     1363        { 
     1364          $sql="INSERT INTO ".$this->tables['selected_tags']." VALUES ('".$properties['tagId']."', 0, -1);"; 
     1365          pwg_query($sql); 
     1366        } 
    13421367      } 
    13431368      else 
     
    13711396      foreach($properties['rules'] as $rule) 
    13721397      { 
    1373         print_r($rule['value']); 
     1398        //print_r($rule['value']); 
    13741399        $inserts[]="('$id', '".$rule['defId']."', '".$rule['parentId']."', '".$rule['order']."', '".$rule['type']."', '".$rule['value']."', '".$rule['conditionType']."', '".$rule['conditionValue']."')"; 
    13751400      } 
     
    13781403      $result=pwg_query($sql); 
    13791404 
    1380       $nbImg=$this->buildUserDefinedTags($id); 
     1405      if($this->config['amd_InterfaceMode']=='advanced') 
     1406      { 
     1407        $nbImg=$this->buildUserDefinedTags($id); 
     1408      } 
     1409      else 
     1410      { 
     1411        $nbImg=0; 
     1412      } 
    13811413 
    13821414      $this->makeStatsConsolidation(); 
     
    14631495 
    14641496    /** 
     1497     * return an html list of found keywords in the images_tags table 
     1498     * 
     1499     * @return String : html formatted list 
     1500     */ 
     1501    private function ajax_amd_admin_tagsGetKeywords() 
     1502    { 
     1503      global $template; 
     1504 
     1505      $returned=array(); 
     1506      $keywordsList=array(); 
     1507      $sql="SELECT pait.value, pait.imageId, paut.numId 
     1508            FROM (".$this->tables['images_tags']." pait 
     1509              JOIN ".$this->tables['used_tags']." paut ON pait.numId = paut.numId) 
     1510 
     1511            WHERE (paut.tagId = 'xmp.dc:subject' OR 
     1512                   paut.tagId = 'xmp.digiKam:tagsList' OR 
     1513                   paut.tagId = 'iptc.Keywords');"; 
     1514      $result=pwg_query($sql); 
     1515      if($result) 
     1516      { 
     1517        while($row=pwg_db_fetch_assoc($result)) 
     1518        { 
     1519          if(preg_match('/^a:\d+:{/', $row['value'])) 
     1520          { 
     1521            /* 
     1522             *  if value is a serialized string, unserialize and process it 
     1523             */ 
     1524            $tmp=unserialize($row['value']); 
     1525            foreach($tmp['values'] as $val) 
     1526            { 
     1527              $keywordsList[]="('".mysql_escape_string($val)."', ".$row['imageId'].")"; 
     1528            } 
     1529          } 
     1530          else 
     1531          { 
     1532            $keywordsList[]="('".mysql_escape_string($row['value'])."', ".$row['imageId'].")"; 
     1533          } 
     1534        } 
     1535        $sql="CREATE TEMPORARY TABLE amd_temp_tags ( 
     1536                `value` CHAR(255) default '', 
     1537                `imageId` mediumint(8) unsigned NOT NULL default '0', 
     1538                PRIMARY KEY  USING BTREE (`value`,`imageId`) 
     1539              ) CHARACTER SET utf8 COLLATE utf8_general_ci;"; 
     1540        if(pwg_query($sql)) 
     1541        { 
     1542          $sql="INSERT IGNORE INTO amd_temp_tags 
     1543            VALUES ".implode(',', $keywordsList); 
     1544          if(pwg_query($sql)) 
     1545          { 
     1546            $sql="SELECT att.value AS value, 
     1547                    COUNT(DISTINCT att.imageId) AS nbPictures, 
     1548                    IF(ptt.name IS NULL, 'n', 'y') AS tagExists, 
     1549                    COUNT(DISTINCT pit.image_id) AS nbPicturesTagged 
     1550                  FROM (amd_temp_tags att LEFT JOIN ".TAGS_TABLE."  ptt ON att.value = ptt.name) 
     1551                    LEFT JOIN ".IMAGE_TAG_TABLE." pit ON pit.tag_id = ptt.id 
     1552                  GROUP BY att.value 
     1553                  HAVING nbPicturesTagged < nbPictures"; 
     1554            $result=pwg_query($sql); 
     1555            if($result) 
     1556            { 
     1557              $i=0; 
     1558              while($row=pwg_db_fetch_assoc($result)) 
     1559              { 
     1560                $row['id']=$i; 
     1561                $returned[]=$row; 
     1562                $i++; 
     1563              } 
     1564            } 
     1565          } 
     1566        } 
     1567      } 
     1568 
     1569      $template->set_filename('keywordsList', 
     1570                    dirname($this->getFileLocation()).'/admin/amd_metadata_tags_iKeywordsList.tpl'); 
     1571 
     1572      $template->assign('datas', $returned); 
     1573      return($template->parse('keywordsList', true)); 
     1574    } 
     1575 
     1576 
     1577    /** 
     1578     * convert given keywords into tags, and associate them to pictures 
     1579     * 
     1580     * @param Array $keywords : an array of strings 
     1581     * @return String : ok or ko 
     1582     */ 
     1583    private function ajax_amd_admin_tagsConvertKeywords($keywords) 
     1584    { 
     1585      global $template; 
     1586 
     1587      $returned='ko'; 
     1588 
     1589      /* 
     1590       * 1/ build a temp table with all couple of keywords/imageId 
     1591       */ 
     1592      $keywordsList=array(); 
     1593      $sql="SELECT pait.value, pait.imageId, paut.numId 
     1594            FROM (".$this->tables['images_tags']." pait 
     1595              JOIN ".$this->tables['used_tags']." paut ON pait.numId = paut.numId) 
     1596 
     1597            WHERE (paut.tagId = 'xmp.dc:subject' OR 
     1598                   paut.tagId = 'xmp.digiKam:tagsList' OR 
     1599                   paut.tagId = 'iptc.Keywords');"; 
     1600      $result=pwg_query($sql); 
     1601      if($result) 
     1602      { 
     1603        while($row=pwg_db_fetch_assoc($result)) 
     1604        { 
     1605          if(preg_match('/^a:\d+:{/', $row['value'])) 
     1606          { 
     1607            /* 
     1608             *  if value is a serialized string, unserialize and process it 
     1609             */ 
     1610            $tmp=unserialize($row['value']); 
     1611            foreach($tmp['values'] as $val) 
     1612            { 
     1613              $keywordsList[]="('".mysql_escape_string($val)."', ".$row['imageId'].")"; 
     1614            } 
     1615          } 
     1616          else 
     1617          { 
     1618            $keywordsList[]="('".mysql_escape_string($row['value'])."', ".$row['imageId'].")"; 
     1619          } 
     1620        } 
     1621        $sql="CREATE TEMPORARY TABLE amd_temp_tags ( 
     1622                `value` CHAR(255) default '', 
     1623                `imageId` mediumint(8) unsigned NOT NULL default '0', 
     1624                PRIMARY KEY  USING BTREE (`value`,`imageId`) 
     1625              ) CHARACTER SET utf8 COLLATE utf8_general_ci;"; 
     1626        if(pwg_query($sql)) 
     1627        { 
     1628          $sql="INSERT IGNORE INTO amd_temp_tags 
     1629            VALUES ".implode(',', $keywordsList); 
     1630          if(pwg_query($sql)) 
     1631          { 
     1632            foreach($keywords as $key => $val) 
     1633            { 
     1634              $keywords[$key]="(att.value LIKE '".mysql_escape_string($val)."')"; 
     1635            } 
     1636            /* 
     1637             * 2/ join temp table with piwigo tags table, found the keywords 
     1638             *    that don't have a corresponding keyword 
     1639             */ 
     1640            $sql="SELECT DISTINCT att.value 
     1641                  FROM amd_temp_tags att LEFT JOIN ".TAGS_TABLE." ptt ON att.value = ptt.name 
     1642                  WHERE ptt.id IS NULL 
     1643                    AND".implode(' OR ', $keywords); 
     1644            $result=pwg_query($sql); 
     1645            if($result) 
     1646            { 
     1647              $sql=array(); 
     1648              while($row=pwg_db_fetch_assoc($result)) 
     1649              { 
     1650                $sql[]="('', '".mysql_escape_string($row['value'])."', '".mysql_escape_string(str2url($row['value']))."')"; 
     1651              } 
     1652              if(count($sql)>0) 
     1653              { 
     1654                $sql="INSERT INTO ".TAGS_TABLE." VALUES ".implode(',', $sql); 
     1655                pwg_query($sql); 
     1656              } 
     1657            } 
     1658 
     1659            /* 
     1660             * 3/ join temp table with piwigo tags table, associate piwigo tagId 
     1661             *    to the keywords (at this step, all keyword can be associated 
     1662             *    with a piwigo tagId) 
     1663             */ 
     1664            $sql="INSERT IGNORE INTO ".IMAGE_TAG_TABLE." 
     1665                    SELECT DISTINCT att.imageId, ptt.id 
     1666                    FROM amd_temp_tags att LEFT JOIN ".TAGS_TABLE." ptt ON att.value = ptt.name 
     1667                    WHERE ".implode(' OR ', $keywords); 
     1668            $result=pwg_query($sql); 
     1669            $returned='ok'; 
     1670          } 
     1671        } 
     1672      } 
     1673 
     1674      return($returned); 
     1675    } 
     1676 
     1677 
     1678    /** 
    14651679     * set value(s) for option(s) 
    14661680     * 
  • extensions/AMetaData/amd_root.class.inc.php

    r6920 r6950  
    284284          //if($sqlInsert!="") $sqlInsert.=", "; 
    285285          //$sqlInsert.="($imageId, '$numId', '".addslashes($value)."')"; 
    286           $massInsert[]="('$imageId', '$numId', '".addslashes($value)."') "; 
     286          $massInsert[]="('$imageId', '$numId', '".mysql_escape_string($value)."') "; 
    287287        } 
    288288      } 
  • extensions/AMetaData/amd_version.inc.php

    r6722 r6950  
    1717  if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    1818 
    19   define('AMD_VERSION',  '0.5.0'); 
    20   define('AMD_VERSION2', '00.05.00'); 
     19  define('AMD_VERSION',  '0.5.1'); 
     20  define('AMD_VERSION2', '00.05.01'); 
    2121?> 
  • extensions/AMetaData/language/fr_FR/plugin.lang.php

    r6919 r6950  
    286286 
    287287 
     288$lang['g003_tags']="Tags"; 
     289$lang['g003_number_of_keywords']="Nombre de mots-clefs :"; 
     290$lang['g003_keyword']="Mot-clef"; 
     291$lang['g003_tag_in_piwigo']="Présent dans Piwigo"; 
     292$lang['g003_num_of_pictures']="Nombre de photos"; 
     293$lang['g003_num_of_pictures_already_tagged']="Nombre de photos déjà taggées"; 
     294$lang['g003_convert_ok']="La conversion s'est correctement effectuée"; 
     295$lang['g003_convert_keywords_and_apply']="Convertir"; 
     296 
     297 
     298$lang['g003_tags_page_help']="Cette fonctionnalité effectue une extraction des mots-clefs présents dans les métadonnées de vos photos et vous permet de les convertir en [i]Tags[/i]. 
     299Les photos pour lesquelles les mots-clefs ont déjà été convertis et associés n'apparaissent pas : seuls les mots-clefs des photos pour lesquelles une conversion et une association sont possibles sont proposés."; 
     300 
     301$lang['g003_search_page_help']="Il est possible d'effectuer diverses recherches sur le contenu des métadonnées, des plus simples au plus complexes : ajoutez des critères, et combinez-les par glisser/déposer."; 
     302 
     303$lang['g003_personnal_page_help']="Il est possible de construire très facilement vos propres métadonnées à partir des métadonnées existantes. 
     304[ul] 
     305[li]Ajoutez une nouvelles métadonnée[/li] 
     306[li]Renseignez ses propriétés[/li] 
     307[li]Ajoutez des règles de gestion et combinez-les au besoin par glisser/déposer[/li] 
     308[/ul]"; 
     309 
     310$lang['g003_select_page_help']="Seules les métadonnées sélectionnées ici sont disponibles dans les autres interfaces de paramétrage : ceci permet de réduire la liste des métadonnées à celles qui vous semblent les plus pertinentes pour votre usage. 
     311La sélection est prise en compte immédiatement (il n'est pas nécessaire de la valider)."; 
     312 
     313 
     314$lang['g003_display_page_help']="Les métadonnées affichées avec la photo peuvent être triées et regroupées. 
     315Par défaut, seul le groupe [i]".$lang['g003_default_group_name']."[/i] est disponible, mais il est possible d'en créer autant que nécessaire ([i]IPTC[/i], [i]Géolocalisation[/i], ...). 
     316[ul] 
     317[li]Créez les groupes de métadonnées selon vos besoins[/li] 
     318[li]Ajoutez-y les métadonnées à afficher[/li] 
     319[li]Au sein d'un groupe, triez l'ordre d'affichage des métadonnées par glisser/déposer[/li] 
     320[li]Triez l'ordre d'affichage des groupes par glisser/déposer[/li] 
     321[/ul] 
     322Sélections&tris sont pris en compte immédiatement (il n'est pas nécessaire de les valider)."; 
     323 
     324 
    288325/** ---------------------------------------------------------------------------- 
    289326 * removed keys from releases 0.5.0/0.5.1 
  • extensions/AMetaData/main.inc.php

    r6919 r6950  
    22/* 
    33Plugin Name: Advanced MetaData 
    4 Version: 0.5.0 
     4Version: 0.5.1 
    55Description: An advanced metadata manager 
    66Plugin URI: http://piwigo.org/ext/extension_view.php?eid=364 
     
    2424| 0.0     | 2010/01/21 | * start coding 
    2525|         |            | 
     26|         |            | 
    2627| 0.1b    | 2010/03/21 | * beta release 
     28|         |            | 
    2729|         |            | 
    2830| 0.2b    | 2010/03/23 | * beta release 
    2931|         |            | 
     32|         |            | 
    3033| 0.3b    | 2010/04/11 | * beta release 
    3134|         |            | 
     35|         |            | 
    3236| 0.4.0   | 2010/04/24 | * release for Piwigo 2.1 
     37|         |            | 
    3338|         |            | * uses some GPC 3.1.0 functions 
     39|         |            | 
    3440|         |            | * optimize ajax request to fill the metadata database 
     41|         |            | 
    3542|         |            | * replace all the 'mysql_*' functions with 'pwg_db_*' 
    3643|         |            |   functions 
     44|         |            | 
    3745|         |            | * update some html/css 
    3846|         |            | 
    39 | 0.5.0   | 2010/07/24 | * release 0.5.0 not published, features are reported in 
    40 |         |            |   the release 0.5.1 
     47|         |            | 
     48| 0.5.0   | 2010/07/24 | * release 0.5.0 was not published, implemented features 
     49|         |            |   are reported in the release 0.5.1 
     50|         |            | 
    4151|         |            | 
    4252| 0.5.1   | 2010/09/12 | * update to the JpegMetadata class 1.0.1 to fix the 
    4353|         |            |   mantis bugs&features 1686, 1718 and 1719 
     54|         |            | 
    4455|         |            | * mantis : bug 1686 
    4556|         |            |   . Picture analysis finish with an Error 500 or with a 
    4657|         |            |     problem of memory limit 
     58|         |            | 
    4759|         |            | * mantis : feature 1719 
    4860|         |            |   . Coding a DateTime class 
     61|         |            | 
    4962|         |            | * mantis : feature 1718 
    5063|         |            |   . Make test images lighter 
     
    5265|         |            |     JpegMetadata class was to heavy ; the file size has 
    5366|         |            |     been reduced from 9Mb to 230Kb 
     67|         |            | 
    5468|         |            | * mantis : feature 1688 
    5569|         |            |   . Improve performance when the database is filled 
    5670|         |            |     each time a page is displayed (now using an ajax 
    5771|         |            |     call) 
     72|         |            | 
    5873|         |            | * mantis : feature 1692 
    5974|         |            |   . Add possibility for user to build their own "magic" 
    6075|         |            |     tags 
     76|         |            | 
    6177|         |            | * mantis : feature 1777 
    6278|         |            |   . Weight of the metadata database can becomes very 
    6379|         |            |     heavy 
     80|         |            | 
    6481|         |            | * mantis : feature 1691 
    6582|         |            |   . Add possibility to search picture by metadata 
    6683|         |            |     properties 
     84|         |            | 
     85|         |            | * mantis bug:1826 
     86|         |            |   . digiKam XMP tags are not recognized 
     87|         |            | 
    6788|         |            | * mantis : feature 1846 
    6889|         |            |   . Read the metadata in the HD picture 
     90|         |            | 
    6991|         |            | * mantis : feature 1857 
    7092|         |            |   . Implement a basic and an advanced interface mode 
     93|         |            | 
     94|         |            | * mantis : feature 1858 
     95|         |            |   . Ability to import tags from picture to piwigo tags 
     96|         |            | 
     97|         |            | * mantis bug:1859 
     98|         |            |   . JpegMetadata class can't manage multiple IPTC keywords 
     99|         |            |     keywords 
     100|         |            | 
     101|         |            | * mantis bug:1861 
     102|         |            |   . Accentued chars from ISO-8859-1 charset are not 
     103|         |            |     recognized 
     104|         |            | 
    71105|         |            | * ajax management entirely rewritted 
     106|         |            | 
    72107|         |            | * user interface reviewed 
     108|         |            | 
    73109|         |            | * add some triggers events when picture metadata are 
    74110|         |            |   loaded in the picture.php page 
    75111|         |            |   . amd_jpegMD_loaded 
    76112|         |            |   . amd_jpegMD_userDefinedValues_built 
     113|         |            | 
     114|         |            | * mantis : feature 1858 
     115|         |            |   . Ability to import tags from picture to piwigo tags 
     116|         |            | 
    77117|         |            | 
    78118|         |            | 
Note: See TracChangeset for help on using the changeset viewer.