4images Forum & Community

4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: auftrip on July 10, 2012, 12:59:31 PM

Title: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: auftrip on July 10, 2012, 12:59:31 PM
Multiupload:

Hier ist jetzt eine verbesserte Version des Multiuploads http://www.4homepages.de/forum/index.php?topic=30224.0, den ich schonmal gepostet hab.

Der upload verkleinert die ausgewählten Bilder auf die gewünschte Größe bevor die Dateien hochgeladen werden, d. h. die user brauchen nicht mehr solage um ein Bild hochzuladen, da diese schon vor dem upload eine kleinere Dateigröße besitzen.


Fogende Verbesserungen: Es werden automatisch Thumbnails beim Hochladen erstellt und die Bild, Thumbnail, Größen, etc. können jetzt übers Admin Kontrolpanel eingestellt werden. Desweiteren kann man einstellen, ob die Bilder gleich direkt freigeschaltet werden , oder ob sie im Admin Kontrolpanel angezeigt werden, um freigeschaltet zu werden.


1.    Entpacke den Ordner multiupload2 von der rar Datei des Anhangs in folgendes Verzeichnis:
   includes/
        somit ergibt sich dann folgendes Verzeichnis:
        includes/multiupload2

2.   Erstelle ein neues html Dokument mit dem Namen member_multiuploadform.html in folgendes       
        Verzeichnis:
   templates/your templates/

2.1   Füge folgenden code in das member_multiuploadform.html ein:

Code: [Select]
<?php
session_start();
$_SESSION["file_info"] = array();
?>

<script type="text/javascript">
var swfu;
window.onload = function () {
swfu = new SWFUpload({
// Backend Settings
upload_url: "multiupload_2.php",
post_params: {"PHPSESSID": "<?php echo session_id(); ?>" ,
"user_id" : "{user_id_upload_multi}" ,
"max_thumb_height" : "{max_thumb2_height}" ,
"max_thumb_width" : "{max_thumb2_width}" ,
"auto_thumbnail_quality" : "{auto_thumbnail2_quality}" ,
"thumbnail_proportions" : "{thumbnail_proportions}" ,
"direct_upload" : "{direct_upload}" ,
"cat_id" : "<?php echo $cat_id?>" },
// File Upload Settings
file_size_limit : "10 MB",
file_types : "*.jpg;*.png",
file_types_description : "JPG Images; PNG Image",
file_upload_limit : 0,

// Event Handler Settings - these functions as defined in Handlers.js
//  The handlers are not part of SWFUpload but are part of my website and control how
//  my website reacts to the SWFUpload events.
swfupload_preload_handler : preLoad,
swfupload_load_failed_handler : loadFailed,
file_queue_error_handler : fileQueueError,
file_dialog_complete_handler : fileDialogComplete,
upload_progress_handler : uploadProgress,
upload_error_handler : uploadError,
upload_success_handler : uploadSuccess,
upload_complete_handler : uploadComplete,
queue_complete_handler : queueComplete,

// Button Settings
button_image_url : "./includes/multiupload2/images/SmallSpyGlassWithTransperancy_17x18.png",
button_placeholder_id : "spanButtonPlaceholder",
button_width: 200,
button_height: 18,
button_text : '<span class="button">Durchsuchen &amp; Hochladen</span>',
button_text_style : '.button { font-family: Helvetica, Arial, sans-serif; font-size: 15pt; } .buttonSmall { font-size: 10pt; }',
button_text_top_padding: 0,
button_text_left_padding: 18,
button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
button_cursor: SWFUpload.CURSOR.HAND,

// Flash Settings
flash_url : "./includes/multiupload2/swfupload/swfupload.swf",
flash9_url : "./includes/multiupload2/swfupload/swfupload_fp9.swf",

custom_settings : {
upload_target : "divFileProgressContainer",
max_image_height: "{max_image2_height}",
max_image_width: "{max_image2_width}",
image_quality: "{image_multi_quality}",
cat_id: "<?php echo $cat_id?>",
direct_upload: "{direct_upload}"
},

// Debug Settings
debug: false
});
};
</script>
<div id="content">
<br />
  <table width="100%" border="0" cellspacing="0" cellpadding="1">
    <tr>
      <td valign="top" class="head1">
        <table width="100%" border="0" bordercolor="#0066ff" cellpadding="4" cellspacing="0">
          <tr>
            <td colspan="2" valign="top" class="head1">{lang_user_upload_multi}</td>
          </tr>
          <tr>
            <td width="50%" class="row1"><b>{lang_user_current_cat}</b></td>
            <td width="50%" class="row1"><div style="padding-left: 6px;"><b>{cat_name}</b></div></td>
          </tr>
          <tr>
          <form onsubmit="if (cat_id.options[cat_id.selectedIndex].value==0){ alert('{cat_name_required}'); return false;};" method="get" name="jumpbox" action="{url_member}">
            <td width="50%" class="row2"><b>{lang_user_upload_multi_other_cat}</b></td>
            <td width="50%" class="row2"><input type="hidden" name="action" value="multiuploadform">{upload_dropdown_multi}<input type="submit" value="{lang_go}" class="button" /></td>
          </form>
          </tr>
          <tr>
          <form>
            <td colspan="2" class="row1"><div align="center"><div style="width: 200px; height: 22px; border: solid 1px #7FAAFF; background-color: #C5D9FF; padding: 2px;"><span id="spanButtonPlaceholder"></span></div></div></td>
      </form>
          </tr>
          <tr>
          <td colspan="2" class="row2"><div align="center"><div id="divFileProgressContainer"></div></div></td>
      </tr>
          <tr>          
          <td colspan="2" class="row1"><div align="center"><div id="divStatus"></div></div></td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
<br />
<div id="thumbnails" style="width: 800px;">
<?php
// Read the files from the saved images folder
$dir = new DirectoryIterator("data/thumbnails/$cat_id");
foreach ($dir as $fileinfo) {
if (!$fileinfo->isDot() && $fileinfo->isFile()) {
echo '<img style="margin: 5px; vertical-align: middle;" src="data/thumbnails/'.$cat_id.'/' $fileinfo->getFilename() . '" />';
}
}
        
?>

</div>
</div>

3.   Öffne lang/your lang/main.php und such nach:

   $lang['new_upload_validate_desc'] = "Nach Überprüfung durch einen Administrator wird Ihr Bild freigeschaltet.";

   füg danach folgendes ein:

//-----------------------------------------------------
//--- Image Upload Multi ----------------------
//-----------------------------------------------------
$lang['user_upload_multi'] = "Bilder Upload";
$lang['user_current_cat'] = "Lade in folgendes Album Bilder hoch:";
$lang['user_upload_multi_other_cat'] = "Oder wähle ein anderes Album aus:";

4.   öffne lang/your lang admin.php und such nach:

   $setting['auto_thumbnail_quality'] = "Bild-Qualität des erstellten Thumbnails<br /><span class=\"smalltext\">von 0 bis 100</span>";

   füg folgendes danach ein:

   
/*-- Setting-Group 10 --*/
$setting_group[10]="Multiupload Einstellungen";
$setting['max_thumb2_width'] = "Maximale Breite der Thumbnail-Bilder in Pixel";
$setting['max_thumb2_height'] = "Maximale Höhe der Thumbnail-Bilder in Pixel";
$setting['max_image2_width'] = "Maximale Breite der Bilder in Pixel";
$setting['max_image2_height'] = "Maximale Höhe der Bilder in Pixel";
$setting['auto_thumbnail_resize_type2'] = "Proportionen";
$auto_thumbnail_resize_type2_optionlist = array(
  "1" => "Proportional verkleinern",
  "2" => "Quadratisch verkleinern",
);
$setting['auto_thumbnail2_quality'] = "Bild-Qualität des erstellten Thumbnails<br /><span class=

\"smalltext\">von 0 bis 100</span>";
$setting['image_multi_quality'] = "Bild-Qualität der erstellten Bilder<br /><span class=\"smalltext\">von 0

bis 100</span>";

5.   Öffne templates/your templates/categories.html
   such nach:

   {upload_button}

   füg fogendes danach ein:
   
   {upload_button_multi}

6.    Öffne categories.php und such nach:

   if (!check_permission("auth_upload", $cat_id)) {
  $upload_url = "";
  $upload_button = "<img src=\"".get_gallery_image("upload_off.gif")."\" border=\"0\" alt=\"\" />";

   füg folgendes danach ein:

   $upload_url_multi = "";
  $upload_button_multi = "<img src=\"".get_gallery_image("multiupload_off.gif")."\" border=\"0\" alt=\"\" />";

6.1    such nach:

   $upload_url = $site_sess->url(ROOT_PATH."member.php?action=uploadform&amp;".URL_CAT_ID."=".$cat_id);
  $upload_button = "<a href=\"".$upload_url."\"><img src=\"".get_gallery_image("upload.gif")."\" border=\"0\" alt=\"\" /></a>";

   für folgendes danach ein:

   $upload_url_multi = $site_sess->url(ROOT_PATH."member.php?action=multiuploadform&amp;".URL_CAT_ID."=".$cat_id);
  $upload_button_multi = "<a href=\"".$upload_url_multi."\"><img src=\"".get_gallery_image("multiupload.gif")."\" border=\"0\" alt=\"\" /></a>";

6.2   such nach:

     "upload_url" => $upload_url,
  "upload_button" => $upload_button,

   füg folgendes danach ein:

   "upload_url_multi" => $upload_url_multi,
  "upload_button_multi" => $upload_button_multi,

7.   öffne member.php und such nach:

   $content = $site_template->parse_template("member_uploadform");
}
   füg fogendes danach ein:

   
Code: [Select]
if ($action == "multiuploadform") {
  if ($cat_id != 0 && (!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_id, 1).$config['category_separator'];
  }
  $txt_clickstream .= $lang['user_upload'];

  if (!$sendprocess) {
    $remote_media_file = "";
    $remote_thumb_file = "";
    $image_name = "";
    $image_description = "";
    $image_keywords = "";
    $image_download_url = "";
    $image_allow_comments = 1;
  }
  

  if (check_permission("auth_directupload", $cat_id)) {
  $direct_upload = "1";
  }
  else {
  $direct_upload = "0";
  }

  $site_template->register_vars(array(
    "cat_id" => $cat_id,
/*
  MOD UPLOAD CATEGORIES DROPDOWN
  ORIGINAL LINE:
    "cat_name" => ($cat_id != 0) ? format_text($cat_cache[$cat_id]['cat_name'], 2) : get_category_dropdown($cat_id),
*/
/*
  MOD UPLOAD CATEGORIES DROPDOWN
  BEGIN REPLACE
*/
"cat_name" => ($cat_id != 0) ? format_text($cat_cache[$cat_id]['cat_name'], 2) : get_category_dropdown($cat_id),
    "upload_dropdown_multi" => get_category_dropdown_upload($cat_id),
//    "cat_name" => ($cat_id != 0 && (!isset($HTTP_POST_VARS['showdropdown']))) ? format_text($cat_cache[$cat_id]['cat_name'], 2) : get_category_dropdown($cat_id)."<input type=\"hidden\" name=\"showdropdown\" value=\"1\">",
    "cat_name_required" => addslashes(preg_replace("/".$site_template->start."field_name".$site_template->end."/siU", str_replace(":", "", $lang['category']), $lang['field_required'])),
/*
  MOD UPLOAD CATEGORIES DROPDOWN
  END REPLACE
*/
"lang_user_upload_multi" => $lang['user_upload_multi'],
"lang_user_current_cat" => $lang['user_current_cat'],
"lang_user_upload_multi_other_cat" => $lang['user_upload_multi_other_cat'],
"direct_upload" => $direct_upload,
"image_multi_quality" => $config['image_multi_quality'],
"thumbnail_proportions" => $config['auto_thumbnail_resize_type2'],
"auto_thumbnail2_quality" => $config['auto_thumbnail2_quality'],
"user_id_upload_multi" => $user_info['user_id'],
"max_image2_width" => $config['max_image2_width'],
"max_image2_height" => $config['max_image2_height'],
"max_thumb2_width" => $config['max_thumb2_width'],
"max_thumb2_height" => $config['max_thumb2_height']
  ));

  $content = $site_template->parse_template("member_multiuploadform");
}

8.   kopier die Datei multiupload_2.php und thumbnail.php von der rar Datei in dein root(Haupt)    Verzeichnis.

9.   Öffne includes/functions.php und füg vor ?> folgendes ein:

/*
  MOD UPLOAD CATEGORIES DROPDOWN
  BEGIN INSERT
*/
function get_category_dropdown_upload_bits($cat_id = 0, $cid = 0, $depth = 1)
{
  global $site_db, $drop_down_cat_cache, $cat_cache, $config;

  if (!isset($drop_down_cat_cache[$cid]))
  {
    return "";
  }
  $category_list = "";
  foreach ($drop_down_cat_cache[$cid] as $key => $category_id)
  {
    if (check_permission("auth_viewcat", $category_id))
    {
      if (check_permission("auth_upload", $category_id))
      {
        $disable = 0;
      }
      else
      {
        $disable = 1;
      }
      $category_list .= "<option value=\"".(($disable) ? 0 : $category_id)."\"";
      if ($cat_id == $category_id)
      {
        $category_list .= " selected=\"selected\"";
      }
      if ($disable)
      {
        if (($cat_cache[$category_id]['cat_parent_id'] == 0))
        {
          $category_list .= " class=\"dropdowndisable\""; //upload not avalable and this is a main category
        }
        else
        {
          $category_list .= " class=\"dropdowndisable\""; //upload not avalable
        }
      }
      else
      {
        if (($cat_cache[$category_id]['cat_parent_id'] == 0))
        {
//          $category_list .= " class=\"dropdownmarker\""; //upload avalable and this is a main category
        }
        else
        {
//        $category_list .= " class=\"dropdownok\""; //upload avalable
        }
      }

//      $category_list .= ">".(($disable) ? "- " : "+ ");
      $category_list .= ">";
      if ($depth > 1)
      {
        $category_list .= str_repeat("--", $depth - 1)." ";
      }
      $category_list .= $cat_cache[$category_id]['cat_name']."</option>\n";
      $category_list .= get_category_dropdown_upload_bits($cat_id, $category_id, $depth + 1);
    }
  }
  unset($drop_down_cat_cache[$cid]);
  return $category_list;
}
function get_category_dropdown_upload($cat_id = 0)
{
  global $lang, $drop_down_cat_cache, $cat_parent_cache;
  $category = "\n<select name=\"cat_id\" class=\"categoryselect\">\n";
  $category .= "<option value=\"0\">".$lang['select_category']."</option>\n";
  $category .= "<option value=\"0\">-------------------------------</option>\n";
  $drop_down_cat_cache = array();
  $drop_down_cat_cache = $cat_parent_cache;
  $category .= get_category_dropdown_upload_bits($cat_id);
  $category .= "</select>\n";
  return $category;
}
/*
  MOD UPLOAD CATEGORIES DROPDOWN
  END INSERT
*/

10.   Öffne admin/settings.php und such nach:

   show_setting_row("auto_thumbnail_resize_type", "show_auto_thumbnail_resize_type_options");
  show_setting_row("auto_thumbnail_quality");

   füg folgendes danach ein:

     
  show_table_separator($setting_group[10], 2, "setting_group_10");
  show_setting_row("max_thumb2_width");
  show_setting_row("max_thumb2_height");
  show_setting_row("max_image2_width");
  show_setting_row("max_image2_height");
  show_setting_row("auto_thumbnail_resize_type2", "show_auto_thumbnail_resize_type2_options");
  show_setting_row("auto_thumbnail2_quality");
  show_setting_row("image_multi_quality");

10.1    such nach:

   function show_auto_thumbnail_resize_type_options($setting_name, $setting_value) {
  global $auto_thumbnail_resize_type_optionlist;
  foreach ($auto_thumbnail_resize_type_optionlist as $key => $val) {
    echo "<input type=\"radio\" name=\"setting_item[".$setting_name."]\" value=\"$key\"";
    if ($setting_value == $key) {
      echo " checked=\"checked\"";
    }
    echo "> ".$val."<br />";
  }
}

   füg folgendes danach ein:

   
function show_auto_thumbnail_resize_type2_options($setting_name, $setting_value) {
  global $auto_thumbnail_resize_type2_optionlist;
  foreach ($auto_thumbnail_resize_type2_optionlist as $key => $val) {
    echo "<input type=\"radio\" name=\"setting_item[".$setting_name."]\" value=\"$key\"";
    if ($setting_value == $key) {
      echo " checked=\"checked\"";
    }
    echo "> ".$val."<br />";
  }
}

11. Öffne fogendes Verzeichnis:
     templates/your templates/style.css und füg am Schluss folgendes ein:

/*--Mutliupload-----------------------------------------------*/
/*--Mutliupload-----------------------------------------------*/
/*--Mutliupload-----------------------------------------------*/
/*--Mutliupload-----------------------------------------------*/


/* -- Form Styles ------------------------------- */
form {
margin: 0;
padding: 0;
}



div.fieldset {
border:  1px solid #afe14c;
margin: 10px 0;
padding: 20px 10px;
}
div.fieldset span.legend {
position: relative;
background-color: #FFF;
padding: 3px;
top: -30px;
font: 700 14px Arial, Helvetica, sans-serif;
color: #73b304;
}

div.flash {
width: 375px;
margin: 10px 5px;
border-color: #004c75;

-moz-border-radius:5px 5px 5px 5px; /* Firefox */
-webkit-border-radius:5px 5px 5px 5px; /* Chrome, Safari */
-khtml-border-radius:5px 5px 5px 5px; /* Konqueror */
border-radius:5px 5px 5px 5px; /* CSS3 */

}

button,
input,
select,
textarea {
border-width: 1px;
margin-bottom: 10px;
padding: 2px 3px;
}



input[disabled]{ border: 1px solid #ccc } /* FF 2 Fix */


label {
width: 150px;
text-align: right;
display:block;
margin-right: 5px;
}

#btnSubmit { margin: 0 0 0 155px ; }

/* -- Table Styles ------------------------------- */
td {
font: 10pt Helvetica, Arial, sans-serif;
vertical-align: top;
}

.progressWrapper {
width: 375px;
overflow: hidden;
}

.progressContainer {
margin: 5px;
padding: 4px;
border: solid 1px #E8E8E8;
background-color: #F7F7F7;
overflow: hidden;
}
/* Message */
.message {
margin: 1em 0;
padding: 10px 20px;
border: solid 1px #FFDD99;
background-color: #FFFFCC;
overflow: hidden;
}
/* Error */
.red {
border: solid 1px #B50000;
background-color: #FFEBEB;
}

/* Current */
.green {
border: solid 1px #DDF0DD;
background-color: #EBFFEB;
}

/* Complete */
.blue {
border: solid 1px #CEE2F2;
background-color: #F0F5FF;
}

.progressName {
font-size: 8pt;
font-weight: 700;
color: #555;
width: 323px;
height: 14px;
text-align: left;
white-space: nowrap;
overflow: hidden;
}

.progressBarInProgress,
.progressBarComplete,
.progressBarError {
font-size: 0;
width: 0%;
height: 2px;
background-color: blue;
margin-top: 2px;
}

.progressBarComplete {
width: 100%;
background-color: green;
visibility: hidden;
}

.progressBarError {
width: 100%;
background-color: red;
visibility: hidden;
}

.progressBarStatus {
margin-top: 2px;
width: 337px;
font-size: 7pt;
font-family: Arial;
text-align: left;
white-space: nowrap;
}

a.progressCancel {
font-size: 0;
display: block;
height: 14px;
width: 14px;
background-image: url(../../includes/multiupload2/images/cancelbutton.gif);
background-repeat: no-repeat;
background-position: -14px 0px;
float: right;
}

a.progressCancel:hover {
background-position: 0px 0px;
}


/* -- SWFUpload Object Styles ------------------------------- */
.swfupload {
vertical-align: top;
}

12.   Öffne fogende Datei:
       templates/your templates/header.html und such nach

</head>
      
       füg davor fogendes ein:

<script type="text/javascript" src="includes/multiupload2/swfupload/swfupload.js"></script>
<script type="text/javascript" src="includes/multiupload2/swfupload/swfupload.queue.js"></script>
<script type="text/javascript" src="includes/multiupload2/js/handlers.js"></script>


13.   Lade die Datei multiupload.gif und multiupload_off.gif in folgendes Verzeichnis:
       templates/your templates/images/

14.    zum Schluss lade noch die install_multiupload.php in dein root(Haupt) Verzeichnis und öffne diese in einem Browser, danach wenn alles geklappt hat kannst du die Datei wieder von deinem Server löschen. Ich hoff ich hab jetzt nichts vergessen, bei Fragen einfach melden.

15. Edit: für umlaute im Bildnamen:

such in der multiupload_2.php:

Code: [Select]
$valid_chars_regex = '.A-Z0-9_ !@#$%^&+={}\[\]\',~`-';
$file_name_1 = preg_replace('/[^'.$valid_chars_regex.']|\.+$/i', "", basename($_FILES['Filedata']['name']));
$file_name_2 = preg_replace("/\.jpg$/i", "", $file_name_1);
$file_name_3 = str_replace(' ', '_', $file_name_2);
$file_name_4 = strtolower($file_name_3);

// 4images Name
$file_name_4images = $file_name_2;

$file_name = $file_name_4 . ".jpg";

und ersetz es mit:

Code: [Select]
$valid_chars_regex = '.A-Z0-9_ !@#$%^&+={}\[\]\',~`-';
$umlaute_1 = array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace_1 = array("ae","oe","ue","Ae","Oe","Ue","ss");
$file_name_0 = preg_replace($umlaute_1, $replace_1, ($_FILES['Filedata']['name']));  
$file_name_1 = preg_replace('/[^'.$valid_chars_regex.']|\.+$/i', "", basename($file_name_0));
$file_name_2 = preg_replace("/\.jpg$/i", "", $file_name_1);
$file_name_3 = str_replace(' ', '_', $file_name_2);
$file_name_4 = strtolower($file_name_3);
$umlaute_2 = array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace_2 = array("&auml;","&ouml;","&uuml;","&Auml;","&Ouml;","&Uuml;","&szlig;");
$file_name_5 = preg_replace($umlaute_2, $replace_2, ($_FILES['Filedata']['name']));
$file_name_6 = str_replace('_', ' ', $file_name_5);
$file_name_7 = preg_replace("/\.jpg$/i", "", $file_name_6);


// 4images Name
$file_name_4images = $file_name_7;


$file_name = $file_name_4 . ".jpg";
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: whwsammler on July 11, 2012, 07:26:15 PM
14.    zum Schluss lade noch die install_multiupload.php in dein root(Haupt) Verzeichnis und öffne diese in einem Browser, danach wenn alles geklappt hat kannst du die Datei wieder von deinem Server löschen. Ich hoff ich hab jetzt nichts vergessen, bei Fragen einfach melden.

Wo finde ich denn install_multiupload.php?

In der Rar Datei ist sie nicht enthalten

Gruß
Mathias
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: auftrip on July 11, 2012, 07:27:32 PM
entschuldigung hab ich vergessen, hab sie jetzt noch extra hochgeladen.

sag dann bitte einer bescheid ob alles funktioniert, damit ich weiß ob ich nix vergessen hab.


PS: Hab des ganze jetzt mal auf nem anderen Server getestet und jetzt müsste des alles so funktionieren :)
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Scarala on July 26, 2012, 09:11:27 AM
Entlich ein komplett funktionierender Multiuploader :)

Habs grad Installiert und konnte keine Fehler feststellen.
Lädt fehlerfrei hoch, Thumbnails werden korrekt erstellt, Dateinamen werden vernünftig gesetzt (schön wäre es noch, wenn das System Umlaute aus Dateinamen in den Bildnamen übernimmt).
Top MOD :)

Vielen Dank.
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Rembrandt on July 26, 2012, 12:30:13 PM
Hi!
Entlich ein komplett funktionierender Multiuploader :)
....
*lach* ->  http://www.4homepages.de/forum/index.php?topic=30855.0

Habs grad Installiert und konnte keine Fehler feststellen.
....(schön wäre es noch, wenn das System Umlaute aus Dateinamen in den Bildnamen übernimmt.
....
Wenn er funktioniert verschiebe ich diesen Mod, und wenn @auftrip das noch korrigierten können...

mfg Andi

Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Scarala on July 26, 2012, 12:35:55 PM
@Rembrandt Das posting das du da verlinkt hast is auch erst von gestern ;-) Allerdings ist dieses hier für mich mehr geeignet, da ich diese ganzen abfragen nach Bildname und so grad nicht drin haben wollte, die sollten automatisch ausm dateinamen entstehen und gar nicht auftauchen. Daher ist dieser Mod hier perfekt für mich ;)
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Rembrandt on July 26, 2012, 12:49:07 PM
....da ich diese ganzen abfragen nach Bildname und so grad nicht drin haben wollte, ...
das wird eh automatisch erstellt....
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Nosferatu on July 27, 2012, 07:44:06 PM
optimal wäre es wenn @Rembrandt und @auftrip ne DEMO Version machen könnten vom jeweiligen MOD ... so könnte man vorab schon testen wie welche MOD lauft.

Denn ich weiß grad nicht welchen mod ich installieren soll ^.^
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: MrAndrew on August 15, 2012, 12:10:43 PM
Notice: Undefined offset:  6 in C:\...\root\multiupload_2.php on line 85

Notice: Undefined offset:  5 in C:\...\root\multiupload_2.php on line 85

Notice: Undefined offset:  4 in C:\...\root\multiupload_2.php on line 85
FILEID:cimg0034

What`s wrong?
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: auftrip on August 24, 2012, 05:50:27 PM
Quote
Lädt fehlerfrei hoch, Thumbnails werden korrekt erstellt, Dateinamen werden vernünftig gesetzt (schön wäre es noch, wenn das System Umlaute aus Dateinamen in den Bildnamen übernimmt).

Sorry habs grad erst gelesen, war hier länger nichtmehr on. Ich schau mal ob ich die nächsten Tage dazu komme um dein Problem zu lösen.

Quote
Notice: Undefined offset:  6 in C:\...\root\multiupload_2.php on line 85

Notice: Undefined offset:  5 in C:\...\root\multiupload_2.php on line 85

Notice: Undefined offset:  4 in C:\...\root\multiupload_2.php on line 85
FILEID:cimg0034

What`s wrong?

Did you upload the install_multiupload.php in your root folder and opened it with your browser?
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: MrAndrew on August 25, 2012, 06:55:14 AM
Hello! Yes, i do!
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: auftrip on August 27, 2012, 03:30:07 PM
@Scarala

Quote
Lädt fehlerfrei hoch, Thumbnails werden korrekt erstellt, Dateinamen werden vernünftig gesetzt (schön wäre es noch, wenn das System Umlaute aus Dateinamen in den Bildnamen übernimmt).

such in der multiupload_2.php:

Code: [Select]
$valid_chars_regex = '.A-Z0-9_ !@#$%^&+={}\[\]\',~`-';
$file_name_1 = preg_replace('/[^'.$valid_chars_regex.']|\.+$/i', "", basename($_FILES['Filedata']['name']));
$file_name_2 = preg_replace("/\.jpg$/i", "", $file_name_1);
$file_name_3 = str_replace(' ', '_', $file_name_2);
$file_name_4 = strtolower($file_name_3);

// 4images Name
$file_name_4images = $file_name_2;

$file_name = $file_name_4 . ".jpg";

und ersetz es mit:

Code: [Select]
$valid_chars_regex = '.A-Z0-9_ !@#$%^&+={}\[\]\',~`-';
$umlaute_1 = array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace_1 = array("ae","oe","ue","Ae","Oe","Ue","ss");
$file_name_0 = preg_replace($umlaute_1, $replace_1, ($_FILES['Filedata']['name'])); 
$file_name_1 = preg_replace('/[^'.$valid_chars_regex.']|\.+$/i', "", basename($file_name_0));
$file_name_2 = preg_replace("/\.jpg$/i", "", $file_name_1);
$file_name_3 = str_replace(' ', '_', $file_name_2);
$file_name_4 = strtolower($file_name_3);
$umlaute_2 = array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace_2 = array("&auml;","&ouml;","&uuml;","&Auml;","&Ouml;","&Uuml;","&szlig;");
$file_name_5 = preg_replace($umlaute_2, $replace_2, ($_FILES['Filedata']['name']));
$file_name_6 = preg_replace("/\.jpg$/i", "", $file_name_5);


// 4images Name
$file_name_4images = $file_name_6;

$file_name = $file_name_4 . ".jpg";

so müsste des dann alles funktionieren

@ MrAndrew

Code: [Select]
Notice: Undefined offset:  6 in C:\...\root\multiupload_2.php on line 85
Notice: Undefined offset:  5 in C:\...\root\multiupload_2.php on line 85
Notice: Undefined offset:  4 in C:\...\root\multiupload_2.php on line 85
FILEID:cimg0034

could you check if there is an uploaded picture in your folder /data/media/category numer/...

and which browser do you have?

Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: ante226 on September 06, 2012, 11:24:14 AM
wo finde ich die einstellung wie groß die bilder sind ??? oder steht es in einer datei ???

für jede info dank bar

m-f-g
ant226
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Rembrandt on September 06, 2012, 03:13:21 PM
Hi!
wo finde ich die einstellung wie groß die bilder sind ??? oder steht es in einer datei ???
..

im ACP ?

mfg Andi

P.S.: ich glaube deine Tastatur ist defekt, "?" Taste scheint zu hängen.  :wink:
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: auftrip on September 06, 2012, 07:02:37 PM
@ante226
Quote
wo finde ich die einstellung wie groß die bilder sind ??? oder steht es in einer datei ???

im ACP unter Einstellungen --> [Multiupload Einstellungen]  
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: RutNet on September 14, 2012, 06:33:00 PM
Ich entschuldige mich, für deutsch, Sie könnten nicht vorsagen, ob man viel Verbannungen, nicht der Fotografien, und zwar der Verbannungen von der aussenstehenden Ressourcen mit Hilfe dieses Moduls beladen kann?
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: nobby on September 14, 2012, 07:50:27 PM
Hi,

then speak in your language.

Understand your statement probably none.

nobby
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: RutNet on September 14, 2012, 08:12:19 PM
Hi,

then speak in your language.

Understand your statement probably none.

nobby
maybe another mod could do that? it's very hard upload manual a big number photos
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Rembrandt on September 14, 2012, 08:25:20 PM
Welcome to the Foum!

we do not understand your problem, your first post no one understands.

mfg Andi
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: RutNet on September 14, 2012, 08:48:17 PM
Welcome to the Foum!

we do not understand your problem, your first post no one understands.

mfg Andi
i mean, can I use multi upload url links on foto from another sites on my?
возможна ли мультизагрузка ссылок на фото?
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: nobby on September 14, 2012, 08:56:51 PM
i mean, can I use multi upload url links on foto from another sites on my?

Я не думаю, что прямой связи не допускается.

nobby
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: mawenzi on September 14, 2012, 09:03:23 PM

maybe another mod could do that? it's very hard upload manual a big number photos


... for massive upload use FTP ... and this instructions ... http://www.4homepages.de/forum/index.php?topic=3080.0



i mean, can I use multi upload url links on foto from another sites on my?
возможна ли мультизагрузка ссылок на фото?


... no ... not this mod ...
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Scarala on October 01, 2012, 07:50:18 AM
Ich habe ein kleines Problem.

Bei Bildern, in deren Dateinamen Unterstriche vorkommen, werden diese nicht durch ein Leerzeichen ersetzt. Beim Bindestrich funktioniert das.

Wie kann ich das in den Code aufnehmen, das Unterstriche auch ersetzt werden?

Ich danke schon mal im voraus für Konstruktive vorschläge.
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: auftrip on October 09, 2012, 06:21:26 PM
@ Scarala
Quote
Bei Bildern, in deren Dateinamen Unterstriche vorkommen, werden diese nicht durch ein Leerzeichen ersetzt. Beim Bindestrich funktioniert das.

öffne die multiupload_2.php such :
Code: [Select]
$file_name_6 = preg_replace("/\.jpg$/i", "", $file_name_5);


// 4images Name
$file_name_4images = $file_name_6;

ersetz es mit:
Code: [Select]
$file_name_6 = str_replace('_', ' ', $file_name_5);
$file_name_7 = preg_replace("/\.jpg$/i", "", $file_name_6);


// 4images Name
$file_name_4images = $file_name_7;
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: respeckt on November 18, 2012, 07:43:16 PM
Hi,

mein Problem ist das ich zwar die Fotos hochladen und sehen kann, diese aber nicht zu der entsprechenden Kategorie hinzugefügt werden. Habt ihr eine Idee? Hab eine sauberer Neuinstallation vorgenommen. Könnt ihr das File einschränken bzw. den Codeschnipsl der dafür verantwortlich ist??

Vielen Dank


Edit:
Also die Files kann ich auf meinen Server finden unter:  /4images/data/media/1
Auf der Website steht aber: 0 Bilder in 2 Kategorien. Komisch! Irgendwo hab ich das wohl ein Copy Paste Fehler. Ich hoffe ihr habt ne Idee

Eine extra Frage wäre, wie ich das Skript Einstelle das es nicht auf 800x800 runterskaliert? In den Boardoptionenn wäre eigentlich 1024x1024 eingestellt!
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: BlackM on March 10, 2013, 12:43:38 PM
Hallo
habe alles genau nach Anleitung gemacht. Jetzt kommt im Admin php folgender Fehler

/* MOD UPLOAD CATEGORIES DROPDOWN BEGIN INSERT */ function get_category_dropdown_upload_bits($cat_id = 0, $cid = 0, $depth = 1) { global $site_db, $drop_down_cat_cache, $cat_cache, $config; if (!isset($drop_down_cat_cache[$cid])) { return ""; } $category_list = ""; foreach ($drop_down_cat_cache[$cid] as $key => $category_id) { if (check_permission("auth_viewcat", $category_id)) { if (check_permission("auth_upload", $category_id)) { $disable = 0; } else { $disable = 1; } $category_list .= "\n"; $category_list .= get_category_dropdown_upload_bits($cat_id, $category_id, $depth + 1); } } unset($drop_down_cat_cache[$cid]); return $category_list; } function get_category_dropdown_upload($cat_id = 0) { global $lang, $drop_down_cat_cache, $cat_parent_cache; $category = "\n\n"; $category .= "\n"; $category .= "\n"; $drop_down_cat_cache = array(); $drop_down_cat_cache = $cat_parent_cache; $category .= get_category_dropdown_upload_bits($cat_id); $category .= "\n"; return $category; } /* MOD UPLOAD CATEGORIES DROPDOWN END INSERT */
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w0101a1a/4images/includes/functions.php:82) in /www/htdocs/w0101a1a/4images/admin/admin_functions.php on line 179

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w0101a1a/4images/includes/functions.php:82) in /www/htdocs/w0101a1a/4images/admin/admin_functions.php on line 180

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w0101a1a/4images/includes/functions.php:82) in /www/htdocs/w0101a1a/4images/admin/admin_functions.php on line 181

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w0101a1a/4images/includes/functions.php:82) in /www/htdocs/w0101a1a/4images/admin/admin_functions.php on line 182
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: snuffel55 on July 15, 2013, 06:13:59 PM
Hallo,

habe auch den Mod installiert und uploaden funktioniert er problemlos. Leider sehe ich die Bilder auch nicht in den jeweiligen Kategorien, sonder nur um Multiuploader (wie auf den bildern im ersten Beitrag).
der Fehler liegt wohl  am eintragen in die Datenbank dort sind die Bilder nicht vorhanden. woran könnte das liegen??


MfG der Snuffel


*EDIT*

habe die Lösung gefunden,

in der multiupload_2.php wird beim Datenbankeintrag der Präfix nicht berücksichtigt.


Zeile 164 $sql = mysql_query("INSERT INTO 4images_images... muss geändert werden in $sql = mysql_query("INSERT INTO IHR_PRÄFIX_images und schon funktioniert es.
Zeile 173 ebenso
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: SolidSnake0308 on September 02, 2013, 12:29:32 AM
Nach Installation...Weiß. Komplett die Seite nicht mehr aufrufbar.

Deinstallation bzw. habe die Textstellen wieder entfernt... weiterhin weiß ?!


Was ist zu tun? Was hab ich falsch gemacht?

Edit: Habe wieder die Original Dateien rein und funzt wieder. Nun heißt es wieder nochmals zu versuchen.

Edit 2: Erneute Versuch. Seite geht. Leider "geht" dafür der Upload nicht. Denn folgender Fehler erscheint:
"Error Generating Resized Image Resizing: Error #2015"

Edit 3: Es stimmt wohl auch etwas nicht mit dem Aussehen:
(http://s14.directupload.net/images/130902/p64a8d9q.jpg) (http://www.directupload.net)

Was ist zu tun? Bitte um Hilfe.
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Wuebbide on June 25, 2017, 03:59:21 PM
Funktioniert einwandfrei  :D
Ich habe die Bild-Qualität auf 100% und trotzdem sind die Fotos nach dem upload unscharf.
Ebenfalls verschwindet die Exif info.

Kann ich irgend etwas machen, dass die Bilder schärfer werden?
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: nobby on June 25, 2017, 04:07:17 PM
Hallo,

versuche mal folgendes:

suche in der includes/constants.php
//define('CONVERT_IS_GD2', 0)

ersetze mit
define('CONVERT_IS_GD2', 1)


nobby
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Wuebbide on June 25, 2017, 11:11:12 PM
Danke dir - aber genau das habe ich schon gemacht
ist ein bisschen besser geworden, aber immer noch unscharf
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: nobby on June 26, 2017, 09:55:56 AM
Ok, dann läuft bei dir was anderes nicht richtig  :|

Schon mal ImagigMagick probiert?
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Scarala on June 10, 2023, 11:30:48 AM
Ich weiß das ist alles schon ganz schön lange her, aber ich bin gerade dabei meine Webseite wieder Aufzuarbeiten,
nachdem ich lange probleme hatte und keine Zeit diese zu Fixen.
Eines davon ist, das ich beim Laden des Multiupload-Form in der Browserkonsole den Error
Code: [Select]
SWFUpload is not defined
    at window.onload (
bekomme. Die SWF-Datei liegt im richtigen Pfad, hat ja auch alles mal funktioniert.
Ich weiß auch, das die meißten Browser heutzutage kein Flash mehr out of the Box unterstützen, aber selbst
mit entsprechendem Plugin z.B. im Chrome funktioniert das nicht.

Hat da jemand ne Idee?
Title: Re: [MOD] V1.0 Multiupload für user, multiple upload, imageresizer
Post by: Sunny C. on June 11, 2023, 02:10:57 PM
Ich glaube du wirst dabei nicht drumherumkommen, auf das Flash zu verzichten.

Das hier ist out-of-the-box und habe es nicht testen können.
Hier ist ein Beispiel für eine mögliche Implementierung mit der HTML5 File API und XMLHttpRequest.
Ich habe es selbst nicht testen können, vielleicht bekommst du es ja zum laufen:

Code: [Select]
<input type="file" id="fileInput" multiple>
<button id="uploadButton">Durchsuchen &amp; Hochladen</button>
<div id="progressContainer"></div>

<script>
  document.getElementById('uploadButton').addEventListener('click', function() {
    var files = document.getElementById('fileInput').files;
    var formData = new FormData();
   
    for (var i = 0; i < files.length; i++) {
      formData.append('file[]', files[i]);
    }
   
    formData.append('PHPSESSID', '<?php echo session_id(); ?>');
    formData.append('user_id', '{user_id_upload_multi}');
    formData.append('max_thumb_height', '{max_thumb2_height}');
    formData.append('max_thumb_width', '{max_thumb2_width}');
    formData.append('auto_thumbnail_quality', '{auto_thumbnail2_quality}');
    formData.append('thumbnail_proportions', '{thumbnail_proportions}');
    formData.append('direct_upload', '{direct_upload}');
    formData.append('cat_id', '<?php echo $cat_id?>');
   
    var xhr = new XMLHttpRequest();
   
    xhr.open('POST', 'multiupload_2.php', true);
   
    xhr.upload.onprogress = function(e) {
      if (e.lengthComputable) {
        var percent = (e.loaded / e.total) * 100;
        document.getElementById('progressContainer').innerHTML = percent + '% hochgeladen';
      }
    };
   
    xhr.onload = function() {
      if (xhr.status === 200) {
        // Upload erfolgreich
        alert('Upload abgeschlossen');
      } else {
        // Upload fehlgeschlagen
        alert('Fehler beim Hochladen');
      }
    };
   
    xhr.send(formData);
  });
</script>