Tinymce und Bilder einfügen

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » So 20. Nov 2005, 14:39

Simone hat geschrieben:ich bin mir aber unsicher, ob das hier genannte auch mein Problem ist.
Da bin ich mir auch unsicher. Zur Verdeutlichung (zumindest meines Problems) mal hier ein Screenshot:

Bild

Nutzt man 1 (um die Thumbnailgrößen zu ändern) oder 2 (zur Navigation) kann man danach die Bilder nicht mehr durch einen Klick auf den Dateinamen einfügen. Wenn man die "normale" Navigation über den Weiter-Link nutzt (3) funktioniert alles wie gewohnt.

Alex
Beiträge: 174
Registriert: So 20. Jul 2003, 11:31
Kontaktdaten:

Beitrag von Alex » Mo 21. Nov 2005, 19:52

Hi!

Wollt nur gerade bestätigen, dass ich das Problem auch habe...

Contenido 4.6.2
PHP Version 4.3.11
Apache/2.0.54 (Unix) PHP/4.3.11

Ist das Problem schon im CVS gefixt?

VG

Alex
Contenido 4.4.4 & 4.5.3-CVS

HighFidelity
Beiträge: 41
Registriert: Do 4. Mär 2004, 21:02

Beitrag von HighFidelity » Sa 26. Nov 2005, 07:58

Moin,

seltsam, drum hier auch mein Senf: Der hier vorgeschlagene Bugfix löst für mich offensichtlich das Problem mit der Seitennavigation! Demhingegen klappt die Thumbnail-Größenumschaltung damit noch nicht (kein Wunder, weil dort wird ja auch nichts geändert von dem Fix), wobei ich da auch nicht ganz durchschaue, warum es überhaupt ein Problem gibt, "appendparameters" ist dort bereits korrekt definiert offenbar.

Grüße,
Thorsten

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Mo 28. Nov 2005, 09:00

HighFidelity hat geschrieben:seltsam, drum hier auch mein Senf: Der hier vorgeschlagene Bugfix löst für mich offensichtlich das Problem mit der Seitennavigation! Demhingegen klappt die Thumbnail-Größenumschaltung damit noch nicht (kein Wunder, weil dort wird ja auch nichts geändert von dem Fix), wobei ich da auch nicht ganz durchschaue, warum es überhaupt ein Problem gibt, "appendparameters" ist dort bereits korrekt definiert offenbar.
Der angebotene Bugfix ist auch noch gar keiner. Dies sollte lediglich aufzeigen, wo z.B. Probleme liegen können. Für die Thumbnail-Größenumschaltung funktioniert dies in der Tat noch nicht.

HighFidelity
Beiträge: 41
Registriert: Do 4. Mär 2004, 21:02

Beitrag von HighFidelity » Mo 28. Nov 2005, 20:46

Der angebotene Bugfix ist auch noch gar keiner.
Aber er reicht aus, meinem "Mandanten" (besser gesagt Kunden) die Arbeit wieder zu ermöglichen, nachdem ich das Update aufgeschwatzt habe, und das irgendwie bereut habe inzwischen. Irgendwie muss ich die Zeit bis 4.6.3 ja überbrücken...

greyman
Beiträge: 44
Registriert: Do 16. Sep 2004, 06:16
Kontaktdaten:

Danke Dodger77

Beitrag von greyman » Fr 2. Dez 2005, 13:55

Hatte das selbe Problem mit tinymce und Bilder einfügen. Dank des Fixes von Dodger77 geht jetzt alles problemlos. Großartig, danke Dodger77!

Contenido Version 4.6.2
Server Betriebssystem Apache/2.0.52 (Linux/SUSE)
PHP MySQL database extension mysql
MySQL Serverversion 4.0.15-Max
Installierte PHP-Version 4.3.9
safe_mode Aktiviert
magic_quotes_gpc Aktiviert
magic_quotes_runtime Deaktiviert
gpc_order GPC
memory_limit 12M
max_execution_time 30
Deaktivierte Funktionen nichts deaktiviert
Gettext extension geladen
sql.safe_mode Deaktiviert

#ayshe
Beiträge: 445
Registriert: Do 25. Mär 2004, 10:04
Kontaktdaten:

Beitrag von #ayshe » Fr 9. Dez 2005, 15:47

Obwohl die Entwickler sich ja nun ausschweigen, auch mein Sermon noch zum Thema:
Genau den gleichen Bug habe ich auch, Con 4.6.2, Browser ist egal, Server sind verschiedene - das Verhalten, wie mit den Screenshots von Dodger beschrieben, ist auch hier so.
Ich finde, dass sollte schnell professionell gefixt werden, denn Bilder einfügen ist schon ein wichtiges Tool für die Kunden/Mandanten.

Beste Grüße,
Ayshe

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Fr 9. Dez 2005, 16:02

Logisch, der Bug ist ja auch seit Anfang an drin. Zum einen wird das bei Gelegenheit gefixt. Zum anderen steht Dir doch ein Workaround zur Verfügung?
Wenn man die "normale" Navigation über den Weiter-Link nutzt (3) funktioniert alles wie gewohnt.
Abgesehen davon ist alles Open Source: Just do it. Mitmachen heißt die Devise (ja , ich konnte auch kein PHP vor Contenido).

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 9. Dez 2005, 16:04

#ayshe hat geschrieben:Ich finde, dass sollte schnell professionell gefixt werden...
also findest du die lösung seitens Dodger77 nicht professionell genug ?
da wird er aber beleidigt sein...
*** make your own tools (wishlist :: thx)

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Fr 9. Dez 2005, 16:16

emergence hat geschrieben:
#ayshe hat geschrieben:Ich finde, dass sollte schnell professionell gefixt werden...
also findest du die lösung seitens Dodger77 nicht professionell genug ?
da wird er aber beleidigt sein...
Meinst du?! :wink:

Naja, bin halt noch nicht dazu gekommen, das auch für die Thumbnail-Größenänderung umzusetzen, da ich gerade anderweitig beschäftigt bin. Hatte irgendwie gehofft, dass sich ein PHP-Anfänger, der genügend großen Leidensdruck hat, sich mal erbarmt und den Rest in Anlehung an meine Lösung fertig macht. Denn eine IF-Abfrage einzubauen und entsprechend die JavaScript-Ausgabe anzupassen, damit die Parameter übergeben werden, ist doch wohl nicht so wild.

Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone » Fr 9. Dez 2005, 16:29

Sorry, emergence, welche Lösung? Wo ich das ja und das nicht machen soll? (siehe Bild mit 123)

Ich habe alles ausprobiert, es klappt trotzdem nicht.

Simone aus dem kaltfeuchten Berlin, wo es gerade trübe wird

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Fr 9. Dez 2005, 16:31

Simone hat geschrieben:Sorry, emergence, welche Lösung? Wo ich das ja und das nicht machen soll? (siehe Bild mit 123)

Ich habe alles ausprobiert, es klappt trotzdem nicht.
Mit meiner Lösung aus:

http://contenido.org/forum/viewtopic.php?p=59957#59957

sollte zumindest Punkt 2 funktionieren.

Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone » Sa 10. Dez 2005, 07:11

Hallo Dodger77,

nee, funktioniert nicht (die Nr. 2). Es lassen sich noch immer keine Bilder einfügen.

Ich habe beschlossen, beim Spaw zu bleiben, weil der angenehmer zum Arbeiten ist.

Simone

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Mi 14. Dez 2005, 14:59

So, ich habe mir das nochmal angeschaut. Einfach mal die Datei "include.upl_files_overview.php" durch folgenden Code ersetzen:

Code: Alles auswählen

<?php
/*****************************************
* File      :   $RCSfile: include.upl_files_overview.php,v $
* Project   :   Contenido
* Descr     :   File manager
*
* Author    :   $Author: timo.hummel $
*               
* Created   :   29.12.2003
* Modified  :   $Date: 2005/12/14 14:55:47 $
*
* © four for business AG, www.4fb.de
*
* $Id: include.upl_files_overview.php,v 1.40 2005/10/24 10:03:16 timo.hummel Exp $
******************************************/

cInclude("classes", "class.ui.php");
cInclude("classes", "class.htmlelements.php");
cInclude("includes", "api/functions.frontend.list.php");
cInclude("classes", "class.properties.php");
cInclude("classes", "class.todo.php");


if (!is_array($browserparameters) && ($_GET["appendparameters"] != "imagebrowser" || $_GET["appendparameters"] != "filebrowser" || $_POST["appendparameters"] != "imagebrowser" || $_POST["appendparameters"] != "filebrowser"))
{
	$browserparameters = array();	
}
elseif ($_GET["appendparameters"] == "imagebrowser" || $_POST["appendparameters"] == "imagebrowser")
{
	$appendparameters = "imagebrowser";
}
elseif ($_GET["appendparameters"] == "filebrowser" || $_POST["appendparameters"] == "filebrowser")
{
	$appendparameters = "filebrowser";
}

$uploads = new UploadCollection;

$dbfs = new DBFSCollection;

if (is_dbfs($path))
{
	$qpath = $path . "/"; 	
} else {
	$qpath = $path;	
}

if ($action == "upl_modify_file")
{
	
	/* Did the user upload a new file? */
	if (count($_FILES) == 1 && ($_FILES["file"]["size"] > 0) && ($_FILES["file"]["name"] != ""))
	{
		if ($_FILES['file']['tmp_name'] != "")
		{
			$tmp_name = $_FILES['file']['tmp_name'];
			$_cecIterator = $_cecRegistry->getIterator("Contenido.Upload.UploadPreprocess");
			
			if ($_cecIterator->count() > 0)
			{
				/* Copy file to a temporary location */
				move_uploaded_file($tmp_name, $cfg["path"]["contenido"] . $cfg["path"]["temp"].$file);
				$tmp_name = $cfg["path"]["contenido"] . $cfg["path"]["temp"].$file;
				
				while ($chainEntry = $_cecIterator->next())
				{
				    $modified = $chainEntry->execute($tmp_name, $cfgClient[$client]['upl']['path'].$path.uplCreateFriendlyName($_FILES['file']['name'][$key]));
				    
				    if ($modified !== false)
				    {
				    	$tmp_name = $modified;	
				    }				    
				}
			}
			
			if (is_dbfs($path))
			{
				$dbfs->writeFromFile($tmp_name, $qpath.$file);
				unlink($_FILES['file']['tmp_name']);
			} else {
				unlink($cfgClient[$client]['upl']['path'].$path.$file);
				
				if (is_uploaded_file($tmp_name))
				{
					move_uploaded_file($tmp_name, $cfgClient[$client]['upl']['path'].$path.$file);
				} else {
					rename($tmp_name, $cfgClient[$client]['upl']['path'].$path.$file);
				}
			}
		}
	}
	


	$uploads->select("idclient = '$client' AND dirname = '$qpath' AND filename='$file'");
	$upload = $uploads->next();
	
	$upload->set("description", stripslashes($description));
	$upload->store();
	
	$properties = new PropertyCollection;
	
	$properties->setValue("upload", $qpath.$file, "file", "keywords", stripslashes($keywords));
	$properties->setValue("upload", $qpath.$file, "file", "medianame", stripslashes($medianame));
	$properties->setValue("upload", $qpath.$file, "file", "medianotes", stripslashes($medianotes));
	$properties->setValue("upload", $qpath.$file, "file", "protected", stripslashes($protected));
	
}

if ($action == "upl_multidelete")
{
	if (is_array($fdelete))
	{
		/* Check if it is in the upload table */
    	foreach ($fdelete as $file)
    	{
    		$uploads->select("idclient = '$client' AND dirname='$qpath' AND filename='$file'");
    		if ($uploads->next())
    		{
    			if (is_dbfs($qpath))
    			{
    				$dbfs->remove($qpath.$file);
    			} else {
    				unlink(	$cfgClient[$client]['upl']['path'].$qpath.$file);
    			}		
    		}
    	}
	}
	
}


if ($action == "upl_delete")
{
	$uploads->select("idclient = '$client' AND dirname='$qpath' AND filename='$file'");
	if ($uploads->next())
	{
	    if (is_dbfs($qpath))
		{
			$dbfs->remove($qpath.$file);
		} else {
			unlink(	$cfgClient[$client]['upl']['path'].$qpath.$file);
		}	
	}
}

if ($action == "upl_upload")
{
	if (count($_FILES) == 1)
	{
		foreach ($_FILES['file']['name'] as $key => $value)
		{
			if (file_exists($_FILES['file']['tmp_name'][$key]))
			{
				$tmp_name = $_FILES['file']['tmp_name'][$key];
				$_cecIterator = $_cecRegistry->getIterator("Contenido.Upload.UploadPreprocess");
			
				if ($_cecIterator->count() > 0)
				{
					/* Copy file to a temporary location */
					move_uploaded_file($tmp_name, $cfg["path"]["contenido"] . $cfg["path"]["temp"].$_FILES['file']['name'][$key]);
					$tmp_name = $cfg["path"]["contenido"] . $cfg["path"]["temp"].$_FILES['file']['name'][$key];
					

					while ($chainEntry = $_cecIterator->next())
					{
					    $modified = $chainEntry->execute($tmp_name, $cfgClient[$client]['upl']['path'].$path.uplCreateFriendlyName($_FILES['file']['name'][$key]));
					    
					    if ($modified !== false)
					    {
					    	$tmp_name = $modified;	
					    }
					}
				}
				
        		if (is_dbfs($qpath))
        		{
        			$dbfs->writeFromFile($tmp_name, $qpath.uplCreateFriendlyName($_FILES['file']['name'][$key]));
        			unlink($tmp_name);
        		} else {
        			if (is_uploaded_file($tmp_name))
        			{
        				move_uploaded_file($tmp_name, $cfgClient[$client]['upl']['path'].$path.uplCreateFriendlyName($_FILES['file']['name'][$key]));
        			} else {
        				rename($tmp_name, $cfgClient[$client]['upl']['path'].$path.uplCreateFriendlyName($_FILES['file']['name'][$key]));
        			}
        		}
			}
		}	
	}
}

if ($action == "upl_renamefile")
{
	$newname = str_replace("/", "", $newname);
	rename($cfgClient[$client]['upl']['path'].$path.$oldname, $cfgClient[$client]['upl']['path'].$path.$newname);	
}

class UploadList extends FrontendList
{
	var $dark;
	var $size;
	
	function convert ($field, $data)
	{
		global $cfg, $path, $sess, $cfgClient, $client, $appendparameters;
		
		if ($field == 5)
		{
			return human_readable_size($data);
		}
		
		if ($field == 4)
		{
				if ($appendparameters == "imagebrowser" || $appendparameters == "filebrowser")
				{
					$mstr = '<a href="javascript://" onclick="javascript:parent.parent.frames[\'left\'].frames[\'left_top\'].document.getElementById(\'selectedfile\').value= \''.$cfgClient[$client]["upl"]["frontendpath"].$path.$data.'\'; window.returnValue=\''.$cfgClient[$client]["upl"]["frontendpath"].$path.$data.'\'; window.close();">'.$data.'</a>';	
				} else {
				    $tmp_mstr = '<a href="javascript:conMultiLink(\'%s\', \'%s\', \'%s\', \'%s\')">%s</a>';
	                $mstr = sprintf($tmp_mstr, 'right_bottom',
	                                $sess->url("main.php?area=upl_edit&frame=4&path=$path&file=$data&startpage=".$_REQUEST['startpage']."&sortby=".$_REQUEST['sortby']."&sortmode=".$_REQUEST['sortmode']."&thumbnailmode=".$_REQUEST['thumbnailmode']),
	                                'right_top',
	                                $sess->url("main.php?area=upl&frame=3&path=$path&file=$data"),
	                                $data);
				}
                return $mstr;	
		}
		
		if ($field == 6)
		{
			return uplGetFileTypeDescription($data);	
		}
		
		if ($field == 3)
		{
			/* If this file is an image, try to open */
			switch (getFileExtension($data))
			{
        		case "png":
        		case "psd":
        		case "gif":
        		case "tiff":
        		case "bmp":
        		case "jpeg":
        		case "jpg":
        		case "bmp":
        		case "iff":
        		case "xbm":
        		case "wbmp":
        					if (is_dbfs($data))
        					{
								return '<a href="JavaScript:iZoom(\''.$sess->url($cfgClient[$client]["path"]["htmlpath"]."dbfs.php?file=".$data).'\');"><img src="'.uplGetThumbnail($data, $this->size).'">';        						
        					} else {
								return '<a href="JavaScript:iZoom(\''.$cfgClient[$client]["path"]["htmlpath"].$cfgClient[$client]["upload"].$data.'\');"><img src="'.uplGetThumbnail($data, $this->size).'">';
        					}
							break;
				default:
							if (is_dbfs($data))
        					{
								return '<a target="_blank" href="'.$sess->url($cfgClient[$client]["path"]["htmlpath"]."dbfs.php?file=".$data).'"><img src="'.uplGetThumbnail($data, $this->size).'"></a>';
        					} else {
								return '<a target="_blank" href="'.$cfgClient[$client]["path"]["htmlpath"].$cfgClient[$client]["upload"].$data.'"><img src="'.uplGetThumbnail($data, $this->size).'"></a>';        						
        					}
			}	
		}
		if ($field == 1)
		{
			if ($this->dark)
			{
	        	$data = $cfg["color"]["table_dark"];
    		} else {
	            $data = $cfg["color"]["table_light"];
    		}
    		$this->dark = !$this->dark;
		}
		
		return $data;
	}	
}

function uplRender ($path, $sortby, $sortmode, $startpage = 1,$thumbnailmode)
{
	global $cfg, $client, $cfgClient, $area, $frame, $sess, $browserparameters, $appendparameters, $perm, $auth;

	if ($sortby == "")
	{
		$sortby = 3;
		$sortmode = "ASC";	
	}
	
	if ($startpage == "")
	{
		$startpage = 1;
	}

	$thisfile = $sess->url("main.php?idarea=$area&frame=$frame&path=$path&thumbnailmode=$thumbnailmode");
	$scrollthisfile = $thisfile."&sortmode=$sortmode&sortby=$sortby&appendparameters=$appendparameters";
	
	if ($sortby == 3 && $sortmode == "DESC")
	{
		$fnsort = '<a href="'.$thisfile. '&sortby=3&sortmode=ASC&startpage='.$startpage.'">'.i18n("Filename / Description").'<img src="images/sort_down.gif" border="0"></a>';
	} else {
		if ($sortby == 3)
		{
			$fnsort = '<a href="'.$thisfile. '&sortby=3&sortmode=DESC&startpage='.$startpage.'">'.i18n("Filename / Description").'<img src="images/sort_up.gif" border="0"></a>';
		} else {
			$fnsort = '<a href="'.$thisfile. '&sortby=3&sortmode=ASC&startpage='.$startpage.'">'.i18n("Filename / Description").'</a>';
		}
	}
	
	if ($sortby == 5 && $sortmode == "DESC")
	{
		$sizesort = '<a href="'.$thisfile. '&sortby=5&sortmode=ASC&startpage='.$startpage.'">'.i18n("Size").'<img src="images/sort_down.gif" border="0"></a>';
	} else {
		if ($sortby == 5)
		{
			$sizesort = '<a href="'.$thisfile. '&sortby=5&sortmode=DESC&startpage='.$startpage.'">'.i18n("Size").'<img src="images/sort_up.gif" border="0"></a>';
		} else {
			$sizesort = '<a href="'.$thisfile. '&sortby=5&sortmode=ASC&startpage='.$startpage.'">'.i18n("Size")."</a>";
		}
	}
	
	if ($sortby == 6 && $sortmode == "DESC")
	{
		$typesort = '<a href="'.$thisfile. '&sortby=6&sortmode=ASC&startpage='.$startpage.'">'.i18n("Type").'<img src="images/sort_down.gif" border="0"></a>';
	} else {
		if ($sortby == 6)
		{
			$typesort = '<a href="'.$thisfile. '&sortby=6&sortmode=DESC&startpage='.$startpage.'">'.i18n("Type").'<img src="images/sort_up.gif" border="0"></a>';
		} else {
			$typesort = '<a href="'.$thisfile. '&sortby=6&sortmode=ASC&startpage='.$startpage.'">'.i18n("Type")."</a>";
		}
	}		
	
	/* List wraps */
	$startwrap = '<table cellspacing="0" cellpadding="2" border="0">
					<tr>
						<td colspan="6">
							<table border="0" cellspacing="2" padding="0" width="100%">
								<tr>
            						<td width="25%" style="border: 0px;" nowrap="nowrap">-C-SCROLLLEFT-</td>
            						<td width="50%" align="center">-C-PAGE-</td>
            						<td width="25%" nowrap="nowrap" align="right">-C-SCROLLRIGHT-</td>
								</tr>
							</table>
						</td>
					</tr>
                    <tr bgcolor="#a9aec2" style="border-color:#747488; border-style: solid;border-top: 1px;">
                        <td align="left" valign="top" class="text_medium" style="border: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap">'.i18n("Mark").'</td>
						<td align="left" valign="top" class="text_medium" style="border: 0px; border-top: 1px; border-right: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap">'.i18n("Preview").'</td>
                        <td width="100%" align="left" valign="top" class="text_medium" style="border: 0px; border-top: 1px; border-right: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap">'.$fnsort.'</td>
                        <td align="left" valign="top" class="text_medium" style="border: 0px; border-top: 1px; border-right: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap">'.$sizesort.'</td>
                        <td align="left" valign="top" class="text_medium" style="border: 0px; border-top: 1px; border-right: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap">'.$typesort.'</td>
                        <td align="left" valign="top" class="text_medium" style="border: 0px; border-top: 1px; border-right: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap">'.i18n("Actions").'</td>
                    </tr>';
    $itemwrap = '    <tr bgcolor="%s">
                        <td align="center" valign="top" class="text_medium" style="border: 1px; border-top: 0px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap">%s</td>
						<td align="left" valign="top" class="text_medium" style="border: 0px; border-right: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap">%s</td>
                        <td align="left" valign="top" class="text_medium" style="border: 0px; border-right: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" width="200" nowrap="nowrap">%s</td>
                        <td align="left" valign="top" class="text_medium" style="border: 0px; border-right: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" width="60" nowrap="nowrap">%s</td>
                        <td align="left" valign="top" class="text_medium" style="border: 0px; border-right: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" width="60" nowrap="nowrap">%s</td>
                        <td align="left" valign="top" class="text_medium" style="border: 0px; border-right: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" width="75" nowrap="nowrap">%s</td>
                    </tr>';
	$endwrap = '</table>';
	
	/* Object initializing */
	$page = new UI_Page;
	$list2 = new UploadList($startwrap, $endwrap, $itemwrap);
	
	$uploads = new UploadCollection;

	/* Fetch data */
	if (substr($path,strlen($path)-1,1) != "/")
	{
		if ($path != "")
		{
			$qpath = $path . "/";
		}
		
	} else {
		$qpath = $path;
	}
	
	$uploads->select("idclient = '$client' AND dirname = '$qpath'");

	$user = new User;
	$user->loadUserByUserID($auth->auth["uid"]);

	if ($thumbnailmode == '') {
		#Get user setting for thumbnail mode of current folder
		$current_mode = $user->getUserProperty('upload_folder_thumbnailmode', md5($path));
		if ($current_mode != '') {
			$thumbnailmode = $current_mode;
		} else {
			#Set thumbnail to defaultt
			$thumbnailmode = getEffectiveSetting('backend','thumbnailmode',100);
		}
	}
	
	switch ($thumbnailmode)
	{
		case -1: $numpics = 40; break;
		case 25: $numpics = 20; break;
		case 50: $numpics = 10; break;
		case 100:$numpics = 5; break;
		case 200:$numpics = 3; break;
				 break;
		default: $thumbnailmode = 100;
				 $numpics = 5;
				 break;	
	}
	
	#
	$user->setUserProperty('upload_folder_thumbnailmode', md5($path), $thumbnailmode);

	$list2->setResultsPerPage($numpics);	
	
	$list2->size = $thumbnailmode;
		
	$rownum = 0;
	
	$properties = new PropertyCollection;
	
	while ($item = $uploads->next())
	{
		$filename = $item->get("filename");
		
		$bAddFile = true;

		
		if ($appendparameters == "imagebrowser")
		{
			$restrictvar = "restrict_".$appendparameters;
			if (array_key_exists($restrictvar, $browserparameters))
		{
			$extension = getFileExtension($filename);
			if (count($browserparameters[$restrictvar]) > 0)
			{
				$bAddFile = false;
				if (in_array($extension, $browserparameters[$restrictvar]))
				{
					$bAddFile = true;	
				}
			}
		}
		}

		$dirname = $item->get("dirname");
		$filesize = $item->get("size");
		
		if ($filesize == 0)
		{
			if (file_exists($cfgClient[$client]["upl"]["path"].$dirname . $filename))
			{
				$filesize = filesize($cfgClient[$client]["upl"]["path"].$dirname . $filename);
			}
		}
		
        $dark = !$dark;
	    
	    if ($perm->have_perm_area_action("upl", "upl_delete"))
	    {
	    	$actions = '<a href="javascript:deleteFile(\'{PATH}\', \'{FILE}\', {STARTPAGE});"><img style="margin-right: 2px;" src="images/delete.gif" alt="{DELETEALT}" title="{DELETEALT}"></a>';
		    $actions = str_replace("{RENAMEALT}", i18n("Rename file"), $actions);
		    $actions = str_replace("{DELETEALT}", i18n("Delete file"), $actions);
		    $actions = str_replace("{STARTPAGE}", intval($startpage), $actions);
		    $actions = str_replace("{PATH}", $path, $actions);
		    $actions = str_replace("{FILE}", $filename, $actions);	    	
	    } else {
	    	$actions = "";
	    }
	    

	    
	    $medianame = $properties->getValue ("upload", $path.$filename, "file", "medianame");
		$medianotes = $properties->getValue ("upload", $path.$filename, "file", "medianotes");
		
		$todo = new TODOLink("upload",$path.$file, "File $path$filename","");
		
		$proptitle = i18n("Display properties");
		
		if ($appendparameters == "imagebrowser" || $appendparameters == "filebrowser")
		{
			$mstr = "";	
		} else {		
		    $tmp_mstr = '<a href="javascript:conMultiLink(\'%s\', \'%s\', \'%s\', \'%s\')">%s</a>';
	        $mstr = sprintf($tmp_mstr, 'right_bottom',
                        $sess->url("main.php?area=upl_edit&frame=4&path=$path&file=$filename&startpage=$startpage&sortby=$sortby&sortmode=$sortmode&thumbnailmode=$thumbnailmode"),
                        'right_top',
                        $sess->url("main.php?area=upl&frame=3&path=$path&file=$filename"),
                        '<img style="margin-left: 2px; margin-right: 2px;" alt="'.$proptitle.'" title="'.$proptitle.'" src="images/but_art_conf2.gif">');
		}
                        
        $actions = $mstr . $actions;
        
		$showfilename = $filename;
		
		$check = new cHTMLCheckbox("fdelete[]", $filename);
		
		$mark = $check->toHTML(false);
		
		if ($bAddFile == true)
		{
			$list2->setData($rownum, $bgColor,$mark, $dirname.$filename,
									 $showfilename,
									 $filesize,
									 getFileExtension($filename),
									 $todo->render().$actions);
			
									 
			$rownum++;
		}
	}
	
	if ($rownum == 0)
	{
		$page->setContent(i18n("No files found"));
		$page->render();
		return;
	}
	
	if ($sortmode == "ASC")
	{
		$list2->sort($sortby, SORT_ASC);
	} else {
		$list2->sort($sortby, SORT_DESC);
	}
	
	if ($startpage < 1)
	{
		$startpage = 1;
	}
	
	if ($startpage > $list2->getNumPages())
	{
		$startpage = $list2->getNumPages();	
	}
	
	$list2->setListStart($startpage);
	
	/* Create scroller */
	if ($list2->getCurrentPage() > 1)
	{
		$prevpage = '<a href="'.$scrollthisfile.'&startpage='.($list2->getCurrentPage()-1).'"><img align="middle" src="images/pfeil_links.gif">'.i18n("Previous Page").'</a>';	
	}
	
	if ($list2->getCurrentPage() < $list2->getNumPages())
	{
		$nextpage = '<a href="'.$scrollthisfile.'&startpage='.($list2->getCurrentPage()+1).'">'.i18n("Next Page").'<img align="middle" src="images/pfeil_rechts.gif"></a>';	
	}
	
	#$curpage = $list2->getCurrentPage() . " / ". $list2->getNumPages();
	 
	if ($list2->getNumPages()>1) {
	$num_pages = $list2->getNumPages();
	#$paging_form = "<form action ='".$sess->url("main.php")
	
    $paging_form.="<script type=\"text/javascript\">
       function jumpToPage() {
         var pagenumber = document.forms['del'].elements['start_page'].selectedIndex + 1;
         url = '".$sess->url('main.php')."';
         document.location.href = url + '&area=con_upl&frame=4&path=$path&appendparameters=$appendparameters&sortmode=$sortmode&sortby=$sortby&thumbnailmode=$thumbnailmode&startpage=' + pagenumber;
      }
    </script>";
	$paging_form.="<select name=\"start_page\" class=\"text_medium\" onChange=\"jumpToPage();\">";
	for ($i=1;$i<=$num_pages;$i++) {
		if ($i==$startpage) {
			$selected = " selected";
		} else {
			$selected = "";
		}
		$paging_form.="<option value=\"$i\"$selected>$i</option>";
	}	

	$paging_form.="</select>";
	#$paging_form.= '</form>';	
} else {
	$paging_form="1";
}
$curpage = $paging_form . " / ". $list2->getNumPages();
	
	$scroller = $prevpage . $nextpage;
	
	$output = $list2->output(true);
	
	$output = str_replace("-C-SCROLLLEFT-", $prevpage, $output);
	$output = str_replace("-C-SCROLLRIGHT-", $nextpage, $output);
	$output = str_replace("-C-PAGE-", i18n("Page")." ".$curpage, $output);

	$form = new UI_Form("options");
	$form->setVar("contenido", $sess->id);
	$form->setVar("area", $area);
	$form->setVar("frame", $frame);
	$form->setVar("path", $path);
	$form->setVar("sortmode", $sortmode);
	$form->setVar("sortby", $sortby);
	$form->setVar("startpage", $startpage);
	$form->setVar("appendparameters", $appendparameters);

	$select = new cHTMLSelectElement("thumbnailmode");
	
	$values = Array(-1 => i18n("No thumbnails"),
					25 => "25x25",
					50 => "50x50",
					100 => "100x100",
					200 => "200x200");
					
	foreach ($values as $key => $value)
	{
		$option = new cHTMLOptionElement($value, $key);
		$select->addOptionElement($key, $option);
	}
	
	$select->setDefault($thumbnailmode);

	if (is_dbfs($path))
	{
		$mpath = $path."/";	
	} else {
		$mpath = "upload:/".$path;	
	}
	$topbar = '<table cellspacing="0" cellpadding="2" border="0">
                <tr bgcolor="'.$cfg["color"]["table_light"].'" style="border-color:#747488; border-style: solid;border-top: 1px;">
					<td colspan="3" align="left" valign="middle" class="text_medium" style="border: 0px; border-left: 1px; border-top: 1px; border-bottom: 1px; border-right: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap">'.i18n("Path:")." ". $mpath.'</td>
				</tr>
				<tr bgcolor="'.$cfg["color"]["table_light"].'" style="border-color:#747488; border-style: solid;border-top: 1px;">
					<td align="left" valign="middle" class="text_medium" style="border: 0px; border-left: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap">'.i18n("Thumbnail size:").'</td>
                    <td align="left" valign="middle" class="text_medium" style="border: 0px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap">'.$select->render().'</td>
                    <td align="left" valign="middle" class="text_medium" style="border: 0px; border-right: 1px; border-bottom: 1px; border-color: #747488; border-style: solid; white-space:nowrap;" nowrap="nowrap"><input type="image" src="images/submit.gif"></td>
                </tr></table>';	
	$form->add("select", $topbar);
	
	
	$script = '<script type="text/javascript">

        /* Session-ID */
        var sid = "{SID}";

        /* Function for deleting
           modules */

        function deleteFile(path, file, page) {

            url  = \'main.php?area=upl\';
            url += \'&action=upl_delete\';
            url += \'&frame=4\';
            url += \'&path=\' + path;
			url += \'&file=\' + file;
			url += \'&startpage=\' + page;
            url += \'&contenido=\' + sid;
			url += \'&appendparameters='.$appendparameters.'\';
            
            window.location.href = url;

        }
        
        function renameFile (oldname, path, page)
        {
        	var newname;
        	var url;
        	
        	newname = prompt("{RENAME}",oldname);

			if (newname)
			{
	            url  = \'main.php?area=upl\';
	            url += \'&action=upl_renamefile\';
	            url += \'&frame=4\';
	            url += \'&newname=\' + newname;
	            url += \'&oldname=\' + oldname;
				url += \'&startpage=\' + page;
	            url += \'&path=\' + path;
	            url += \'&contenido=\' + sid;
	            
	            window.location.href = url;		
			}
        }

    </script>';
    
    $script = str_replace('{SID}', $sess->id, $script);
    $script = str_replace('{RENAME}', i18n("Enter new filename"), $script);
    
    $page->addScript("script", $script);
    $markSubItem = markSubMenuItem(0, true);
    
    $delform = new UI_Form("del");
    $delform->setVar("area", $area);
    $delform->setVar("action", "upl_multidelete");
	$delform->setVar("startpage", $startpage);
	$delform->setVar("thumbnailmode", $thumbnailmode);
	$delform->setVar("sortmode" , $sortmode);
	$delform->setVar("sortby", $sortby);
	$delform->setVar("path", $path);
	$delform->setVar("frame", 4);
	
    $delform->add("list", $output);
    
    
    $delform->add("delbutton", '<table border="0"><tr><td>'.i18n("With selected:").'</td><td><input type="image" src="images/delete.gif"></tr></table>');
    
    $page->addScript("iZoom", '<script type="text/javascript" src="'.$sess->url("scripts/iZoom.js.php").'"></script>');

	$page->setContent($form->render()."<br>".$delform->render().$markSubItem);
	$page->render();
}

uplSyncDirectory($path);
uplRender($path, $sortby, $sortmode, $startpage, $thumbnailmode);

?>
Nicht schön, aber funktioniert.


Gruß

Ingo

#ayshe
Beiträge: 445
Registriert: Do 25. Mär 2004, 10:04
Kontaktdaten:

Beitrag von #ayshe » Mi 14. Dez 2005, 18:16

emergence hat geschrieben:
#ayshe hat geschrieben:Ich finde, dass sollte schnell professionell gefixt werden...
also findest du die lösung seitens Dodger77 nicht professionell genug ?
da wird er aber beleidigt sein...
Ich finde Dodgers Lösung sehr gut.
Aber mit "professionell" habe ich in die Richtung von 4fb gezeigt und eine im Contenido integrierte Fehlerbereinigung gemeint.

Gruß,
Ayshe

Gesperrt