Author Topic: [Mod] Upload Form Autofill  (Read 37673 times)

0 Members and 1 Guest are viewing this topic.

Rembrandt

  • Guest
[Mod] Upload Form Autofill
« on: August 01, 2013, 01:33:46 PM »
Hi!

The first database entry is found, is used.
In the code at the top (step 1.)), you can specify the database field.

1.) search in member.php:

if ($action == "uploadform") {

insert above:

if ($action == "autofill") {
//******* Start Config *******
$searchfield "image_name"//Which database field to be searched
//******* End Config *********

  
if ($cat_id != && (!isset($cat_cache[$cat_id]) || !check_permission("auth_upload"$cat_id))) {
    
show_error_page($lang['no_permission']);
    exit;
  }

  
$txt_clickstream "";
  if (
$cat_id && isset($cat_cache[$cat_id])) {
    
$txt_clickstream .= get_category_path($cat_id1).$config['category_separator'];
  }
  
$txt_clickstream .= $lang['user_upload'];

  if(!empty(
$HTTP_POST_VARS['image_autofill'])){
    
$image_autofill un_htmlspecialchars(stripslashes(trim($HTTP_POST_VARS['image_autofill'])));
    
$image_autofill addslashes($image_autofill);
    
$image_autofill str_replace('*''%'trim($image_autofill));
    
    
$additional_sql "";
    if (!empty(
$additional_image_fields)) {
      foreach (
$additional_image_fields as $key => $val) {
        
$additional_sql .= ", ".$key;
      }
    }

    
$sql "SELECT image_id, cat_id, user_id, image_name, image_description, image_keywords, image_active".$additional_sql."
            FROM "
.IMAGES_TABLE."
            WHERE  image_active=1 AND cat_id = 
$cat_id AND $searchfield LIKE'$image_autofill'";
    
$image_row $site_db->query_firstrow($sql);

    
$image_name = (isset($HTTP_POST_VARS['image_name'])) ? un_htmlspecialchars(stripslashes(trim($HTTP_POST_VARS['image_name']))) : $image_row['image_name'];
    
$image_description = (isset($HTTP_POST_VARS['image_description'])) ? un_htmlspecialchars(stripslashes(trim($HTTP_POST_VARS['image_description']))) : $image_row['image_description'];
    
$image_keywords = (isset($HTTP_POST_VARS['image_keywords'])) ? un_htmlspecialchars(stripslashes(trim($HTTP_POST_VARS['image_keywords']))) : $image_row['image_keywords'];
 
    
$site_template->register_vars(array(
     
"image_autofill" => ($image_row) ? un_htmlspecialchars(stripslashes(trim($HTTP_POST_VARS['image_autofill']))) : $lang['no_result'],
      
"cat_id" => $cat_id,
      
"cat_name" => ($cat_id != 0) ? format_text($cat_cache[$cat_id]['cat_name'], 2) : get_category_dropdown($cat_id),
      
"image_id" => $image_id,
      
"image_name" => format_text($image_name2),
      
"image_description" => format_text($image_description2),
      
"image_keywords" => format_text($image_keywords2),
      
"lang_auto_fill" => $lang['auto_fill'],
      
"lang_category" => $lang['category'],
      
"lang_user_upload" => $lang['user_upload'],
      
"lang_media_file" => $lang['media_file'],
      
"lang_thumb_file" => $lang['thumb_file'],
      
"lang_allowed_file_types" => $lang['allowed_mediatypes_desc'],
      
"allowed_media_types" => str_replace(",",", ",$config['allowed_mediatypes']),
      
"allowed_thumb_types" => "jpg, gif, png",
      
"lang_max_filesize" =>  $lang['max_filesize'],
      
"lang_max_imagewidth" => $lang['max_imagewidth'],
      
"lang_max_imageheight" => $lang['max_imageheight'],
      
"lang_image_name" => $lang['image_name'],
      
"lang_description" => $lang['description'],
      
"lang_keywords" => $lang['keywords_ext'],
      
"lang_allow_comments" => isset($lang['allow_comments']) ? $lang['allow_comments'] : "",
      
"lang_submit" => $lang['submit'],
      
"lang_reset" => $lang['reset'],
      
"lang_yes" => $lang['yes'],
      
"lang_no" => $lang['no'],
      
"lang_captcha" => $lang['captcha'],
      
"lang_captcha_desc" => $lang['captcha_desc'],
    ));

    if (!empty(
$additional_image_fields)) {
      
$additional_field_array = array();
      foreach (
$additional_image_fields as $key => $val) {
        if (
$val[1] == "radio") {
          
$value = (isset($HTTP_POST_VARS[$key])) ? intval($HTTP_POST_VARS[$key]) : $image_row[$key];
          if (
$value == 1) {
            
$additional_field_array[$key.'_yes'] = " checked=\"checked\"";
            
$additional_field_array[$key.'_no'] = "";
          }
          else {
            
$additional_field_array[$key.'_yes'] = "";
            
$additional_field_array[$key.'_no'] = " checked=\"checked\"";
          }
        }
        else {
          
$value = (isset($HTTP_POST_VARS[$key])) ? format_text(stripslashes(trim($HTTP_POST_VARS[$key]))) : $image_row[$key];
        }
        
$additional_field_array[$key] = $value;
        
$additional_field_array['lang_'.$key] = $val[0];
      }
      if (!empty(
$additional_field_array)) {
        
$site_template->register_vars($additional_field_array);
      }
    }
    
$content $site_template->parse_template("member_uploadform");
  }
  else{
    
$action "uploadform";
  }
}



1.1) search in section "$action == "uploadform"":

  $site_template
->register_vars(array(
    
"cat_id" => $cat_id,

and replace:

$site_template
->register_vars(array(
  
"lang_auto_fill" => $lang['auto_fill'],
  
"cat_id" => $cat_id,


2.) search in your templates/member_uploadform.html:
Code: [Select]
<form method="post" action="{url_member}" enctype="multipart/form-data" onsubmit="uploadbutton.disabled=true;">
insert above:
Code: [Select]
<script type="text/javascript" language="JavaScript">
  function loesche() {
    window.document.autofill.image_autofill.value = '';
  }
</script>
<form method="post" name="autofill" action="{url_member}" onsubmit="uploadbutton.disabled=true;">
  <input type="hidden" name="action" value="autofill" >
  {if cat_id}<input type="hidden" name="cat_id" value="{cat_id}" />{endif cat_id}
  <table width="100%" border="0" cellspacing="0" cellpadding="1">
    <tr>
      <td valign="top" class="head1">
        <table width="100%" border="0" cellpadding="4" cellspacing="0">
          <tr>
            <td class="row1"><b>{lang_auto_fill}</b></td>
            <td class="row1"><input type="text" name="image_autofill"  size="20" value="{image_autofill}" class="input" onfocus="loesche();"/><input type="submit" name="uploadbutton" value="{lang_submit}" class="button" /></td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</form>

3.) search in lang/your Lang/main.php "?>" and insert above:
(deutsch)

 $lang
['auto_fill'] = "Formular Automatisch Ausfüllen:<br><span class=\"smalltext\">Benutzen Sie * als Platzhalter.</span>";
 
$lang['no_result'] = "keinen Eintrag Gefunden";

(english)

 $lang
['auto_fill'] = "Upload Form Autofill:<br><span class=\"smalltext\">Use asterisks (*) as a wildcard for partial matches.</span>";
 
$lang['no_result'] = "no Entry";


mfg Andi

Offline senloel

  • Full Member
  • ***
  • Posts: 196
    • View Profile
Re: [Mod] Upload Form Autofill
« Reply #1 on: August 01, 2013, 02:12:30 PM »
Hm, negativ, funzt bei mir net.

Egal was ich eingeb, es kommt immer "No Entry".

Des weiteren ist jetzt plötzlich auch wieder das Captcha-Feld da, obwohl ich dieses eigentlich abgeschaltet hatte?

Rembrandt

  • Guest
Re: [Mod] Upload Form Autofill
« Reply #2 on: August 01, 2013, 02:23:55 PM »
Eines habe ich vergessen zu erwähnen, die suche ist Kategorie gebunden, wenn in der betreffenden Kategorie kein Bild mit dem entsprechen Eintrag vorhanden ist wird auch nichts gefunden.
Zum "Captcha-Feld" wenn du den entsprechend Eintrag in der config.php gemacht hast kann der sich nicht von selber ändern.

mfg Andi

Offline senloel

  • Full Member
  • ***
  • Posts: 196
    • View Profile
Re: [Mod] Upload Form Autofill
« Reply #3 on: August 01, 2013, 02:31:42 PM »
Funzt auch nicht, wenn ich es in der Kategorie hochlade, in der schon ein entsprechender Eintrag ist...

Muss man vielleicht noch iwo im Code die additional fields eintragen?

Rembrandt

  • Guest
Re: [Mod] Upload Form Autofill
« Reply #4 on: August 01, 2013, 02:39:05 PM »
...
Muss man vielleicht noch iwo im Code die additional fields eintragen?
Nein, wenn du "additional fields" hast dann werden die auch ausgelesen.
Ich nehme mal an das der Fehler in deinen Uploadformular, b.z.w. in der "db_filed_definitions.php" zu suchen ist.

Offline senloel

  • Full Member
  • ***
  • Posts: 196
    • View Profile
Re: [Mod] Upload Form Autofill
« Reply #5 on: August 01, 2013, 03:06:44 PM »
Wo könnte der Fehler denn genau liegen?

In der db_field_definitions.php stimmt alles.

Rembrandt

  • Guest
Re: [Mod] Upload Form Autofill
« Reply #6 on: August 01, 2013, 06:36:15 PM »
poste oder zip mal deine db_field_definitions.php und deine member_uploadform.html

Offline senloel

  • Full Member
  • ***
  • Posts: 196
    • View Profile
Re: [Mod] Upload Form Autofill
« Reply #7 on: August 01, 2013, 07:17:01 PM »
siehe Anhang ;)

Danke schonmal!

Rembrandt

  • Guest
Re: [Mod] Upload Form Autofill
« Reply #8 on: August 01, 2013, 07:41:48 PM »
Fehler finde ich keinen, versuche mal die SQL abfrage von den Mod mit diesen zu erstezen:

    print_R
($image_autofill."<br>");
    
    
$sql "SELECT image_id, cat_id, user_id, image_name, image_description, image_keywords, image_active".$additional_sql."
            FROM "
.IMAGES_TABLE."
            WHERE  image_active=1 AND cat_id = 
$cat_id AND $searchfield LIKE '$image_autofill'";
    
$image_row $site_db->query_firstrow($sql);

    
print_R($image_row);


ist nichts anderes als das links oben im Browserfenser in der ersten Zeile der Suchbegriff (den du eingegeben hast) stehen sollte, und in der zweiten Zeile (wenn etwas gefunden wurde) der Inhalt eines Array steht (von den gefundenen Bild).

Offline senloel

  • Full Member
  • ***
  • Posts: 196
    • View Profile
Re: [Mod] Upload Form Autofill
« Reply #9 on: August 01, 2013, 08:37:58 PM »
Geht leider immernoch nicht...

Es wird kein Inhalt gefunden, oben links steht nur immer wieder der eingegebene Suchbegriff.

Rembrandt

  • Guest
Re: [Mod] Upload Form Autofill
« Reply #10 on: August 01, 2013, 09:07:31 PM »
das Datenbank Feld im Code hast du definiert, dann nimm mal dass aus der SQL abfrage raus:
AND cat_id $cat_id 

Offline senloel

  • Full Member
  • ***
  • Posts: 196
    • View Profile
Re: [Mod] Upload Form Autofill
« Reply #11 on: August 01, 2013, 09:14:04 PM »
Sry, funzt immernoch nicht...

Offline Jan-Lukas

  • Addicted member
  • ******
  • Posts: 1.289
    • View Profile
    • Discover the New World of Kindersurprise
Re: [Mod] Upload Form Autofill
« Reply #12 on: August 01, 2013, 09:49:56 PM »
hi Andrè,
Das konnte ich jetzt nicht zulassen, das ein Mod von dir nicht funktionieren soll  :mrgreen:

OK, eingebaut (Testseite) und klappt
Was mir beim testen aufgefallen ist, das nur was angezeigt wird, wenn man den Bildnamen eingibt
Wenn ich Daten aus z.B. Schlüsselwörter eingebe, wird nichts gefunden.

LG Harald

Edit: Bitte auch im Multiupload einbauen
Edit 2
Captcha bleibt natürlich deaktiviert, also kein selbständiges aktivieren ;)
Edit 3
Platzhalter funzt auch

Danke Harald




Rembrandt

  • Guest
Re: [Mod] Upload Form Autofill
« Reply #13 on: August 01, 2013, 10:02:50 PM »
....Das konnte ich jetzt nicht zulassen, das ein Mod von dir nicht funktionieren soll  :mrgreen:
....
Danke fürs Testen!!
hast du auch wenn du es bei den Schlüsselwörter probierst, auch die Config dahingehend geändert?

if ($action == "autofill") {
//******* Start Config *******
$searchfield "image_name"//Which database field to be searched
//******* End Config *********

also
$searchfield Image_keywords;

wenn du nach Schlüsselwörter suchen lässt, wird nur das erste Wort gefunden und dann auch nur wenn du ein "*" hinten drann hängst.
Für diese "Suche" gelten die eingetragenen Schlüsselwörter als ein zusammen hängendes Wort inkl. der Beistriche.
Also z.b. eingetragene Schlüsselwörter "hihi,hoho,huhu" gilt als ein zusammen hängender String, möchtest du z.b. hoho finden mußt du im Formular *hoho* eingeben.

mfg Andi

Offline Jan-Lukas

  • Addicted member
  • ******
  • Posts: 1.289
    • View Profile
    • Discover the New World of Kindersurprise
Re: [Mod] Upload Form Autofill
« Reply #14 on: August 01, 2013, 10:47:26 PM »
Nö, aber wird gleich erledigt ;)
OK, das klappt, nur wenn ich mehrere searchfield in der config einfüge, klappt es nicht mehr, immer nur bei einem.
Ist das so gewollt ? dann klappt es natürlich ;)

LG
« Last Edit: August 01, 2013, 11:09:43 PM by Jan-Lukas »
Danke Harald