Μια βοήθεια σχετικά με τη function dirList ($directory)

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από Sfinaki » 07 Απρ 2015 09:06

Καλημέρα,

Έχω την παρακάτω function dirList ($directory)

Κώδικας: Επιλογή όλων

function dirList ($directory) 
{
    $results = array();
    $handler = opendir($directory);
    while ($file = readdir($handler)) 
	{
        if ($file != '.' && $file != '..')
		{
			$pos = strrpos($file,".");
			$ph = strtolower(substr($file,$pos+1,strlen($file)-$pos));
			if($ph == "avi" || $ph == "mpeg" || $ph == "mpg" || $ph == "mov" || $ph == "flv" || $ph == "3gp" || $ph == "mp4" || $ph == "wmv" || $ph == "mpeg4" || $ph == "xvid" || $ph == "divx" || $ph == "mov")
			{
            	$results[] = $file;
			}
		}
    }
    closedir($handler);
    return $results;
}
και θα ήθελα αν γίνεται να μου εμφανίζονται τα αρχεία αλφαβητικά και όχι κουτουρού.

Ευχαριστώ εκ των προτέρων για την οποιαδήποτε βοήθεια.


Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από Sfinaki » 07 Απρ 2015 09:54

Φίλε gvre καλημέρα,

Ευχαριστώ για την απάντησή σου, αλλά θα μπορούσες να με βοηθούσες με τον κώδικα γιατί δεν ξέρω πως να το κάνω;

Ευχαριστώ!

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από gvre » 07 Απρ 2015 09:58

Βάλε το natsort($results);
ακριβώς 1 γραμμή πριν το return $results;

Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από Sfinaki » 07 Απρ 2015 10:04

gvre έγραψε:Βάλε το natsort($results);
ακριβώς 1 γραμμή πριν το return $results;
Το έβαλα, αλλά και πάλι δεν έκανε τίποτα.

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από gvre » 07 Απρ 2015 10:08

Στείλε τον κώδικα της συνάρτησης και εκεί που την καλείς και εμφανίζεις τα αποτελέσματα.

Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από Sfinaki » 07 Απρ 2015 10:11

Αυτός είναι ολόκληρος ο κώδικας:

Κώδικας: Επιλογή όλων

<?php

include&#40;"../include/config.php"&#41;;
include_once&#40;"../include/functions/import.php"&#41;;
verify_login_admin&#40;&#41;;

if&#40;$_REQUEST&#91;submitform&#93; == "1"&#41;
&#123;
	$USERID = $_POST&#91;'USERID'&#93;;
	$categories = intval&#40;$_POST&#91;'categories'&#93;&#41;;
	$same = $_POST&#91;'same'&#93;;
	$title = $_POST&#91;'title'&#93;;
	$tags = $_POST&#91;'tags'&#93;;
	$public = $_POST&#91;'public'&#93;;
	
	if&#40;$USERID > 0&#41;
	&#123;
		if&#40;$same == "1" && &#40;$title == "" || $tags == "" || $public == ""&#41;&#41;
		&#123;
			$error = "Error&#58; To use the same details for all videos you must fill out all of the all videos fields.";
		&#125;
		else
		&#123;
			$process = $_POST&#91;process&#93;;
			$svcount = count&#40;$process&#41;;
			for &#40;$i = 0; $i < $svcount; $i++&#41;
			&#123;
				if &#40;$process&#91;$i&#93; != "" && $process&#91;$i&#93; >= 0 && is_numeric&#40;$process&#91;$i&#93;&#41;&#41;
				&#123;	
					if&#40;$same == "1"&#41;
					&#123;
						$ptitle = $title;
						$ptags = $tags;
						$ppublic = $public;
					&#125;
					else
					&#123;
						$ptitle = $_POST&#91;'title'.$process&#91;$i&#93;&#93;;
						$ptags =  $_POST&#91;'tags'.$process&#91;$i&#93;&#93;;
						$ppublic = $_POST&#91;'public'.$process&#91;$i&#93;&#93;;
					&#125;
					$pfilename = $_POST&#91;'filename'.$process&#91;$i&#93;&#93;;
					if&#40;$ptitle == "" || $ptags == "" || $ppublic == ""&#41;
					&#123;
						$error = "Error&#58; Video details missing, skipping.";
					&#125;
					else
					&#123;
						$pos = strrpos&#40;$pfilename,"."&#41;;
						$ph = strtolower&#40;substr&#40;$pfilename,$pos+1,strlen&#40;$pfilename&#41;-$pos&#41;&#41;;
						
						$query = "INSERT INTO videos SET USERID='$USERID', title='".mysql_real_escape_string&#40;$ptitle&#41;."', tags='".mysql_real_escape_string&#40;$ptags&#41;."', categories='".mysql_real_escape_string&#40;$categories&#41;."', public='".mysql_real_escape_string&#40;$ppublic&#41;."', time_added='".time&#40;&#41;."', date_added='".date&#40;"Y-m-d"&#41;."', active='0'";
						$conn->execute&#40;$query&#41;;
						
						$videoid = mysql_insert_id&#40;&#41;;
						
						$upload_file_path = $config&#91;'basedir'&#93;.'/administrator/bulk_videos/'.$pfilename;
						$original = $videoid.".".$ph;
						$videor = $config&#91;'originalvdir'&#93;.'/'.$original;
		
						if&#40;rename&#40;$upload_file_path,$videor&#41;&#41;
						&#123;	
							exec&#40;"$config&#91;phppath&#93; $config&#91;basedir&#93;/bgconversion.php $original $videoid $videor> /dev/null &"&#41;; 
							
							generate_video_thumbs&#40;$videor, $videoid&#41;;
				
							exec&#40;"$config&#91;mplayer&#93; -vo null -ao null -frames 0 -identify $config&#91;originalvdir&#93;/$original", $difh&#41;;
							
							while &#40;list&#40;$k,$v&#41;=each&#40;$difh&#41;&#41;
							&#123;
								if &#40;$length = strstr&#40;$v,'ID_LENGTH='&#41;&#41;
									break;
							&#125;
							
							$lx = explode&#40;"=",$length&#41;;
							$runtime = $lx&#91;1&#93;;
	
						&#125; 
						else
						&#123;
							$error = "$lang&#91;689&#93;";
						&#125;
						
						if&#40;$error == ""&#41;
						&#123;
							$query = "UPDATE videos SET original_video='$original', video_name='".$videoid.".flv', runtime='$runtime', active='1', bulk='1' WHERE VIDEOID='$videoid'";
							$conn->execute&#40;$query&#41;;
						&#125;
						
					&#125;
				&#125;
			&#125;
			
			if&#40;$svcount > 0&#41;
			&#123;
				$message = "Success&#58; Your selected videos have been processed.";
			&#125;
			else
			&#123;
				$error = "Error&#58; Please select videos to process.";
			&#125;
		&#125;
	&#125;
	else
	&#123;
		$error = "Error&#58; Please select a owner for the videos.";
	&#125;
&#125;
	
function insert_get_all_members&#40;&#41;
&#123;
    global $config,$conn;
	$query = "select USERID,username from members order by USERID asc"; 
	$results = $conn->execute&#40;$query&#41;;
	$returnthis = $results->getrows&#40;&#41;;
	return $returnthis;
&#125;

function insert_get_all_cats&#40;&#41;
&#123;
    global $config,$conn;
	$query = "select CATID,name from categories order by name asc"; 
	$results = $conn->execute&#40;$query&#41;;
	$returnthis = $results->getrows&#40;&#41;;
	return $returnthis;
&#125;
		
function dirList &#40;$directory&#41; 
&#123;
    $results = array&#40;&#41;;
    $handler = opendir&#40;$directory&#41;;
    while &#40;$file = readdir&#40;$handler&#41;&#41; 
	&#123;
        if &#40;$file != '.' && $file != '..'&#41;
		&#123;
			$pos = strrpos&#40;$file,"."&#41;;
			$ph = strtolower&#40;substr&#40;$file,$pos+1,strlen&#40;$file&#41;-$pos&#41;&#41;;
			if&#40;$ph == "avi" || $ph == "mpeg" || $ph == "mpg" || $ph == "mov" || $ph == "flv" || $ph == "3gp" || $ph == "mp4" || $ph == "wmv" || $ph == "mpeg4" || $ph == "xvid" || $ph == "divx" || $ph == "mov"&#41;
			&#123;
            	$results&#91;&#93; = $file;
			&#125;
		&#125;
    &#125;
    closedir&#40;$handler&#41;;
    return $results;
&#125;

function insert_clean_filename&#40;$var&#41;
&#123;
	$fname	= $var&#91;'fname'&#93;;
	$fname = str_replace&#40;"_", " ", $fname&#41;;
	$fname = str_replace&#40;"-", " ", $fname&#41;;
	$pos = strrpos&#40;$fname,"."&#41;;
	$ph = strtolower&#40;substr&#40;$fname,$pos+1,strlen&#40;$fname&#41;-$pos&#41;&#41;;
	$fname = strtolower&#40;substr&#40;$fname,0,strlen&#40;$fname&#41;-strlen&#40;$ph&#41;-1&#41;&#41;;
	return $fname;
&#125;

$videos = dirList&#40;$config&#91;'basedir'&#93;."/administrator/bulk_videos/"&#41;;
Stemplate&#58;&#58;assign&#40;'videos',$videos&#41;;

$mainmenu = "4";
$submenu = "1";
Stemplate&#58;&#58;assign&#40;'message',$message&#41;;
Stemplate&#58;&#58;assign&#40;'error',$error&#41;;
Stemplate&#58;&#58;assign&#40;'mainmenu',$mainmenu&#41;;
Stemplate&#58;&#58;assign&#40;'submenu',$submenu&#41;;
STemplate&#58;&#58;display&#40;"administrator/global_header.tpl"&#41;;
STemplate&#58;&#58;display&#40;"administrator/videos_bulk.tpl"&#41;;
STemplate&#58;&#58;display&#40;"administrator/global_footer.tpl"&#41;;
?>

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από gvre » 07 Απρ 2015 10:16

Δεν το έβαλες.

Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από Sfinaki » 07 Απρ 2015 14:03

Το έβαλα!
Απλά σου έστειλα τον κώδικα χωρίς τη γραμμή που μου είπες να προσθέσω.
Ο παρακάτω κώδικας είναι με τη γραμμή που μου είπες να προσθέσω και πάλι δεν κάνει τίποτα:

Κώδικας: Επιλογή όλων

<?php

include&#40;"../include/config.php"&#41;;
include_once&#40;"../include/functions/import.php"&#41;;
verify_login_admin&#40;&#41;;

if&#40;$_REQUEST&#91;submitform&#93; == "1"&#41;
&#123;
	$USERID = $_POST&#91;'USERID'&#93;;
	$categories = intval&#40;$_POST&#91;'categories'&#93;&#41;;
	$same = $_POST&#91;'same'&#93;;
	$title = $_POST&#91;'title'&#93;;
	$tags = $_POST&#91;'tags'&#93;;
	$public = $_POST&#91;'public'&#93;;
	
	if&#40;$USERID > 0&#41;
	&#123;
		if&#40;$same == "1" && &#40;$title == "" || $tags == "" || $public == ""&#41;&#41;
		&#123;
			$error = "Error&#58; To use the same details for all videos you must fill out all of the all videos fields.";
		&#125;
		else
		&#123;
			$process = $_POST&#91;process&#93;;
			$svcount = count&#40;$process&#41;;
			for &#40;$i = 0; $i < $svcount; $i++&#41;
			&#123;
				if &#40;$process&#91;$i&#93; != "" && $process&#91;$i&#93; >= 0 && is_numeric&#40;$process&#91;$i&#93;&#41;&#41;
				&#123;	
					if&#40;$same == "1"&#41;
					&#123;
						$ptitle = $title;
						$ptags = $tags;
						$ppublic = $public;
					&#125;
					else
					&#123;
						$ptitle = $_POST&#91;'title'.$process&#91;$i&#93;&#93;;
						$ptags =  $_POST&#91;'tags'.$process&#91;$i&#93;&#93;;
						$ppublic = $_POST&#91;'public'.$process&#91;$i&#93;&#93;;
					&#125;
					$pfilename = $_POST&#91;'filename'.$process&#91;$i&#93;&#93;;
					if&#40;$ptitle == "" || $ptags == "" || $ppublic == ""&#41;
					&#123;
						$error = "Error&#58; Video details missing, skipping.";
					&#125;
					else
					&#123;
						$pos = strrpos&#40;$pfilename,"."&#41;;
						$ph = strtolower&#40;substr&#40;$pfilename,$pos+1,strlen&#40;$pfilename&#41;-$pos&#41;&#41;;
						
						$query = "INSERT INTO videos SET USERID='$USERID', title='".mysql_real_escape_string&#40;$ptitle&#41;."', tags='".mysql_real_escape_string&#40;$ptags&#41;."', categories='".mysql_real_escape_string&#40;$categories&#41;."', public='".mysql_real_escape_string&#40;$ppublic&#41;."', time_added='".time&#40;&#41;."', date_added='".date&#40;"Y-m-d"&#41;."', active='0'";
						$conn->execute&#40;$query&#41;;
						
						$videoid = mysql_insert_id&#40;&#41;;
						
						$upload_file_path = $config&#91;'basedir'&#93;.'/administrator/bulk_videos/'.$pfilename;
						$original = $videoid.".".$ph;
						$videor = $config&#91;'originalvdir'&#93;.'/'.$original;
		
						if&#40;rename&#40;$upload_file_path,$videor&#41;&#41;
						&#123;	
							exec&#40;"$config&#91;phppath&#93; $config&#91;basedir&#93;/bgconversion.php $original $videoid $videor> /dev/null &"&#41;; 
							
							generate_video_thumbs&#40;$videor, $videoid&#41;;
				
							exec&#40;"$config&#91;mplayer&#93; -vo null -ao null -frames 0 -identify $config&#91;originalvdir&#93;/$original", $difh&#41;;
							
							while &#40;list&#40;$k,$v&#41;=each&#40;$difh&#41;&#41;
							&#123;
								if &#40;$length = strstr&#40;$v,'ID_LENGTH='&#41;&#41;
									break;
							&#125;
							
							$lx = explode&#40;"=",$length&#41;;
							$runtime = $lx&#91;1&#93;;
	
						&#125; 
						else
						&#123;
							$error = "$lang&#91;689&#93;";
						&#125;
						
						if&#40;$error == ""&#41;
						&#123;
							$query = "UPDATE videos SET original_video='$original', video_name='".$videoid.".flv', runtime='$runtime', active='1', bulk='1' WHERE VIDEOID='$videoid'";
							$conn->execute&#40;$query&#41;;
						&#125;
						
					&#125;
				&#125;
			&#125;
			
			if&#40;$svcount > 0&#41;
			&#123;
				$message = "Success&#58; Your selected videos have been processed.";
			&#125;
			else
			&#123;
				$error = "Error&#58; Please select videos to process.";
			&#125;
		&#125;
	&#125;
	else
	&#123;
		$error = "Error&#58; Please select a owner for the videos.";
	&#125;
&#125;
	
function insert_get_all_members&#40;&#41;
&#123;
    global $config,$conn;
	$query = "select USERID,username from members order by USERID asc"; 
	$results = $conn->execute&#40;$query&#41;;
	$returnthis = $results->getrows&#40;&#41;;
	return $returnthis;
&#125;

function insert_get_all_cats&#40;&#41;
&#123;
    global $config,$conn;
	$query = "select CATID,name from categories order by name asc"; 
	$results = $conn->execute&#40;$query&#41;;
	$returnthis = $results->getrows&#40;&#41;;
	return $returnthis;
&#125;
		
function dirList &#40;$directory&#41; 
&#123;
    $results = array&#40;&#41;;
    $handler = opendir&#40;$directory&#41;;
    while &#40;$file = readdir&#40;$handler&#41;&#41; 
	&#123;
        if &#40;$file != '.' && $file != '..'&#41;
		&#123;
			$pos = strrpos&#40;$file,"."&#41;;
			$ph = strtolower&#40;substr&#40;$file,$pos+1,strlen&#40;$file&#41;-$pos&#41;&#41;;
			if&#40;$ph == "avi" || $ph == "mpeg" || $ph == "mpg" || $ph == "mov" || $ph == "flv" || $ph == "3gp" || $ph == "mp4" || $ph == "wmv" || $ph == "mpeg4" || $ph == "xvid" || $ph == "divx" || $ph == "mov"&#41;
			&#123;
            	$results&#91;&#93; = $file;
			&#125;
		&#125;
    &#125;
    closedir&#40;$handler&#41;;
    natsort&#40;$results&#41;;
    return $results;
&#125;

function insert_clean_filename&#40;$var&#41;
&#123;
	$fname	= $var&#91;'fname'&#93;;
	$fname = str_replace&#40;"_", " ", $fname&#41;;
	$fname = str_replace&#40;"-", " ", $fname&#41;;
	$pos = strrpos&#40;$fname,"."&#41;;
	$ph = strtolower&#40;substr&#40;$fname,$pos+1,strlen&#40;$fname&#41;-$pos&#41;&#41;;
	$fname = strtolower&#40;substr&#40;$fname,0,strlen&#40;$fname&#41;-strlen&#40;$ph&#41;-1&#41;&#41;;
	return $fname;
&#125;

$videos = dirList&#40;$config&#91;'basedir'&#93;."/administrator/bulk_videos/"&#41;;
Stemplate&#58;&#58;assign&#40;'videos',$videos&#41;;

$mainmenu = "4";
$submenu = "1";
Stemplate&#58;&#58;assign&#40;'message',$message&#41;;
Stemplate&#58;&#58;assign&#40;'error',$error&#41;;
Stemplate&#58;&#58;assign&#40;'mainmenu',$mainmenu&#41;;
Stemplate&#58;&#58;assign&#40;'submenu',$submenu&#41;;
STemplate&#58;&#58;display&#40;"administrator/global_header.tpl"&#41;;
STemplate&#58;&#58;display&#40;"administrator/videos_bulk.tpl"&#41;;
STemplate&#58;&#58;display&#40;"administrator/global_footer.tpl"&#41;;
?>

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από gvre » 07 Απρ 2015 14:13

Επειδή δεν ξέρω τί ακριβώς κάνει με τα δεδομένα σου το template, βάλε στην επόμενη γραμμή από τη natsort ένα
print_r($results); exit;
και στείλε το αποτέλεσμα. Αν θέλεις η ταξινόμηση να είναι case insensitive, άλλαξε τη natsort με τη natcasesort.

Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από Sfinaki » 07 Απρ 2015 14:43

Τα αποτελέσματα είναι τα ίδια!
Μου εμφανίζει τα αρχεία, αλλά όχι με τη σειρά.

Δηλαδή:
1.mp4
4.mp4
3.mp4
2.mp4
Αυτά τα mp4 είναι σε πεδία για αποστολή μέσω σελίδα διαχείρισης.
Απλά τα θέλω με τη σειρά, αν γίνεται.
Διαφορετικά άστο δεν πειράζει, θα το δουλέψω έτσι.

Ευχαριστώ.

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από gvre » 07 Απρ 2015 15:14

Στείλε ακριβώς (με copy-paste) το output από την print_r που σου έγραψα.

Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από Sfinaki » 07 Απρ 2015 17:39

Λοιπόν στο Screen-shot με όνομα No_Change βλέπεις τα αποτελέσματα με το αρχείο απείραχτο, χωρίς τις αλλαγές που μου έχεις γράψει να κάνω και στο Screen-shot με όνομα With_Change, βλέπεις το αποτέλεσμα με τι αλλαγές που έχει πει να κάνω.
Στη δεύτερη περίπτωση με τις δικές σου αλλαγές δηλαδή, χάνονται τα πάντα και φαίνονται μόνο τα ονόματα των αρχείων.
Συνημμένα
No_Change.jpeg
With_Change.jpeg
(10.97 KiB) Μεταφορτώθηκε 76 φορές

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από gvre » 07 Απρ 2015 18:45

Και ξαναλέω, επειδή δεν ξέρω τί ακριβώς κάνει το template σου, στείλε ακριβώς (με copy-paste) το output από την print_r που σου έγραψα. Μόνο έτσι θα μπορέσω να σου απαντήσω σχετικά με το τί μπορεί να φταίει.

Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

Μια βοήθεια σχετικά με τη function dirList ($directory)

Δημοσίευση από Sfinaki » 07 Απρ 2015 18:47

Το output από την print_r που μου έγραψες είναι το Screen-shot με όνομα With_Change.
Και copy paste να το κάνω αυτό θα είναι το ίδιο!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες