Author Topic: [Mod] EXIF V.1.7.6 Suchfelder erweiterung  (Read 20387 times)

0 Members and 1 Guest are viewing this topic.

Rembrandt

  • Guest
[Mod] EXIF V.1.7.6 Suchfelder erweiterung
« on: April 03, 2008, 10:01:56 AM »
Hi!

Diese Modifikation erweitert die Suchfelder der 4Images Galerie um die Exif einträge.
Diese Modifikation funktioniert nur wenn die Exifdaten in der Datenbank auch vorhanden sind,
wie das funktioniert wird in diesem Mod beschrieben:
http://www.4homepages.de/forum/index.php?topic=21017.0

Suchfeld erweiterung um folgende werte:
  Hersteller;
  Modell;
  Aufnahme,Datum und Zeit;
  ISO Wert;
  Belichtungszeit;
  Blende;
  Brennweite (Objektiv);
  Belichtungsabweichung;
  Blendenöffnungswert;
  Maximaler Blendenöffnungswert;
  Belichtungsmessung;
  Blitz;
  Belichtungsprogramm;
  Belichtungsmodus;
  Weißabgleich;
  GPS Breitengrad Referenz;
  GPS Breitengrad;
  GPS Längengrad Referenz";
  GPS Längengrad;
  GPS Höhe;
  GPS Blickrichtung;

Zu Modifizierenden Dateien:
  1.)SQL Table Word_Match;
  2.)includes/constants.php
  3.)includes/search_utils.php
  4.)lang/main.php
  5.)templates/dein_templates/search_form.html
  
1.)Erweitert die Felder SQL Datenbank Word_match,
   Aternativ könnt ihr die Datei SQL_Exif_Word_match.php aus dem Anhang herrunterladen (THX an Nicky !),
   und ins Hauptverzeichnis eurer Galerie kopieren und aufrufen,
   vorher die Datenbank sichern!!! (Diese Datei wurde nicht von mir getestet)
Code: [Select]
ALTER TABLE 4images_wordmatch
ADD `Make_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `Model_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `DateTimeOriginal_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `ISOSpeedRatings_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `ExposureTime_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `FNumber_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `FocalLength_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `ExposureBiasValue_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `ApertureValue_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `MaxApertureValue_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `MeteringMode_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `Flash_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `ExposureProgram_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `ExposureMode_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `WhiteBalance_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `GPSLatitude_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `GPSLatitudeRef_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `GPSLongitude_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `GPSLongitudeRef_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `GPSAltitude_match` TINYINT(1) DEFAULT '0' NOT NULL,
ADD `GPSTrack_match` TINYINT(1) DEFAULT '0' NOT NULL;
 
2.)sucht in includes/constants.php:
Code: [Select]
define('MIN_SEARCH_KEYWORD_LENGTH', 3);
define('MAX_SEARCH_KEYWORD_LENGTH', 25);

und ersetzt es mit:
Code: [Select]
define('MIN_SEARCH_KEYWORD_LENGTH', 1);
define('MAX_SEARCH_KEYWORD_LENGTH', 100);

3.)sucht in der includes/search_utils.php
Code: [Select]
$search_match_fields = array(
  "image_name" => "name_match",
  "image_description" => "desc_match",
  "image_keywords" => "keys_match"

und ersetzt es mit:
Code: [Select]
$search_match_fields = array(
  "image_name" => "name_match",
  "image_description" => "desc_match",
  "image_keywords" => "keys_match",
  "image_Make" => "Make_match",
  "image_Model" => "Model_match",
  "image_DateTimeOriginal" => "DateTimeOriginal_match",
  "image_ISOSpeedRatings" => "ISOSpeedRatings_match",
  "image_ExposureTime" => "ExposureTime_match",
  "image_FNumber" => "FNumber_match",
  "image_FocalLength" => "FocalLength_match",
  "image_ExposureBiasValue" => "ExposureBiasValue_match",
  "image_ApertureValue" => "ApertureValue_match",
  "image_MaxApertureValue" => "MaxApertureValue_match",
  "image_MeteringMode" => "MeteringMode_match",
  "image_Flash" => "Flash_match",
  "image_ExposureProgram" => "ExposureProgram_match",
  "image_ExposureMode" => "ExposureMode_match",
  "image_WhiteBalance" => "WhiteBalance_match",
  "image_GPSLatitude" => "GPSLatitude_match",
  "image_GPSLatitudeRef" => "GPSLatitudeRef_match",
  "image_GPSLongitude" => "GPSLongitude_match",
  "image_GPSLongitudeRef" => "GPSLongitudeRef_match",
  "image_GPSAltitude" => "GPSAltitude_match",
  "image_GPSTrack" => "GPSTrack_match"

4.)sucht in der lang/main.php:
Code: [Select]
$lang['or'] = "ODER";

und fügt danach ein:
Code: [Select]
$lang['image_Make_only'] = "Hersteller";
$lang['image_Model_only'] = "Modell";
$lang['image_DateTimeOriginal_only'] = "Aufnahme,Datum und Zeit";
$lang['image_ISOSpeedRatings_only'] = "ISO Wert";
$lang['image_ExposureTime_only'] = "Belichtungszeit";
$lang['image_FNumber_only'] = "Blende";
$lang['image_FocalLength_only'] = "Brennweite (Objektiv)";
$lang['image_ExposureBiasValue_only'] = "Belichtungsabweichung";
$lang['image_ApertureValue_only'] = "Blendenöffnungswert";
$lang['image_MaxApertureValue_only'] = "Max. Blendenöffnungswert";
$lang['image_MeteringMode_only'] = "Belichtungsmessung";
$lang['image_Flash_only'] = "Blitz";
$lang['image_ExposureProgram_only'] = "Belichtungsprogramm";
$lang['image_ExposureMode_only'] = "Belichtungsmodus";
$lang['image_WhiteBalance_only'] = "Weißabgleich";
$lang['image_GPSLatitudeRef_only'] = "GPS Breitengrad Referenz";
$lang['image_GPSLatitude_only'] = "GPS Breitengrad";
$lang['image_GPSLongitudeRef_only'] = "GPS Längengrad Referenz";
$lang['image_GPSLongitude_only'] = "GPS Längengrad";
$lang['image_GPSAltitude_only'] = "GPS Höhe";
$lang['image_GPSTrack_only'] = "GPS Blickrichtung";

5.)sucht in templates/dein_templates/search_form.html
Code: [Select]
<td nowrap="nowrap"><input type="radio" name="search_fields" value="all" checked="checked" /> {lang_all_fields}</td>
<td nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td nowrap="nowrap"><input type="radio" name="search_fields" value="image_name" /> {lang_name_only}</td>
</tr>
<tr>
<td nowrap="nowrap"><input type="radio" name="search_fields" value="image_description" /> {lang_description_only}</td>
<td nowrap="nowrap">&nbsp;</td>
<td nowrap="nowrap"><input type="radio" name="search_fields" value="image_keywords" /> {lang_keywords_only}</td>

und ersetzt es mit:
 (Ihr könnt den Code natürlich auch an jeder anderen Stelle in eurer Datei hinein kopieren.
 Als Beispiel habe ich die default templates/ search_form.html genommen)
Code: [Select]
<select name="search_fields" size="1">
<optgroup label="Allgemein">
<option value="all">{lang_all_fields}</option>
<option value="image_name">{lang_name_only}</option>
<option value="image_description">{lang_description_only}</option>
<option value="image_keywords">{lang_keywords_only}</option>
</optgroup>
<optgroup label="Exif">
<option value="image_Make">{lang_image_Make_only}</option>
<option value="image_Model">{lang_image_Model_only}</option>
<option value="image_DateTimeOriginal">{lang_image_DateTimeOriginal_only}</option>
<option value="image_ISOSpeedRatings">{lang_image_ISOSpeedRatings_only}</option>
<option value="image_ExposureTime">{lang_image_ExposureTime_only}</option>
<option value="image_FNumber">{lang_image_FNumber_only}</option>
<option value="image_FocalLength">{lang_image_FocalLength_only}</option>
<option value="image_ExposureBiasValue">{lang_image_ExposureBiasValue_only}</option>
<option value="image_ApertureValue">{lang_image_ApertureValue_only}</option>
<option value="image_MaxApertureValue">{lang_image_MaxApertureValue_only}</option>
<option value="image_MeteringMode">{lang_image_MeteringMode_only}</option>
<option value="image_Flash">{lang_image_Flash_only}</option>
<option value="image_ExposureProgram">{lang_image_ExposureProgram_only}</option>
<option value="image_ExposureMode">{lang_image_ExposureMode_only}</option>
<option value="image_WhiteBalance">{lang_image_WhiteBalance_only}</option>
<option value="image_GPSLatitude">{lang_image_GPSLatitude_only}</option>
<option value="image_GPSLatitudeRef">{lang_image_GPSLatitudeRef_only}</option>
<option value="image_GPSLongitude">{lang_image_GPSLongitude_only}</option>
<option value="image_GPSLongitudeRef">{lang_image_GPSLongitudeRef_only}</option>
<option value="image_GPSAltitude">{lang_image_GPSAltitude_only}</option>
<option value="image_GPSTrack">{lang_image_GPSTrack_only}</option>
</optgroup>
     </select>


6.)Zuletzt kopiert die im Anhang rebuild_search.php in euer admin/plugins verzeichnis und führt sie im ACP aus.
    Danach könnt ihr in eurer templates Suche die Bilder nach den einzelnen Exifdaten durchsuchen.

mfg Andi

  




« Last Edit: July 25, 2011, 07:23:18 PM by Rembrandt »

rinaldos

  • Guest
Re: EXIF V.1.7.6 Suchfelder erweiterung
« Reply #1 on: April 03, 2008, 10:46:16 AM »
:-)
Habe es gerade eingebaut und es klappt, sofern man natürlich die EXIF Daten in der Datenbank hat :-)

Gruß
Ingo

Rembrandt

  • Guest
Re: EXIF V.1.7.6 Suchfelder erweiterung
« Reply #2 on: April 03, 2008, 01:36:32 PM »
Hi!

@rinaldo thx fürs mutige testen  :lol:

@ivan, danke !
das muss funktionieren, den in der datenbank steht nur der dezimal wert drinnen und nicht sowie in der exif anzeige.
bei mir gehts ja auch  :)

hast ein testbild bei der hand, das ich online stellen kann?

mfg Andi

Rembrandt

  • Guest
Re: EXIF V.1.7.6 Suchfelder erweiterung
« Reply #3 on: April 06, 2008, 09:31:56 PM »
Abend!

ich wurde auf einen fehler in der dropdown auswahl der "templates/ search_form.html" hingewiesen, danke an dieser stelle an @ivan.

in der "search_form.html":
Code: [Select]
<option value="all">{lang_all_fields}</option>
<option value="name">{lang_name_only}</option>
<option value="description">{lang_description_only}</option>
<option value="keywords">{lang_keywords_only}</option>

sollte natürlich das hier stehn:
Code: [Select]
]<option value="all">{lang_all_fields}</option>
<option value="image_name">{lang_name_only}</option>
<option value="image_description">{lang_description_only}</option>
<option value="image_keywords">{lang_keywords_only}</option

ich habe das oben im ersten post korrigierter.

mfg Andi

Offline Nicky

  • Administrator
  • 4images Guru
  • *****
  • Posts: 3.195
    • View Profile
Re: EXIF V.1.7.6 Suchfelder erweiterung
« Reply #4 on: April 09, 2008, 10:39:12 AM »
hi.

in der SQL_Exif_Word_match.php
dies ändern

Code: [Select]
<form action="install_exif.php" name="form" method="post">

auf
Code: [Select]
<form action="SQL_Exif_Word_match.php" name="form" method="post">

sonnst werden die felder nicht erstellt :)
cheers
Nicky
Your first three "must do" before you ask a question ! (© by V@no)
- please read the Forum Rules ...
- please study the FAQ ...
- please try to Search for your answer ...

nicky.net 4 4images
Signature stolen from mawenzi

Rembrandt

  • Guest
Re: EXIF V.1.7.6 Suchfelder erweiterung
« Reply #5 on: April 09, 2008, 01:05:32 PM »
Hi!

@Nicky, gesagt getan.   :D

Danke für den hinweis!

mfg Andi