From: br1 Date: Fri, 29 Mar 2002 20:56:51 +0000 (+0000) Subject: media stuff X-Git-Tag: prexmlproducerconfig~186 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=0fec104dee8d11f7f65447a635de68eed29ab040;p=mir.git media stuff --- diff --git a/bundles/admin_de.properties b/bundles/admin_de.properties index e2edb047..f0355bcf 100755 --- a/bundles/admin_de.properties +++ b/bundles/admin_de.properties @@ -25,28 +25,42 @@ no_matches_found=Keine passenden Einträge gefunden! list.next=weiter list.previous=zurück +# media - used by image, audio, video and other media +media.created=erzeugt +media.changed=letzte änderung +media.published=publiziert +media.format=Format +media.rights=Copyright +media.type=Typ +media.mediafolder=Mediafolder +media.title=Titel +media.description=Beschreibung +media.date=Datum/Zusatz +media.location=Ort +media.creator=Urheber +media.keywords=Keywords +media.comment=Kommentar +media.source=Quelle +media.is_published=free to publish +media.icon=Icon + +medialist.search_text_in=Text suchen in + # image image.htmltitle=indymedia.de | image -image.created=erzeugt -image.changed=letzte änderung -image.published=publiziert -image.format=Format -image.rights=Copyright -image.type=Typ -image.mediafolder=Mediafolder -image.title=Titel -image.description=Beschreibung -image.date=Datum/Zusatz -image.location=Ort -image.creator=Urheber -image.keywords=Keywords -image.comment=Kommentar -image.source=Quelle -image.is_published=free to publish -image.icon=Icon - imagelist.htmltitle=indymedia.de | imagelist -imagelist.search_text_in=Text suchen in + +# audio +audio.htmltitle=indymedia.de | audio +audiolist.htmltitle=indymedia.de | audiolist + +# video +video.htmltitle=indymedia.de | video +videolist.htmltitle=indymedia.de | videolist + +# other +other_media.htmltitle=indymedia.de | other media +other_media.htmltitle=indymedia.de | other medialist # breaking breaking.htmltitle=indymedia.de | breaking news @@ -210,6 +224,9 @@ start.generate.navigation=Navigation start.coverage.title=SCHWERPUNKTEs start.topics.title=THEMEN start.images.title=BILDER +start.audio.title=AUDIO +start.video.title=VIDEO +start.other_media.title=ANDERE MEDIEN start.mediafolder.title=MEDIAFOLDER start.languages.title=SPRACHEN start.imcs.title=IMCS diff --git a/bundles/admin_en.properties b/bundles/admin_en.properties index f2d7bb5c..51947025 100755 --- a/bundles/admin_en.properties +++ b/bundles/admin_en.properties @@ -25,28 +25,42 @@ no_matches_found=No matching entries! list.next=next list.previous=previous +# media - used by image, audio, video and other media +media.created=erzeugt +media.changed=letzte änderung +media.published=publiziert +media.format=Format +media.rights=Copyright +media.type=Typ +media.mediafolder=Mediafolder +media.title=Titel +media.description=Beschreibung +media.date=Datum/Zusatz +media.location=Ort +media.creator=Urheber +media.keywords=Keywords +media.comment=Kommentar +media.source=Quelle +media.is_published=free to publish +media.icon=Icon + +medialist.search_text_in=Text suchen in + # image image.htmltitle=indymedia.de | image -image.created=created -image.changed=changed -image.published=published -image.format=format -image.rights=copyright -image.type=imagetype -image.mediafolder=mediafolder -image.title=title -image.description=description -image.date=datum/additional -image.location=location -image.creator=creator -image.keywords=keywords -image.comment=comment -image.source=source -image.is_published=free to publish -image.icon=icon - imagelist.htmltitle=indymedia.de | imagelist -imagelist.search_text_in=search text in + +# audio +audio.htmltitle=indymedia.de | audio +audiolist.htmltitle=indymedia.de | audiolist + +# video +video.htmltitle=indymedia.de | video +videolist.htmltitle=indymedia.de | videolist + +# other +other_media.htmltitle=indymedia.de | other media +other_media.htmltitle=indymedia.de | other medialist # breaking breaking.htmltitle=indymedia.de | breaking news diff --git a/source/config.properties-dist b/source/config.properties-dist index b975e210..a778ea1a 100755 --- a/source/config.properties-dist +++ b/source/config.properties-dist @@ -230,13 +230,27 @@ ServletModule.Images.ConfirmTemplate=admin/confirm.template ServletModule.Images.ObjektTemplate=admin/image.template ServletModule.Images.ListTemplate=admin/imagelist.template ServletModule.Images.Logfile=log/mir.log +Module.Images.Logfile=log/mir.log Module.UploadedMedia.Logfile=log/mir.log +ServletModule.Audio.ConfirmTemplate=admin/confirm.template +ServletModule.Audio.ObjektTemplate=admin/audio.template +ServletModule.Audio.ListTemplate=admin/audiolist.template +ServletModule.Audio.Logfile=log/mir.log + +ServletModule.Video.ConfirmTemplate=admin/confirm.template +ServletModule.Video.ObjektTemplate=admin/video.template +ServletModule.Video.ListTemplate=admin/videolist.template +ServletModule.Video.Logfile=log/mir.log + +ServletModule.OtherMedia.ConfirmTemplate=admin/confirm.template +ServletModule.OtherMedia.ObjektTemplate=admin/media.template +ServletModule.OtherMedia.ListTemplate=admin/medialist.template +ServletModule.OtherMedia.Logfile=log/mir.log + ServletModule.Content.ConfirmTemplate=admin/confirm.template ServletModule.Content.ObjektTemplate=admin/content.template -# is the next line ever used??? dont thinks so [br1] -#ServletModule.Content.OpTemplate=oplist.template ServletModule.Content.ListTemplate=admin/contentlist.template ServletModule.Content.Logfile=log/mir.log Module.Content.Logfile=log/mir.log diff --git a/source/mircoders/entity/EntityContent.java b/source/mircoders/entity/EntityContent.java index e6fbbe08..eedd1f90 100755 --- a/source/mircoders/entity/EntityContent.java +++ b/source/mircoders/entity/EntityContent.java @@ -339,6 +339,7 @@ public class EntityContent extends Entity tinyIcon = mediaHandler.getTinyIcon(); iconAlt = mediaHandler.getIconAlt(); } + } //it only has image(s) if (tinyIcon == null) { diff --git a/source/mircoders/entity/EntityUploadedMedia.java b/source/mircoders/entity/EntityUploadedMedia.java index 7a1ee12f..a0924891 100755 --- a/source/mircoders/entity/EntityUploadedMedia.java +++ b/source/mircoders/entity/EntityUploadedMedia.java @@ -1,18 +1,18 @@ package mircoders.entity; -import java.lang.*; -import java.io.*; -import java.util.*; -import java.sql.*; +import freemarker.template.SimpleList; +import freemarker.template.SimpleScalar; +import freemarker.template.TemplateModel; +import freemarker.template.TemplateModelException; +import mir.entity.Entity; +import mir.media.MediaHelper; +import mir.media.MirMedia; +import mir.storage.StorageObject; +import mir.storage.StorageObjectException; +import mircoders.storage.DatabaseUploadedMedia; + +import java.util.HashMap; -import freemarker.template.*; - -import mir.entity.*; -import mir.misc.*; -import mir.storage.*; -import mir.media.*; - -import mircoders.storage.*; /** * Diese Klasse enthält die Daten eines MetaObjekts * @@ -21,114 +21,150 @@ import mircoders.storage.*; */ -public class EntityUploadedMedia extends Entity -{ +public class EntityUploadedMedia extends Entity { - public EntityUploadedMedia(){ + public EntityUploadedMedia() { super(); } - public EntityUploadedMedia(StorageObject theStorage) - { + public EntityUploadedMedia(StorageObject theStorage) { this(); setStorage(theStorage); } - public void setValues(HashMap theStringValues) - { - if (theStringValues != null) { - if (!theStringValues.containsKey("is_published")) - theStringValues.put("is_published","0"); - } - super.setValues(theStringValues); - } - - - /** - * fetches the MediaType entry assiciated w/ this media - * - * @return mir.entity.Entity - */ - public Entity getMediaType() throws StorageObjectException { - Entity ent = null; - try { - ent = DatabaseUploadedMedia.getInstance().getMediaType(this); - } catch (StorageObjectException e) { - throwStorageObjectException(e, "get MediaType failed -- "); - } - return ent; - } - - public String getValue(String key) - { - String returnValue=null; - - if (key!=null) { + public void setValues(HashMap theStringValues) { + if (theStringValues != null) { + if (!theStringValues.containsKey("is_published")) + theStringValues.put("is_published", "0"); + } + super.setValues(theStringValues); + } + + + /** + * fetches the MediaType entry assiciated w/ this media + * + * @return mir.entity.Entity + */ + public Entity getMediaType() throws StorageObjectException { + Entity ent = null; + try { + ent = DatabaseUploadedMedia.getInstance().getMediaType(this); + } + catch (StorageObjectException e) { + throwStorageObjectException(e, "get MediaType failed -- "); + } + return ent; + } + + public String getValue(String key) { + String returnValue = null; + + if (key != null) { if (key.equals("big_icon")) - returnValue=getBigIcon(); + returnValue = getBigIcon(); else if (key.equals("descr")) - returnValue=getDescr(); + returnValue = getDescr(); + else if (key.equals("mediatype")) + returnValue = getMediaTypeString(); + else if (key.equals("mimetype")) + returnValue = getMimeType(); else - returnValue=super.getValue(key); + returnValue = super.getValue(key); } return returnValue; } - public TemplateModel get(java.lang.String key) throws TemplateModelException - { + public TemplateModel get(java.lang.String key) throws TemplateModelException { if (key.equals("url")) return getUrl(); - return new SimpleScalar(getValue(key)); } // @todo all these methods should be merged into 1 // and the MediaHandler should be cached somehow. - private String getBigIcon() - { - MirMedia mediaHandler=null; - Entity mediaType=null; + private String getMediaTypeString() { + MirMedia mediaHandler = null; + Entity mediaType = null; try { mediaType = getMediaType(); - mediaHandler = MediaHelper.getHandler( mediaType ); + mediaHandler = MediaHelper.getHandler(mediaType); + String t; + if (mediaHandler.isAudio()) + return "audio"; + else if (mediaHandler.isImage()) + return "image"; + else if (mediaHandler.isVideo()) + return "video"; + else + return "other"; + } + catch (Exception ex) { + theLog.printWarning("-- getMediaTypeString: could not fetch data " + + this.getClass().toString() + " " + ex.toString()); + } + return null; + } + + private String getBigIcon() { + MirMedia mediaHandler = null; + Entity mediaType = null; + + try { + mediaType = getMediaType(); + mediaHandler = MediaHelper.getHandler(mediaType); return mediaHandler.getBigIcon(); - } catch (Exception ex) { + } + catch (Exception ex) { theLog.printWarning("-- getBigIcon: could not fetch data " - + this.getClass().toString()+" "+ ex.toString()); + + this.getClass().toString() + " " + ex.toString()); } return null; } - private SimpleList getUrl() - { - MirMedia mediaHandler=null; - Entity mediaType=null; + private SimpleList getUrl() { + MirMedia mediaHandler = null; + Entity mediaType = null; try { mediaType = getMediaType(); - mediaHandler = MediaHelper.getHandler( mediaType ); + mediaHandler = MediaHelper.getHandler(mediaType); return mediaHandler.getURL(this, mediaType); - } catch (Exception ex) { + } + catch (Exception ex) { theLog.printWarning("-- getUrl: could not fetch data " - + this.getClass().toString()+" "+ ex.toString()); + + this.getClass().toString() + " " + ex.toString()); } return null; } - private String getDescr() - { - MirMedia mediaHandler=null; - Entity mediaType=null; + private String getDescr() { + MirMedia mediaHandler = null; + Entity mediaType = null; try { mediaType = getMediaType(); - mediaHandler = MediaHelper.getHandler( mediaType ); + mediaHandler = MediaHelper.getHandler(mediaType); return mediaHandler.getDescr(); - } catch (Exception ex) { + } + catch (Exception ex) { theLog.printWarning("-- getDescr: could not fetch data " - + this.getClass().toString()+" "+ ex.toString()); + + this.getClass().toString() + " " + ex.toString()); + } + return null; + } + private String getMimeType() { + Entity mediaType = null; + + try { + mediaType = getMediaType(); + return mediaType.getValue("mime_type"); + } + catch (Exception ex) { + theLog.printWarning("-- getBigIcon: could not fetch data " + + this.getClass().toString() + " " + ex.toString()); } return null; } diff --git a/source/mircoders/module/ModuleImages.java b/source/mircoders/module/ModuleImages.java index 01e8e5f0..13ee50dd 100755 --- a/source/mircoders/module/ModuleImages.java +++ b/source/mircoders/module/ModuleImages.java @@ -24,7 +24,7 @@ public class ModuleImages extends AbstractModule { public ModuleImages(StorageObject theStorage) { - if (theLog == null) theLog = Logfile.getInstance(MirConfig.getProp("Home")+MirConfig.getProp("Module.Bilder.Logfile")); + if (theLog == null) theLog = Logfile.getInstance(MirConfig.getProp("Home")+MirConfig.getProp("Module.Images.Logfile")); if (theStorage == null) theLog.printWarning("StorageObject was null!"); this.theStorage = theStorage; diff --git a/source/mircoders/servlet/ServletModuleAudio.java b/source/mircoders/servlet/ServletModuleAudio.java new file mode 100755 index 00000000..62a26a27 --- /dev/null +++ b/source/mircoders/servlet/ServletModuleAudio.java @@ -0,0 +1,42 @@ +package mircoders.servlet; + +import mir.misc.Logfile; +import mir.misc.MirConfig; +import mir.servlet.ServletModule; +import mir.storage.StorageObjectException; +import mircoders.module.ModuleUploadedMedia; +import mircoders.storage.DatabaseAudio; + +/* + * + * + * @author br1 + */ + +public class ServletModuleAudio extends ServletModuleUploadedMedia { + + //private static DatabaseRights dbRights; + + // Singelton / Contructor + private static ServletModuleAudio instance = new ServletModuleAudio(); + + public static ServletModule getInstance() { + return instance; + } + + + private ServletModuleAudio() { + theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("ServletModule.Audio.Logfile")); + templateListString = MirConfig.getProp("ServletModule.Audio.ListTemplate"); + templateObjektString = MirConfig.getProp("ServletModule.Audio.ObjektTemplate"); + templateConfirmString = MirConfig.getProp("ServletModule.Audio.ConfirmTemplate"); + try { + mainModule = new ModuleUploadedMedia(DatabaseAudio.getInstance()); + //dbRights = DatabaseRights.getInstance(); + } + catch (StorageObjectException e) { + theLog.printDebugInfo("servletmodule audio could not be initialized"); + } + } +} + diff --git a/source/mircoders/servlet/ServletModuleImages.java b/source/mircoders/servlet/ServletModuleImages.java index c358b8ce..0a3a3844 100755 --- a/source/mircoders/servlet/ServletModuleImages.java +++ b/source/mircoders/servlet/ServletModuleImages.java @@ -101,7 +101,5 @@ public class ServletModuleImages extends ServletModuleUploadedMedia } else throw new ServletModuleException("id nicht angeben."); } - - } diff --git a/source/mircoders/servlet/ServletModuleOtherMedia.java b/source/mircoders/servlet/ServletModuleOtherMedia.java new file mode 100755 index 00000000..efd97e5e --- /dev/null +++ b/source/mircoders/servlet/ServletModuleOtherMedia.java @@ -0,0 +1,42 @@ +package mircoders.servlet; + +import mir.misc.Logfile; +import mir.misc.MirConfig; +import mir.servlet.ServletModule; +import mir.storage.StorageObjectException; +import mircoders.module.ModuleUploadedMedia; +import mircoders.storage.DatabaseOther; + +/* + * + * + * @author br1 + */ + +public class ServletModuleOtherMedia extends ServletModuleUploadedMedia { + + //private static DatabaseRights dbRights; + + // Singelton / Contructor + private static ServletModuleOtherMedia instance = new ServletModuleOtherMedia(); + + public static ServletModule getInstance() { + return instance; + } + + + private ServletModuleOtherMedia() { + theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("ServletModule.OtherMedia.Logfile")); + templateListString = MirConfig.getProp("ServletModule.OtherMedia.ListTemplate"); + templateObjektString = MirConfig.getProp("ServletModule.OtherMedia.ObjektTemplate"); + templateConfirmString = MirConfig.getProp("ServletModule.OtherMedia.ConfirmTemplate"); + try { + mainModule = new ModuleUploadedMedia(DatabaseOther.getInstance()); + //dbRights = DatabaseRights.getInstance(); + } + catch (StorageObjectException e) { + theLog.printDebugInfo("servletmodule otherMedia could not be initialized"); + } + } +} + diff --git a/source/mircoders/servlet/ServletModuleUploadedMedia.java b/source/mircoders/servlet/ServletModuleUploadedMedia.java index 7fd35bc6..71ddb8a9 100755 --- a/source/mircoders/servlet/ServletModuleUploadedMedia.java +++ b/source/mircoders/servlet/ServletModuleUploadedMedia.java @@ -1,29 +1,33 @@ package mircoders.servlet; -import java.io.*; -import java.lang.*; -import java.sql.*; -import java.util.*; -import java.net.*; -import java.lang.reflect.*; -import javax.servlet.*; -import javax.servlet.http.*; - -import freemarker.template.*; -import com.oreilly.servlet.multipart.*; -import com.oreilly.servlet.*; - -import mir.servlet.*; -import mir.module.*; -import mir.misc.*; -import mir.entity.*; -import mir.storage.*; -import mir.media.*; - -import mircoders.entity.*; -import mircoders.storage.*; -import mircoders.module.*; -import mircoders.producer.*; +import freemarker.template.SimpleHash; +import mir.entity.Entity; +import mir.entity.EntityList; +import mir.media.MediaHelper; +import mir.media.MirMedia; +import mir.media.MirMediaException; +import mir.media.MirMediaUserException; +import mir.misc.FileUtil; +import mir.misc.MpRequest; +import mir.misc.StringUtil; +import mir.misc.WebdbMultipartRequest; +import mir.module.ModuleException; +import mir.servlet.ServletModule; +import mir.servlet.ServletModuleException; +import mir.servlet.ServletModuleUserException; +import mir.storage.Database; +import mir.storage.StorageObjectException; +import mircoders.entity.EntityUsers; +import mircoders.storage.DatabaseMediaType; +import mircoders.storage.DatabaseMediafolder; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.GregorianCalendar; +import java.util.HashMap; /* * ServletModuleBilder - @@ -34,22 +38,22 @@ import mircoders.producer.*; */ public abstract class ServletModuleUploadedMedia - extends mir.servlet.ServletModule -{ + extends mir.servlet.ServletModule { //private static DatabaseRights dbRights; - public static ServletModule getInstance() { return null; } + public static ServletModule getInstance() { + return null; + } public void insert(HttpServletRequest req, HttpServletResponse res) - throws ServletModuleException, ServletModuleUserException - { + throws ServletModuleException, ServletModuleUserException { try { WebdbMultipartRequest mp = new WebdbMultipartRequest(req); HashMap parameters = mp.getParameters(); - EntityUsers user = _getUser(req); - String mediaId=null; - MpRequest mpReq = (MpRequest)mp.requestList.get(0); + EntityUsers user = _getUser(req); + String mediaId = null; + MpRequest mpReq = (MpRequest) mp.requestList.get(0); String mediaTypeId; //= null; MirMedia mediaHandler; Database mediaStorage; @@ -58,13 +62,13 @@ public abstract class ServletModuleUploadedMedia // sends us. (the "Oreilly method") String contentType = mpReq.getContentType(); String fileName = mpReq.getFilename(); - theLog.printInfo("CONTENT-TYPE FROM BROWSER: "+contentType); + theLog.printInfo("CONTENT-TYPE FROM BROWSER: " + contentType); // if the client browser sent us unknown (text/plain is default) // or if we got application/octet-stream, it's possible that // the browser is in error, better check against the file extension if (contentType.equals("text/plain") || - contentType.equals("application/octet-stream")) { + contentType.equals("application/octet-stream")) { /** * This is just a temporary way to get the content-type via * the .extension , we could maybe use a magic method, by looking @@ -80,15 +84,15 @@ public abstract class ServletModuleUploadedMedia * sure that it is in this file -mh */ contentType = FileUtil.guessContentTypeFromName(fileName); - if (contentType==null) + if (contentType == null) contentType = "text/plain"; // rfc1867 says this is the default } - theLog.printInfo("CONTENT TYPE IS: "+contentType); + theLog.printInfo("CONTENT TYPE IS: " + contentType); if (contentType.equals("text/plain") || - contentType.equals("application/octet-stream")) { + contentType.equals("application/octet-stream")) { throw new ServletModuleUserException( - "One or more files of unrecognized types"); + "One or more files of unrecognized types"); } parameters.put("date", StringUtil.date2webdbDate(new GregorianCalendar())); @@ -99,7 +103,7 @@ public abstract class ServletModuleUploadedMedia // @todo this should probably be moved to DatabaseMediaType or // somewhere else appropriate -mh String[] contentTypeSplit = StringUtil.split(contentType, "/"); - String wc = " mime_type LIKE '"+contentTypeSplit[0]+"%'"; + String wc = " mime_type LIKE '" + contentTypeSplit[0] + "%'"; DatabaseMediaType mediaTypeStor = DatabaseMediaType.getInstance(); EntityList mediaTypesList = mediaTypeStor.selectByWhereClause(wc); @@ -110,20 +114,20 @@ public abstract class ServletModuleUploadedMedia throw new MirMediaUserException("One or more files of unrecognized type"); } Entity mediaType = null; - + // find out if we an exact content-type match if so take it. // otherwise just use the first one. // @todo this should probably be moved to DatabaseMediaType -mh - for(int j=0;j + + +${lang("audio.htmltitle")} + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ${lang("media.created")}: ${data.webdb_create} + / ${lang("media.changed")} ${data.webdb_lastchange}
+ ${lang("media.published")}: ${data.publish_date} / ${data.publish_server}${data.publish_path}
+ ${lang("media.format")}: ${data.mimetype} / ${data.descr}
+ ${lang("media.rights")}: ${data.rightsHashdata[to_rights]["name"]}
+
+ ${lang("media.mediafolder")}: + +
+ ${lang("media.title")}:
+ ${lang("media.description")}:
+ ${lang("media.date")}: +
+ ${lang("media.location")}:
+ ${lang("media.creator")}: + +
+ ${lang("media.keywords")}:
+ ${lang("media.comment")}:
+ ${lang("media.source")}:
+ ${lang("media.is_published")} checked> + + + + + +
+ + + diff --git a/templates-dist/admin/audiolist.template b/templates-dist/admin/audiolist.template new file mode 100755 index 00000000..40435fe8 --- /dev/null +++ b/templates-dist/admin/audiolist.template @@ -0,0 +1,104 @@ + + + ${lang("audiolist.htmltitle")} + + + + + + + + + + + + + + + + + + + bgcolor="#dddddd" > + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
${lang("medialist.search_text_in")}:${lang("media.published")}:${lang("media.mediafolder")}: 
+ + + + + + + + +
+
+
+ ${lang("media.icon")} + ${lang("media.title")} + ${lang("media.mediafolder")} + ${lang("media.creator")}
+ ${entry.title}  +
${entry.description}
${data.mediafolderHashdata[entry.to_media_folder]["name"]} ${entry.creator}   + ${lang("attach")} + + ${lang("delete")} + | ${lang("edit")} + +
${data.count} ${lang("records")} + / ${lang("show_from_to", data.from, data.to)} 
+ + zurueck  + + +weiter + +
${lang("no_matches_found")}
+ + + diff --git a/templates-dist/admin/image.template b/templates-dist/admin/image.template index 2661bf96..2c036734 100755 --- a/templates-dist/admin/image.template +++ b/templates-dist/admin/image.template @@ -32,17 +32,17 @@ function openWin(url) { - ${lang("image.created")}: ${data.webdb_create} / ${lang("image.changed")} ${data.webdb_lastchange}
- ${lang("image.published")}: ${data.publish_date} / ${data.publish_server}${data.publish_path}
- ${lang("image.format")}: ${data.img_width}x${data.img_height} / ${data.imgformatHashdata[to_img_format]["name"]} / ${data.imglayoutHashdata[to_img_layout]["name"]} / ${data.imgcolorHashdata[to_img_color]["name"]}
- ${lang("image.rights")}: ${data.rightsHashdata[to_rights]["name"]}
- ${lang("image.type")}: ${data.imgtypeHashdata[to_img_type]["name"]}
+ ${lang("media.created")}: ${data.webdb_create} / ${lang("media.changed")} ${data.webdb_lastchange}
+ ${lang("media.published")}: ${data.publish_date} / ${data.publish_server}${data.publish_path}
+ ${lang("media.format")}: ${data.img_width}x${data.img_height} / ${data.imgformatHashdata[to_img_format]["name"]} / ${data.imglayoutHashdata[to_img_layout]["name"]} / ${data.imgcolorHashdata[to_img_color]["name"]}
+ ${lang("media.rights")}: ${data.rightsHashdata[to_rights]["name"]}
+ ${lang("media.type")}: ${data.imgtypeHashdata[to_img_type]["name"]}
- ${lang("image.mediafolder")}: + ${lang("media.mediafolder")}:
- ${lang("image.description")}: + ${lang("media.description")}: - ${lang("image.date")}: + ${lang("media.date")}: - ${lang("image.location")}: + ${lang("media.location")}: - ${lang("image.creator")}: + ${lang("media.creator")}: - ${lang("image.keywords")}: + ${lang("media.keywords")}: - ${lang("image.comment")}: + ${lang("media.comment")}: - ${lang("image.source")}: + ${lang("media.source")}: - ${lang("image.is_published")} checked> + ${lang("media.is_published")} checked> diff --git a/templates-dist/admin/imagelist.template b/templates-dist/admin/imagelist.template index a1760be1..d00b44d7 100755 --- a/templates-dist/admin/imagelist.template +++ b/templates-dist/admin/imagelist.template @@ -14,9 +14,9 @@ - - - + + + @@ -24,10 +24,10 @@ + ${lang("media.icon")} + ${lang("media.title")} + ${lang("media.mediafolder")} + ${lang("media.creator")} diff --git a/templates-dist/admin/media.template b/templates-dist/admin/media.template new file mode 100755 index 00000000..90445a74 --- /dev/null +++ b/templates-dist/admin/media.template @@ -0,0 +1,113 @@ + + + +${lang("other_media.htmltitle")} + + + + + + +
+ + + + + + + + + +
${lang("imagelist.search_text_in")}:${lang("image.published")}:${lang("image.mediafolder")}:${lang("medialist.search_text_in")}:${lang("media.published")}:${lang("media.mediafolder")}:  
@@ -55,13 +55,13 @@
- ${lang("image.icon")} - ${lang("image.title")} - ${lang("image.mediafolder")} - ${lang("image.creator")}
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ${lang("media.created")}: ${data.webdb_create} + / ${lang("media.changed")} ${data.webdb_lastchange}
+ ${lang("media.published")}: ${data.publish_date} / ${data.publish_server}${data.publish_path}
+ ${lang("media.format")}: ${data.mimetype} / ${data.descr}
+ ${lang("media.rights")}: ${data.rightsHashdata[to_rights]["name"]}
+
+ ${lang("media.mediafolder")}: + +
+ ${lang("media.title")}:
+ ${lang("media.description")}:
+ ${lang("media.date")}: +
+ ${lang("media.location")}:
+ ${lang("media.creator")}: + +
+ ${lang("media.keywords")}:
+ ${lang("media.comment")}:
+ ${lang("media.source")}:
+ ${lang("media.is_published")} checked> + + + + + +
+ + + diff --git a/templates-dist/admin/medialist.template b/templates-dist/admin/medialist.template new file mode 100755 index 00000000..c73cf8b9 --- /dev/null +++ b/templates-dist/admin/medialist.template @@ -0,0 +1,104 @@ + + + ${lang("other_media.htmltitle")} + + + + + + + + + + + + + + + + + + + bgcolor="#dddddd" > + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
${lang("medialist.search_text_in")}:${lang("media.published")}:${lang("media.mediafolder")}: 
+ + + + + + + + +
+
+
+ ${lang("media.icon")} + ${lang("media.title")} + ${lang("media.mediafolder")} + ${lang("media.creator")}
+ ${entry.title}  +
${entry.description}
${data.mediafolderHashdata[entry.to_media_folder]["name"]} ${entry.creator}   + ${lang("attach")} + + ${lang("delete")} + | ${lang("edit")} + +
${data.count} ${lang("records")} + / ${lang("show_from_to", data.from, data.to)} 
+ + zurueck  + + +weiter + +
${lang("no_matches_found")}
+ + + diff --git a/templates-dist/admin/start_admin.template b/templates-dist/admin/start_admin.template index 600dc338..7ac10f0d 100755 --- a/templates-dist/admin/start_admin.template +++ b/templates-dist/admin/start_admin.template @@ -181,6 +181,40 @@ ${lang("add")}

+ + + ${lang("start.audio.title")} + +

+ + ${lang("edit")}
+ + ${lang("add")} + +

+ + + ${lang("start.video.title")} + +

+ + ${lang("edit")}
+ + ${lang("add")} + +

+ + + ${lang("start.other_media.title")} + +

+ + ${lang("edit")}
+ + ${lang("add")} + +

+ ${lang("start.mediafolder.title")} @@ -191,7 +225,8 @@ ${lang("add")}

- + ${lang("start.imcs.title")} diff --git a/templates-dist/admin/video.template b/templates-dist/admin/video.template new file mode 100755 index 00000000..51177dde --- /dev/null +++ b/templates-dist/admin/video.template @@ -0,0 +1,113 @@ + + + +${lang("video.htmltitle")} + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ${lang("media.created")}: ${data.webdb_create} + / ${lang("media.changed")} ${data.webdb_lastchange}
+ ${lang("media.published")}: ${data.publish_date} / ${data.publish_server}${data.publish_path}
+ ${lang("media.format")}: ${data.mimetype} / ${data.descr}
+ ${lang("media.rights")}: ${data.rightsHashdata[to_rights]["name"]}
+
+ ${lang("media.mediafolder")}: + +
+ ${lang("media.title")}:
+ ${lang("media.description")}:
+ ${lang("media.date")}: +
+ ${lang("media.location")}:
+ ${lang("media.creator")}: + +
+ ${lang("media.keywords")}:
+ ${lang("media.comment")}:
+ ${lang("media.source")}:
+ ${lang("media.is_published")} checked> + + + + + +
+ + + diff --git a/templates-dist/admin/videolist.template b/templates-dist/admin/videolist.template new file mode 100755 index 00000000..526d6cd6 --- /dev/null +++ b/templates-dist/admin/videolist.template @@ -0,0 +1,104 @@ + + + ${lang("video.htmltitle")} + + + + + + + + + + + + + + + + + + + bgcolor="#dddddd" > + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
${lang("medialist.search_text_in")}:${lang("media.published")}:${lang("media.mediafolder")}: 
+ + + + + + + + +
+
+
+ ${lang("media.icon")} + ${lang("media.title")} + ${lang("media.mediafolder")} + ${lang("media.creator")}
+ ${entry.title}  +
${entry.description}
${data.mediafolderHashdata[entry.to_media_folder]["name"]} ${entry.creator}   + ${lang("attach")} + + ${lang("delete")} + | ${lang("edit")} + +
${data.count} ${lang("records")} + / ${lang("show_from_to", data.from, data.to)} 
+ + zurueck  + + +weiter + +
${lang("no_matches_found")}
+ + +