JS: POP-UPs малко помощ

rusi_mc

Registered
Как мога да си направя попъп-и като на subs.sab.bz ?
Смисъл да ми показва картинка (качена при ъплоуда) и текст (написан също при ъплоуда). Сега имах попъп-и, но показваха само името на файла.
Ето какво искам :

ето кода в джава скрипта:
Код:
var olShowId=-1;

// Displays the popup
function disp(statustext) {
	runHook("disp", FBEFORE);
	
	if (o3_allowmove == 0) {
		runHook("placeLayer", FREPLACE);
		(olNs6&&olShowId<0) ? olShowId=setTimeout("runHook('showObject', FREPLACE, over)", 1) : runHook("showObject", FREPLACE, over);
		o3_allowmove = (o3_sticky || o3_followmouse==0) ? 0 : 1;
	}
	
	runHook("disp", FAFTER);

	if (statustext != "") self.status = statustext;
}

// Creates the actual popup structure
function createPopup(lyrContent){
	runHook("createPopup", FBEFORE);
	
	if (o3_wrap && !(olNs4 || olOp)) {
		if (olIe4) {
			over.style.pixelWidth = 0;
		} else if (olNs6) {
			repositionTo(over, 0, -over.offsetHeight);
		}
	}

	layerWrite(lyrContent);
	
	// Have to set o3_width for placeLayer() routine if o3_wrap is turned on
	if (o3_wrap) o3_width=(olNs4 ? over.clip.width : over.offsetWidth);
	
	runHook("createPopup", FAFTER, lyrContent);

	return true;
}

// Decides where we want the popup.
function placeLayer() {
	var placeX, placeY, widthFix = 0;
	
	// HORIZONTAL PLACEMENT, re-arranged to work in Safari
	if (o3_frame.innerWidth) { 
		widthFix=Math.ceil(1.2*(o3_frame.outerWidth - o3_frame.innerWidth));
    widthFix = (widthFix > 50) ? 0 : widthFix;
		iwidth=o3_frame.innerWidth;
	} else if (eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientWidth=='number'")&&eval('o3_frame.'+docRoot+'.clientWidth')) {
		iwidth=eval('o3_frame.'+docRoot+'.clientWidth');
	}			

	// Horizontal scroll offset
	winoffset=(olIe4) ? eval('o3_frame.'+docRoot+'.scrollLeft') : o3_frame.pageXOffset;

	placeX = runHook('horizontalPlacement',FCHAIN,iwidth,winoffset,widthFix);

	// VERTICAL PLACEMENT, re-arranged to work in Safari
	if (o3_frame.innerHeight) {
		iheight=o3_frame.innerHeight;
	} else if (eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientHeight=='number'")&&eval('o3_frame.'+docRoot+'.clientHeight')) { 
		iheight=eval('o3_frame.'+docRoot+'.clientHeight');
	}			

	// Vertical scroll offset
	scrolloffset=(olIe4) ? eval('o3_frame.'+docRoot+'.scrollTop') : o3_frame.pageYOffset;
	placeY = runHook('verticalPlacement',FCHAIN,iheight,scrolloffset);

	// Actually move the object.
	repositionTo(over, placeX, placeY);
}

// Moves the layer
function olMouseMove(e) {
	var e = (e) ? e : event;

	if (e.pageX) {
		o3_x = e.pageX;
		o3_y = e.pageY;
	} else if (e.clientX) {
		o3_x = eval('e.clientX+o3_frame.'+docRoot+'.scrollLeft');
		o3_y = eval('e.clientY+o3_frame.'+docRoot+'.scrollTop');
	}
	
	if (o3_allowmove == 1) runHook("placeLayer", FREPLACE);

	// MouseOut handler
	if (hoveringSwitch && !olNs4 && runHook("cursorOff", FREPLACE)) {
		(olHideDelay ? hideDelay(olHideDelay) : cClick());
		hoveringSwitch = !hoveringSwitch;
	}
}

// Fake function for 3.0 users.
function no_overlib() { return ver3fix; }

// Capture the mouse and chain other scripts.
function olMouseCapture() {
	capExtent = document;
	var fN, mseHandler = olMouseMove;
	var re = /function[ ]+(\w+)\(/;
	
	if (document.onmousemove || (!olIe4 && window.onmousemove)) {
		if (window.onmousemove) capExtent = window;
		fN = capExtent.onmousemove.toString().match(re);

		if (fN == null || fN[1] == 'anonymous' || fN[1] == 'olMouseMove') {
			olCheckMouseCapture = false;
			return;
		}
		var str = fN[1]+'(e); ' + 'olMouseMove(e); ';
		mseHandler = new Function('e', str);
	}

	capExtent.onmousemove = mseHandler;
	if (olNs4) capExtent.captureEvents(Event.MOUSEMOVE);
}

Ето и формата ми за ъплоуд
Код:
<p align="center"> <?php 

// Максимална големина на файла за качване (сега е 2 ГБ) 

$MAX_SIZE = 1435456; 





$FILE_EXTS = array('.zip','.rar'); 





// Възможност за триене на качени файлове. При TRUE - може да се трият, при FALSE - не. 

$DELETABLE = false; 







$site_name = $_SERVER['HTTP_HOST']; 

$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']); 

$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; 



$upload_dir = "subs/"; 

$upload_url = $url_dir."/subs/"; 

$message =""; 





if (!is_dir("subs")) { 

if (!mkdir($upload_dir)) 

die ("upload_files директорията не съществува и създаването и е невъзможно."); 

if (!chmod($upload_dir,0755)) 

die ("change permission to 755 failed."); 

} 





if ($_REQUEST[del] && $DELETABLE) { 

$resource = fopen("log.txt","a"); 

fwrite($resource,date("Ymd h:i:s")."DELETE - $_SERVER[REMOTE_ADDR]"."$_REQUEST[del]\n"); 

fclose($resource); 



if (strpos($_REQUEST[del],"/.")>0); 

else if (strpos($_REQUEST[del],$upload_dir) === false); 

else if (substr($_REQUEST[del],0,6)==$upload_dir) { 

unlink($_REQUEST[del]); 

print "<script>window.location.href='$url_this?message=deleted successfully'</script>"; 

} 

} 

else if ($_FILES['userfile']) { 

$resource = fopen("log.txt","a"); 

fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]" 

.$_FILES['userfile']['name']." " 

.$_FILES['userfile']['type']."\n"); 

fclose($resource); 



$file_type = $_FILES['userfile']['type']; 

$file_name = $_FILES['userfile']['name']; 

$file_ext = strtolower(substr($file_name,strrpos($file_name,"."))); 



// Ако променята макс. големина на качващия се файл променети и по-долното съобщение. 

if ( $_FILES['userfile']['size'] > $MAX_SIZE) 

$message = "Този файл е над позволения размер."; 

if(file_exists($upload_dir.$_FILES['userfile']['tmp_name']))

$message = "Файлът, който се опитвате да качите вече съществува!";



else if (!in_array($file_ext, $FILE_EXTS)) 

$message = "Извинете, $file_name($file_type) не може да се качи(файла не е поддържан)."; 

else 

$message = do_upload($upload_dir, $upload_url); 



print "<script>window.location.href='$url_this?message=$message'</script>"; 

} 

else if (!$_FILES['userfile']); 

else 

$message = "Невалиден формат."; 





$handle=opendir($upload_dir); 

$filelist = ""; 

while ($file = readdir($handle)) { 

if(!is_dir($file) && !is_link($file)) { 

$filelist .= "<a href='$upload_dir$file'>".$file."</a> - URL: <b>$upload_url$file</b>"; 

if ($DELETABLE) 



$filelist .= " Качен на ".date("d-m H:i", filemtime($upload_dir.$file)) 

.""; 

$filelist .= " <a style='text-decoration:none; font-weight:bold' href='?del=$upload_dir".urlencode($file)."' title='delete'>x</a>"; 

$filelist .="<br>"; 

} 

} 



function do_upload($upload_dir, $upload_url) { 



$temp_name = $_FILES['userfile']['tmp_name']; 

$file_name = $_FILES['userfile']['name']; 

$file_name = str_replace("\\","",$file_name); 

$file_name = str_replace("'","",$file_name); 

$file_path = $upload_dir.$file_name; 





if ( $file_name =="") { 

$message = "Грешно име"; 

return $message; 

} 



$result = move_uploaded_file($temp_name, $file_path); 

if (!chmod($file_path,0777)) 

$message = "change permission to 777 failed."; 

else 

$message = ($result)?"$file_name е качен успешно." : 

"Има грешка с избрания файл."; 

return $message; 

} 



?> 



<div align="center" class="style1 style5">

  <p><br> 

      <span class="style5">текст </span></p>

  <p class="style13"><span class="style17">текст</span>. </p>

</div>

<center> 

<font color=red><?=$_REQUEST[message]?></font> 

<br> 

<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post"> 

  <span class="style10">Качи файл</span> 

  <input type="file" id="userfile" name="userfile"> 

<input type="submit" name="upload" value="Качи"> 

</form>  </p>
 
Мисля, че това може да стане с overlib погледни тук

ЕДИТ:
Може да погледнеш и ето това
 
Сложих си тези балони, но каква трябва да бъде ъплоуд формата, че да ми показва в балона картинка, качена при добаявянето на субтитрите и тест, написан също при качването от ъплоудера ?
 

Back
Горе