Author Topic: [Mod] Upload Form Auto Fill with image drop down field  (Read 9092 times)

0 Members and 1 Guest are viewing this topic.

Rembrandt

  • Guest
[Mod] Upload Form Auto Fill with image drop down field
« on: August 04, 2013, 07:52:56 PM »
Choose a image name and the upload form is automatically filled.

1.) search in member.php:

if ($action == "uploadform") {

inser above:

if ($action == "autofill") {
  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'];

  
$image_id = (isset($HTTP_POST_VARS['autofill_image_id'])) ? un_htmlspecialchars(stripslashes(trim($HTTP_POST_VARS['autofill_image_id']))) : "";
   
  if(
$image_id){
    
$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 image_id = $image_id";
    
$image_row $site_db->query_firstrow($sql);
 
    
$site_template->register_vars(array(
      
"image_dropdown_field" => get_image_dropdown_field($cat_id$image_id),
      
"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_row['image_name'], 2),
      
"image_description" => format_text($image_row['image_description'], 2),
      
"image_keywords" => format_text($image_row['image_keywords'], 2),
      
"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 "if ($action == "uploadform") {"

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

insert below:

    
"image_dropdown_field" => get_image_dropdown_field($cat_id,$image_id),
    
"lang_auto_fill" => $lang['auto_fill'],


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

 $lang
['auto_fill'] = "Formular Automatisch Ausfüllen:<br><span class=\"smalltext\">Wähle einen Bildnamen um das Formular Automatisch auszufüllen.</span>";

(english)

$lang
['auto_fill'] = "Choose a image name and the upload form is automatically filled.";


3.) search in includes/function.php "?>" and insert above :

function get_image_dropdown_field($cat_id$image_id "") {
  global 
$site_db$lang;

  
$sql "SELECT image_id, cat_id, image_name, image_date, image_active
    FROM "
.IMAGES_TABLE.
    WHERE image_active = 1 AND cat_id NOT IN ("
.get_auth_cat_sql("auth_viewcat""NOTIN").")  AND cat_id = $cat_id
    ORDER BY image_date DESC
    "

  
$result $site_db->query($sql);
  
  
$image_dropdown "";
  
$image_dropdown .= "\n<select name=\"autofill_image_id\" onchange=\"if (this.options[this.selectedIndex].value != 0){ forms['autofill'].submit() }\" class=\"categoryselect\">\n";

  while (
$image_row $site_db->fetch_array($result)){
    
$image_dropdown .= "<option value=\"".$image_row['image_id']."\"";
    if(
$image_row['image_id'] == $image_id) {
      
$image_dropdown .= " selected=\"selected\"";
    }
    
$image_dropdown .= ">".format_text($image_row['image_name'], 2)."</option>\n";
  }
  
$image_dropdown .= "</select>\n";
  return 
$image_dropdown;
}


4.) search in templates your template/member_uploadform.html:
Code: [Select]
<form method="post" action="{url_member}" enctype="multipart/form-data" onsubmit="uploadbutton.disabled=true;">
insert above:
Code: [Select]
<form method="post" name="autofill" action="{url_member}">
  <input type="hidden" name="action" value="autofill" >
  {if cat_id}<input type="hidden" name="cat_id" value="{cat_id}" />{endif cat_id}
  <input type="hidden" name="image_name" value="{image_name}" />
  <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" width="240"><b>{lang_auto_fill}</b></td>
            <td class="row1">{image_dropdown_field}</td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</form>

mfg Andi
« Last Edit: August 17, 2013, 04:29:37 AM by Rembrandt »

Offline Jan-Lukas

  • Addicted member
  • ******
  • Posts: 1.289
    • View Profile
    • Discover the New World of Kindersurprise
Re: [Mod] Upload Form Auto Fill with image drop down field
« Reply #1 on: August 04, 2013, 08:39:08 PM »
Perfekt  :D

Danke
Danke Harald




Offline Loda

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
    • Fotosucht Schweiz
Re: [Mod] Upload Form Auto Fill with image drop down field
« Reply #2 on: August 04, 2013, 09:00:06 PM »
 :thumbup: :thumbup: :thumbup:
so hatte ich mir das gedacht! Prima! fettes Dankeschön!

Rembrandt

  • Guest
Re: [Mod] Upload Form Auto Fill with image drop down field
« Reply #3 on: August 04, 2013, 09:12:08 PM »
Kein Problem...  :)

Offline Jan-Lukas

  • Addicted member
  • ******
  • Posts: 1.289
    • View Profile
    • Discover the New World of Kindersurprise
Re: [Mod] Upload Form Auto Fill with image drop down field
« Reply #4 on: August 17, 2013, 12:18:49 AM »
@ Andy,
Bitte den Text in english abändern

$lang['auto_fill'] = "Choose a image name and the upload form is automatically filled.";

LG Harald
Danke Harald