News:

Support for jDownloads 3 has been ended
Since 17 August 2023 Joomla.org has discontinued support for Joomla 3.x. Therefore, we will no longer offer official support for our Joomla 3 jDownloads version 3.9.x from January 2024.
Please update your website to the latest Joomla version (Joomla 4 or Joomla 5) as soon as possible. Afterwards, please update jDownloads to the latest published version. The longer you delay, the more difficult the upgrade process for your website is likely to be.

Main Menu
Support-Forum

Kein Dateidatum beim automatischen Upload

Started by woso, 12.09.2017 11:14:02

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

woso

Hallo zusammen, ich habe eine Website auf der einige hundert Dateien zum Download angeboten werden. Bei den Dateien handelt es sich um gepackte Seekarten für einen Seekartenplotter. Für den Nutzer ist das Erstellungsdatum der Datei - in diesem Fall der Zipdatei von Interesse das damit die Aktualität festgestellt werden kann.
Die Größe der Zipdatei iist in der Datenbank vorhanden und kann angezeigt werden. Das Dateidatum / Erstellungsdatum der hochgeladen ZIPdatei aber nicht.
jDownloads Version 3.2.55

[gelöscht durch Administrator]
with best regards  / mit freundlichen Grüßen
Wolfgang
  •  

Arno

#1
Hallo,
du musst in den jeweils aktivierten jD Layouts (vom Typ Download Details und/oder Files) die folgenden Platzhalter einfügen:  {file_date_title} {file_date}.

Beachte aber bitte, dass es für die Uploadfunktion nicht möglich ist das Dateidatum korrekt zu übernehmen. Hier ist immer das Datum des Uploads drin und nicht das Erstelldatum der Datei auf deinem PC. Wird dies benötigt, musst du es manuell eintragen.
Best Regards / Gruß
Arno
Please make a Donation for jDownloads and/or write a review on the Joomla! Extensions directory!
  •  

woso

Erst mal Danke für die schnelle Antwort.
<p>{files_title_begin}</p>
<div class="jd_files_title">{files_title_text}</div>
<p>{files_title_end}</p>
<div class="{featured_class} jd_download_title">
<div class="jd_left">{file_pic} {file_title} - ({hits_title} {hits_value})</div>
</div>
<div class="jd_clear"> </div>
<div class="jd_tags">{tags}</div>
<div class="jd_download_wrapper">
<div class="{featured_detail_class} jd_clear">
<div class="jd_words_wrapper">
<div class="jd_words_left" style="padding-left: 5px;"><span style="font-weight: 600;">{created_date_title}: </span>{created_date_value}</div>
<div class="jd_words_left" style="padding-left: 5px;">{file_date_title} {file_date}</div>
<div class="jd_words_left"><span style="font-weight: 600;">{release_title}: </span>{release}</div>
<div class="jd_words_left"><span style="font-weight: 600;">{license_title}: </span>{license_text}</div>
<div class="jd_words_left"><span style="font-weight: 600;">{filesize_title}: </span>{filesize_value}</div>
<div class="jd_words_right">{url_download}</div>
</div>
<div class="jd_clear"> </div>
<div class="jd_description_wrapper">
<div class="jd_image_right">{screenshot_begin}<a href="{screenshot}" rel="lightbox"> <img src="{thumbnail}" /></a>{screenshot_end}</div>
<div class="jd_clear_left"> </div>
<div class="jd_download_description">{description}</div>
</div>
<div class="jd_clear"> </div>
<div class="jd_readmore">{link_to_details}</div>
</div>
</div>


Das ist mein Layout Stil. Mein Problem ist das in der DB das Feld "file_date" auf "0000-00-00 00:00:00" steht (siehe Anhang). Die einzigste Datei mit Datum darin  habe ich manuell hochgeladen.

[gelöscht durch Administrator]
with best regards  / mit freundlichen Grüßen
Wolfgang
  •  

Arno

Hi,
hier ist die Anpassung für dein Files Layout:
<p>{files_title_begin}</p>
<div class="jd_files_title">{files_title_text}</div>
<p>{files_title_end}</p>
<div class="{featured_class} jd_download_title">
<div class="jd_left">{file_pic} {file_title} - ({hits_title} {hits_value})</div>
</div>
<div class="jd_clear"> </div>
<div class="jd_tags">{tags}</div>
<div class="jd_download_wrapper">
<div class="{featured_detail_class} jd_clear">
<div class="jd_words_wrapper">
<div class="jd_words_left" style="padding-left: 5px;"><span style="font-weight: 600;">{created_date_title}: </span>{created_date_value}</div>
<div class="jd_words_left" style="padding-left: 5px;">{file_date_title} {file_date}</div>
<div class="jd_words_left"><span style="font-weight: 600;">{release_title}: </span>{release}</div>
<div class="jd_words_left"><span style="font-weight: 600;">{license_title}: </span>{license_text}</div>
<div class="jd_words_left"><span style="font-weight: 600;">{filesize_title}: </span>{filesize_value}</div>
<div class="jd_words_left"><span style="font-weight: 600;">{file_date_title}: </span>{file_date}</div>
<div class="jd_words_right">{url_download}</div>
</div>
<div class="jd_clear"> </div>
<div class="jd_description_wrapper">
<div class="jd_image_right">{screenshot_begin}<a href="{screenshot}" rel="lightbox"> <img src="{thumbnail}" /></a>{screenshot_end}</div>
<div class="jd_clear_left"> </div>
<div class="jd_download_description">{description}</div>
</div>
<div class="jd_clear"> </div>
<div class="jd_readmore">{link_to_details}</div>
</div>
</div>

Bitte verwende das nächste mal die Layout Import/Export Funktion, da nur dann alle Felder des Layouts beim Empfänger vorhanden sind.

Bei deinem Datum Problem kann ich dir aber auch nicht weiterhelfen. Ich habe dir ja schon das Problem oben erläutert. Wie erstellst du denn normalerweise die Downloads in jDownloads?

Vielleicht kannst du ja auch die Versionsnummern jeweils erhöhen, oder die "als Update markieren" Funktion nutzen.
Best Regards / Gruß
Arno
Please make a Donation for jDownloads and/or write a review on the Joomla! Extensions directory!
  •  

woso

Hallo Arno,
ich erstelle die Zipdateien auf einem lokalen Rechner und lade diese via rsync in das jeweilige Verzeichnis hoch.

Mich wunderte es nur das die Dateigröße vermerkt wird. Die Überwachung ist aktiviert s.u.

[gelöscht durch Administrator]
with best regards  / mit freundlichen Grüßen
Wolfgang
  •  

Arno

Wie ich schon zweimal schrieb, ich kann dir da auch nicht weiterhelfen. Das Datum musst du schon selbst eintragen, wenn du es brauchst. Du kannst aber doch auch das Datum der Erstellung nehmen, denn das ist ja der Zeitpunkt an dem die Datei hochgeladen wurde.
Best Regards / Gruß
Arno
Please make a Donation for jDownloads and/or write a review on the Joomla! Extensions directory!
  •  

woso

Quote from: Arno on 13.09.2017 20:02:48
Wie ich schon zweimal schrieb, ich kann dir da auch nicht weiterhelfen. Das Datum musst du schon selbst eintragen, wenn du es brauchst. Du kannst aber doch auch das Datum der Erstellung nehmen, denn das ist ja der Zeitpunkt an dem die Datei hochgeladen wurde.

Das Datum der Erstellung ist das erste Hochladen, die Updates der Dateien werden nicht vermerkt daher das "Dateidatum". Dann muss ich mal sehen ob die das mit einem Script und Cronjob lösen kann.
Erst einmal Danke
with best regards  / mit freundlichen Grüßen
Wolfgang
  •  

Arno

#7
Quote...die Updates der Dateien werden nicht vermerkt...
Vielleicht ist die Art wie du die Dateien aktualisierst das Problem. Denn wenn du einen Download bearbeitest (z.B. um die Datei zu erneuern), wird selbstverständlich das Datum der Bearbeitung gespeichert. Außerdem hättest du dann die Möglichkeit solche Downloads als 'Updated' zu markieren, woduch sie beispielsweise auch in einem speziellen Modul angezeigt werden können. Willst du dir diese Arbeit aber sparen und alles über einen simplen Cronjob und die scan.php von jD lösen, hast du diese Möglichkeiten natürlich nicht. Vielleicht müsste man für solche Vorhaben die entsprechende Funktion auch erweitern und auch zusätzliche  Erstellungs-Optionen erstellen. Geplant ist so etwas zur Zeit aber leider nicht.
Best Regards / Gruß
Arno
Please make a Donation for jDownloads and/or write a review on the Joomla! Extensions directory!
  •  

woso

Der ganze Erstellungsprozess der Karten und der Datein bis zum Upload auf den Server ist ein automatischer Prozess. Ein Updatelauf vom Download der Openstreetmap Worldfile bis zum hochladen der fertigen Karten geht schon über 4 Wochen. Da habe ich kein Interesse dann den Upload zu jD manuell zu machen.
with best regards  / mit freundlichen Grüßen
Wolfgang
  •  

woso

Ich habe zur Lösung meines Problem der einfach halt halber folgende Zeilen in die scan.php eingefügt

//--- Insert: Update file_date -------------------------
                        $filedatum = date ("Y-m-d H:i:s", filectime($file_path));
                        $qu = "UPDATE #__jdownloads_files SET file_date = '$filedatum' WHERE file_id = '$file->file_id'";
                        $db->setQuery($qu);
                        $db->execute();
                        //--- Insert: End of Update file_date ------------------

     


Hier habe ich den Code eingefügt
         // ****************************************************
          // Check whether the assigned files from all published downloads exists
          // - otherwise unpublish this downloads
          // ****************************************************
...
foreach($files as $file){

              // we checked only intern stored files
              if ($file->url_download <> ''){

                  // get the category path only, when we have not an 'uncategorised' Download
                  if ($file->cat_id > 1){
                        $db->setQuery("SELECT cat_dir, cat_dir_parent FROM #__jdownloads_categories WHERE id = '$file->cat_id'");
                        $cat = $db->loadObject();
                        if ($cat->cat_dir_parent != ''){
                            $cat_dir_path = $cat->cat_dir_parent.'/'.$cat->cat_dir;
                        } else {
                            $cat_dir_path = $cat->cat_dir;
                        }
                        $file_path = $jd_root.$cat_dir_path.'/'.$file->url_download;
                        $cat_dir = $cat->cat_dir.'/'.$file->url_download;

                        //--- Insert: Update file_date -------------------------
                        $filedatum = date ("Y-m-d H:i:s", filectime($file_path));
                        $qu = "UPDATE #__jdownloads_files SET file_date = '$filedatum' WHERE file_id = '$file->file_id'";
                        $db->setQuery($qu);
                        $db->execute();
                        //--- Insert: End of Update file_date ------------------

                  } else {
                      // file in 'uncategorised' folder
                      $file_path = $uncat_dir.$file->url_download;
                      $cat_dir = $file_path;
                  }

                  if(!file_exists($file_path)){
                        $db->setQuery("UPDATE #__jdownloads_files SET published = 0 WHERE file_id = '$file->file_id'");
                        $db->execute();
                        $mis_files++;
                        $log_array[] = '<font color="red">'.JText::_('COM_JDOWNLOADS_AUTO_FILE_CHECK_DISABLED').' <b>'.$cat_dir.'</b></font><br />';
                  }
              }
              $bar->increase(); // calls the bar with every processed element
          }

Ich wollte das für mich so einfach wie möglich machen - es geht.
with best regards  / mit freundlichen Grüßen
Wolfgang
  •  

Arno

#10
Hi,
anscheinend haben wir da irgendwie aneinander vorbei geredet. Sorry. Hatte dich da wohl falsch verstanden. Wenn ich das jetzt richtig interpretiere, wird beim Erstellen von neuen Downloads über die scan.php (Auto Überwachung) also kein Datei Datum eingetragen. Also ein Bug. Das werde ich dann natürlich schnellstens beheben.  ::) :-\

Sorry nochmal. Manchmal hat man echt ein Brett vorm Kopf.  >:(
Best Regards / Gruß
Arno
Please make a Donation for jDownloads and/or write a review on the Joomla! Extensions directory!
  •  

woso

Quote from: Arno on 02.10.2017 14:38:04
...
wird beim Erstellen von neuen Downloads über die scan.php (Auto Überwachung) also kein Datei Datum eingetragen.
...(
Hallo,
genau das war mein Problem.
with best regards  / mit freundlichen Grüßen
Wolfgang
  •