'; } function textfieldsize ($content) { $size = strlen($content) + 5; if ($size < 30) $size = 30; return $size; } function request_dump () { foreach ($_REQUEST as $key => $value) { echo "\t\n"; } } /* ------------------------------------------------------------------------- */ function html ($string) { global $site_charset; return htmlentities($string, ENT_COMPAT, $site_charset); } function word ($word) { global $words, $word_charset; return htmlentities($words[$word], ENT_COMPAT, $word_charset); } function phrase ($phrase, $arguments) { global $words; static $search; if (!is_array($search)) for ($i = 1; $i <= 8; $i++) $search[] = "%$i"; for ($i = 0; $i < sizeof($arguments); $i++) { $arguments[$i] = nl2br(html($arguments[$i])); } $replace = array('{' => '
', '}' =>'
', '[' => '', ']' => ''); return str_replace($search, $arguments, str_replace(array_keys($replace), $replace, nl2br(html($words[$phrase])))); } function getwords ($lang) { global $word_charset, $date_format; switch ($lang) { case 'de': $date_format = 'd.m.y H:i:s'; $word_charset = 'ISO-8859-1'; return array( 'directory' => 'Verzeichnis', 'file' => 'Datei', 'filename' => 'Dateiname', 'size' => 'Grِكe', 'permission' => 'Rechte', 'owner' => 'Eigner', 'group' => 'Gruppe', 'other' => 'Andere', 'functions' => 'Funktionen', 'read' => 'lesen', 'write' => 'schreiben', 'execute' => 'ausführen', 'create_symlink' => 'Symlink erstellen', 'delete' => 'lِschen', 'rename' => 'umbenennen', 'move' => 'verschieben', 'copy' => 'kopieren', 'edit' => 'editieren', 'download' => 'herunterladen', 'upload' => 'hochladen', 'create' => 'erstellen', 'change' => 'wechseln', 'save' => 'speichern', 'set' => 'setze', 'reset' => 'zurücksetzen', 'relative' => 'Pfad zum Ziel relativ', 'yes' => 'Ja', 'no' => 'Nein', 'back' => 'zurück', 'destination' => 'Ziel', 'symlink' => 'Symbolischer Link', 'no_output' => 'keine Ausgabe', 'user' => 'Benutzername', 'password' => 'Kennwort', 'add' => 'hinzufügen', 'add_basic_auth' => 'HTTP-Basic-Auth hinzufügen', 'uploaded' => '"[%1]" wurde hochgeladen.', 'not_uploaded' => '"[%1]" konnte nicht hochgeladen werden.', 'already_exists' => '"[%1]" existiert bereits.', 'created' => '"[%1]" wurde erstellt.', 'not_created' => '"[%1]" konnte nicht erstellt werden.', 'really_delete' => 'Sollen folgende Dateien wirklich gelِscht werden?', 'deleted' => "Folgende Dateien wurden gelِscht:\n[%1]", 'not_deleted' => "Folgende Dateien konnten nicht gelِscht werden:\n[%1]", 'rename_file' => 'Benenne Datei um:', 'renamed' => '"[%1]" wurde in "[%2]" umbenannt.', 'not_renamed' => '"[%1] konnte nicht in "[%2]" umbenannt werden.', 'move_files' => 'Verschieben folgende Dateien:', 'moved' => "Folgende Dateien wurden nach \"[%2]\" verschoben:\n[%1]", 'not_moved' => "Folgende Dateien konnten nicht nach \"[%2]\" verschoben werden:\n[%1]", 'copy_files' => 'Kopiere folgende Dateien:', 'copied' => "Folgende Dateien wurden nach \"[%2]\" kopiert:\n[%1]", 'not_copied' => "Folgende Dateien konnten nicht nach \"[%2]\" kopiert werden:\n[%1]", 'not_edited' => '"[%1]" kann nicht editiert werden.', 'executed' => "\"[%1]\" wurde erfolgreich ausgeführt:\n{%2}", 'not_executed' => "\"[%1]\" konnte nicht erfolgreich ausgeführt werden:\n{%2}", 'saved' => '"[%1]" wurde gespeichert.', 'not_saved' => '"[%1]" konnte nicht gespeichert werden.', 'symlinked' => 'Symbolischer Link von "[%2]" nach "[%1]" wurde erstellt.', 'not_symlinked' => 'Symbolischer Link von "[%2]" nach "[%1]" konnte nicht erstellt werden.', 'permission_for' => 'Rechte für "[%1]":', 'permission_set' => 'Die Rechte für "[%1]" wurden auf [%2] gesetzt.', 'permission_not_set' => 'Die Rechte für "[%1]" konnten nicht auf [%2] gesetzt werden.', 'not_readable' => '"[%1]" kann nicht gelesen werden.' ); case 'fr': $date_format = 'd.m.y H:i:s'; $word_charset = 'ISO-8859-1'; return array( 'directory' => 'Répertoire', 'file' => 'Fichier', 'filename' => 'Nom fichier', 'size' => 'Taille', 'permission' => 'Droits', 'owner' => 'Propriétaire', 'group' => 'Groupe', 'other' => 'Autres', 'functions' => 'Fonctions', 'read' => 'Lire', 'write' => 'Ecrire', 'execute' => 'Exécuter', 'create_symlink' => 'Créer lien symbolique', 'delete' => 'Effacer', 'rename' => 'Renommer', 'move' => 'Déplacer', 'copy' => 'Copier', 'edit' => 'Ouvrir', 'download' => 'Télécharger sur PC', 'upload' => 'Télécharger sur serveur', 'create' => 'Créer', 'change' => 'Changer', 'save' => 'Sauvegarder', 'set' => 'Exécuter', 'reset' => 'Réinitialiser', 'relative' => 'Relatif', 'yes' => 'Oui', 'no' => 'Non', 'back' => 'Retour', 'destination' => 'Destination', 'symlink' => 'Lien symbollique', 'no_output' => 'Pas de sortie', 'user' => 'Utilisateur', 'password' => 'Mot de passe', 'add' => 'Ajouter', 'add_basic_auth' => 'add basic-authentification', 'uploaded' => '"[%1]" a été téléchargé sur le serveur.', 'not_uploaded' => '"[%1]" n a pas été téléchargé sur le serveur.', 'already_exists' => '"[%1]" existe déjà.', 'created' => '"[%1]" a été créé.', 'not_created' => '"[%1]" n a pas pu être créé.', 'really_delete' => 'Effacer le fichier?', 'deleted' => "Ces fichiers ont été détuits:\n[%1]", 'not_deleted' => "Ces fichiers n ont pu être détruits:\n[%1]", 'rename_file' => 'Renomme fichier:', 'renamed' => '"[%1]" a été renommé en "[%2]".', 'not_renamed' => '"[%1] n a pas pu être renommé en "[%2]".', 'move_files' => 'Déplacer ces fichiers:', 'moved' => "Ces fichiers ont été déplacés en \"[%2]\":\n[%1]", 'not_moved' => "Ces fichiers n ont pas pu être déplacés en \"[%2]\":\n[%1]", 'copy_files' => 'Copier ces fichiers:', 'copied' => "Ces fichiers ont été copiés en \"[%2]\":\n[%1]", 'not_copied' => "Ces fichiers n ont pas pu être copiés en \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" ne peut être ouvert.', 'executed' => "\"[%1]\" a été brillamment exécuté :\n{%2}", 'not_executed' => "\"[%1]\" n a pas pu être exécuté:\n{%2}", 'saved' => '"[%1]" a été sauvegardé.', 'not_saved' => '"[%1]" n a pas pu être sauvegardé.', 'symlinked' => 'Un lien symbolique depuis "[%2]" vers "[%1]" a été crée.', 'not_symlinked' => 'Un lien symbolique depuis "[%2]" vers "[%1]" n a pas pu être créé.', 'permission_for' => 'Droits de "[%1]":', 'permission_set' => 'Droits de "[%1]" ont été changés en [%2].', 'permission_not_set' => 'Droits de "[%1]" n ont pas pu être changés en[%2].', 'not_readable' => '"[%1]" ne peut pas être ouvert.' ); case 'it': $date_format = 'd-m-Y H:i:s'; $word_charset = 'ISO-8859-1'; return array( 'directory' => 'Directory', 'file' => 'File', 'filename' => 'Nome File', 'size' => 'Dimensioni', 'permission' => 'Permessi', 'owner' => 'Proprietario', 'group' => 'Gruppo', 'other' => 'Altro', 'functions' => 'Funzioni', 'read' => 'leggi', 'write' => 'scrivi', 'execute' => 'esegui', 'create_symlink' => 'crea link simbolico', 'delete' => 'cancella', 'rename' => 'rinomina', 'move' => 'sposta', 'copy' => 'copia', 'edit' => 'modifica', 'download' => 'download', 'upload' => 'upload', 'create' => 'crea', 'change' => 'cambia', 'save' => 'salva', 'set' => 'imposta', 'reset' => 'reimposta', 'relative' => 'Percorso relativo per la destinazione', 'yes' => 'Si', 'no' => 'No', 'back' => 'indietro', 'destination' => 'Destinazione', 'symlink' => 'Link simbolico', 'no_output' => 'no output', 'user' => 'User', 'password' => 'Password', 'add' => 'aggiungi', 'add_basic_auth' => 'aggiungi autenticazione base', 'uploaded' => '"[%1]" è stato caricato.', 'not_uploaded' => '"[%1]" non è stato caricato.', 'already_exists' => '"[%1]" esiste già.', 'created' => '"[%1]" è stato creato.', 'not_created' => '"[%1]" non è stato creato.', 'really_delete' => 'Cancello questi file ?', 'deleted' => "Questi file sono stati cancellati:\n[%1]", 'not_deleted' => "Questi file non possono essere cancellati:\n[%1]", 'rename_file' => 'File rinominato:', 'renamed' => '"[%1]" è stato rinominato in "[%2]".', 'not_renamed' => '"[%1] non è stato rinominato in "[%2]".', 'move_files' => 'Sposto questi file:', 'moved' => "Questi file sono stati spostati in \"[%2]\":\n[%1]", 'not_moved' => "Questi file non possono essere spostati in \"[%2]\":\n[%1]", 'copy_files' => 'Copio questi file', 'copied' => "Questi file sono stati copiati in \"[%2]\":\n[%1]", 'not_copied' => "Questi file non possono essere copiati in \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" non puٍ essere modificato.', 'executed' => "\"[%1]\" è stato eseguito con successo:\n{%2}", 'not_executed' => "\"[%1]\" non è stato eseguito con successo\n{%2}", 'saved' => '"[%1]" è stato salvato.', 'not_saved' => '"[%1]" non è stato salvato.', 'symlinked' => 'Il link siambolico da "[%2]" a "[%1]" è stato creato.', 'not_symlinked' => 'Il link siambolico da "[%2]" a "[%1]" non è stato creato.', 'permission_for' => 'Permessi di "[%1]":', 'permission_set' => 'I permessi di "[%1]" sono stati impostati [%2].', 'permission_not_set' => 'I permessi di "[%1]" non sono stati impostati [%2].', 'not_readable' => '"[%1]" non puٍ essere letto.' ); case 'nl': $date_format = 'n/j/y H:i:s'; $word_charset = 'ISO-8859-1'; return array( 'directory' => 'Directory', 'file' => 'Bestand', 'filename' => 'Bestandsnaam', 'size' => 'Grootte', 'permission' => 'Bevoegdheid', 'owner' => 'Eigenaar', 'group' => 'Groep', 'other' => 'Anderen', 'functions' => 'Functies', 'read' => 'lezen', 'write' => 'schrijven', 'execute' => 'uitvoeren', 'create_symlink' => 'maak symlink', 'delete' => 'verwijderen', 'rename' => 'hernoemen', 'move' => 'verplaatsen', 'copy' => 'kopieren', 'edit' => 'bewerken', 'download' => 'downloaden', 'upload' => 'uploaden', 'create' => 'aanmaken', 'change' => 'veranderen', 'save' => 'opslaan', 'set' => 'instellen', 'reset' => 'resetten', 'relative' => 'Relatief pat naar doel', 'yes' => 'Ja', 'no' => 'Nee', 'back' => 'terug', 'destination' => 'Bestemming', 'symlink' => 'Symlink', 'no_output' => 'geen output', 'user' => 'Gebruiker', 'password' => 'Wachtwoord', 'add' => 'toevoegen', 'add_basic_auth' => 'add basic-authentification', 'uploaded' => '"[%1]" is verstuurd.', 'not_uploaded' => '"[%1]" kan niet worden verstuurd.', 'already_exists' => '"[%1]" bestaat al.', 'created' => '"[%1]" is aangemaakt.', 'not_created' => '"[%1]" kan niet worden aangemaakt.', 'really_delete' => 'Deze bestanden verwijderen?', 'deleted' => "Deze bestanden zijn verwijderd:\n[%1]", 'not_deleted' => "Deze bestanden konden niet worden verwijderd:\n[%1]", 'rename_file' => 'Bestandsnaam veranderen:', 'renamed' => '"[%1]" heet nu "[%2]".', 'not_renamed' => '"[%1] kon niet worden veranderd in "[%2]".', 'move_files' => 'Verplaats deze bestanden:', 'moved' => "Deze bestanden zijn verplaatst naar \"[%2]\":\n[%1]", 'not_moved' => "Kan deze bestanden niet verplaatsen naar \"[%2]\":\n[%1]", 'copy_files' => 'Kopieer deze bestanden:', 'copied' => "Deze bestanden zijn gekopieerd naar \"[%2]\":\n[%1]", 'not_copied' => "Deze bestanden kunnen niet worden gekopieerd naar \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" kan niet worden bewerkt.', 'executed' => "\"[%1]\" is met succes uitgevoerd:\n{%2}", 'not_executed' => "\"[%1]\" is niet goed uitgevoerd:\n{%2}", 'saved' => '"[%1]" is opgeslagen.', 'not_saved' => '"[%1]" is niet opgeslagen.', 'symlinked' => 'Symlink van "[%2]" naar "[%1]" is aangemaakt.', 'not_symlinked' => 'Symlink van "[%2]" naar "[%1]" is niet aangemaakt.', 'permission_for' => 'Bevoegdheid voor "[%1]":', 'permission_set' => 'Bevoegdheid van "[%1]" is ingesteld op [%2].', 'permission_not_set' => 'Bevoegdheid van "[%1]" is niet ingesteld op [%2].', 'not_readable' => '"[%1]" kan niet worden gelezen.' ); case 'se': $date_format = 'n/j/y H:i:s'; $word_charset = 'ISO-8859-1'; return array( 'directory' => 'Mapp', 'file' => 'Fil', 'filename' => 'Filnamn', 'size' => 'Storlek', 'permission' => 'Sنkerhetsnivه', 'owner' => 'ؤgare', 'group' => 'Grupp', 'other' => 'Andra', 'functions' => 'Funktioner', 'read' => 'Lنs', 'write' => 'Skriv', 'execute' => 'Utfِr', 'create_symlink' => 'Skapa symlink', 'delete' => 'Radera', 'rename' => 'Byt namn', 'move' => 'Flytta', 'copy' => 'Kopiera', 'edit' => 'ؤndra', 'download' => 'Ladda ner', 'upload' => 'Ladda upp', 'create' => 'Skapa', 'change' => 'ؤndra', 'save' => 'Spara', 'set' => 'Markera', 'reset' => 'Tِm', 'relative' => 'Relative path to target', 'yes' => 'Ja', 'no' => 'Nej', 'back' => 'Tillbaks', 'destination' => 'Destination', 'symlink' => 'Symlink', 'no_output' => 'no output', 'user' => 'Anvنndare', 'password' => 'Lِsenord', 'add' => 'Lنgg till', 'add_basic_auth' => 'add basic-authentification', 'uploaded' => '"[%1]" har laddats upp.', 'not_uploaded' => '"[%1]" kunde inte laddas upp.', 'already_exists' => '"[%1]" finns redan.', 'created' => '"[%1]" har skapats.', 'not_created' => '"[%1]" kunde inte skapas.', 'really_delete' => 'Radera dessa filer?', 'deleted' => "De hنr filerna har raderats:\n[%1]", 'not_deleted' => "Dessa filer kunde inte raderas:\n[%1]", 'rename_file' => 'Byt namn pه fil:', 'renamed' => '"[%1]" har bytt namn till "[%2]".', 'not_renamed' => '"[%1] kunde inte dِpas om till "[%2]".', 'move_files' => 'Flytta dessa filer:', 'moved' => "Dessa filer har flyttats till \"[%2]\":\n[%1]", 'not_moved' => "Dessa filer kunde inte flyttas till \"[%2]\":\n[%1]", 'copy_files' => 'Kopiera dessa filer:', 'copied' => "Dessa filer har kopierats till \"[%2]\":\n[%1]", 'not_copied' => "Dessa filer kunde inte kopieras till \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" kan inte نndras.', 'executed' => "\"[%1]\" har utfِrts:\n{%2}", 'not_executed' => "\"[%1]\" kunde inte utfِras:\n{%2}", 'saved' => '"[%1]" har sparats.', 'not_saved' => '"[%1]" kunde inte sparas.', 'symlinked' => 'Symlink frهn "[%2]" till "[%1]" har skapats.', 'not_symlinked' => 'Symlink frهn "[%2]" till "[%1]" kunde inte skapas.', 'permission_for' => 'Rنttigheter fِr "[%1]":', 'permission_set' => 'Rنttigheter fِr "[%1]" نndrades till [%2].', 'permission_not_set' => 'Permission of "[%1]" could not be set to [%2].', 'not_readable' => '"[%1]" kan inte lنsas.' ); case 'sp': $date_format = 'j/n/y H:i:s'; $word_charset = 'ISO-8859-1'; return array( 'directory' => 'Directorio', 'file' => 'Archivo', 'filename' => 'Nombre Archivo', 'size' => 'Tamaٌo', 'permission' => 'Permisos', 'owner' => 'Propietario', 'group' => 'Grupo', 'other' => 'Otros', 'functions' => 'Funciones', 'read' => 'lectura', 'write' => 'escritura', 'execute' => 'ejecuciَn', 'create_symlink' => 'crear enlace', 'delete' => 'borrar', 'rename' => 'renombrar', 'move' => 'mover', 'copy' => 'copiar', 'edit' => 'editar', 'download' => 'bajar', 'upload' => 'subir', 'create' => 'crear', 'change' => 'cambiar', 'save' => 'salvar', 'set' => 'setear', 'reset' => 'resetear', 'relative' => 'Path relativo', 'yes' => 'Si', 'no' => 'No', 'back' => 'atrلs', 'destination' => 'Destino', 'symlink' => 'Enlace', 'no_output' => 'sin salida', 'user' => 'Usuario', 'password' => 'Clave', 'add' => 'agregar', 'add_basic_auth' => 'agregar autentificaciَn bلsica', 'uploaded' => '"[%1]" ha sido subido.', 'not_uploaded' => '"[%1]" no pudo ser subido.', 'already_exists' => '"[%1]" ya existe.', 'created' => '"[%1]" ha sido creado.', 'not_created' => '"[%1]" no pudo ser creado.', 'really_delete' => '؟Borra estos archivos?', 'deleted' => "Estos archivos han sido borrados:\n[%1]", 'not_deleted' => "Estos archivos no pudieron ser borrados:\n[%1]", 'rename_file' => 'Renombra archivo:', 'renamed' => '"[%1]" ha sido renombrado a "[%2]".', 'not_renamed' => '"[%1] no pudo ser renombrado a "[%2]".', 'move_files' => 'Mover estos archivos:', 'moved' => "Estos archivos han sido movidos a \"[%2]\":\n[%1]", 'not_moved' => "Estos archivos no pudieron ser movidos a \"[%2]\":\n[%1]", 'copy_files' => 'Copiar estos archivos:', 'copied' => "Estos archivos han sido copiados a \"[%2]\":\n[%1]", 'not_copied' => "Estos archivos no pudieron ser copiados \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" no pudo ser editado.', 'executed' => "\"[%1]\" ha sido ejecutado correctamente:\n{%2}", 'not_executed' => "\"[%1]\" no pudo ser ejecutado correctamente:\n{%2}", 'saved' => '"[%1]" ha sido salvado.', 'not_saved' => '"[%1]" no pudo ser salvado.', 'symlinked' => 'Enlace desde "[%2]" a "[%1]" ha sido creado.', 'not_symlinked' => 'Enlace desde "[%2]" a "[%1]" no pudo ser creado.', 'permission_for' => 'Permisos de "[%1]":', 'permission_set' => 'Permisos de "[%1]" fueron seteados a [%2].', 'permission_not_set' => 'Permisos de "[%1]" no pudo ser seteado a [%2].', 'not_readable' => '"[%1]" no pudo ser leيdo.' ); case 'dk': $date_format = 'n/j/y H:i:s'; $word_charset = 'ISO-8859-1'; return array( 'directory' => 'Mappe', 'file' => 'Fil', 'filename' => 'Filnavn', 'size' => 'Stّrrelse', 'permission' => 'Rettighed', 'owner' => 'Ejer', 'group' => 'Gruppe', 'other' => 'Andre', 'functions' => 'Funktioner', 'read' => 'lوs', 'write' => 'skriv', 'execute' => 'kّr', 'create_symlink' => 'opret symbolsk link', 'delete' => 'slet', 'rename' => 'omdّb', 'move' => 'flyt', 'copy' => 'kopier', 'edit' => 'rediger', 'download' => 'download', 'upload' => 'upload', 'create' => 'opret', 'change' => 'skift', 'save' => 'gem', 'set' => 'sوt', 'reset' => 'nulstil', 'relative' => 'Relativ sti til valg', 'yes' => 'Ja', 'no' => 'Nej', 'back' => 'tilbage', 'destination' => 'Distination', 'symlink' => 'Symbolsk link', 'no_output' => 'ingen resultat', 'user' => 'Bruger', 'password' => 'Kodeord', 'add' => 'tilfّj', 'add_basic_auth' => 'tilfّj grundliggende rettigheder', 'uploaded' => '"[%1]" er blevet uploaded.', 'not_uploaded' => '"[%1]" kunnu ikke uploades.', 'already_exists' => '"[%1]" findes allerede.', 'created' => '"[%1]" er blevet oprettet.', 'not_created' => '"[%1]" kunne ikke oprettes.', 'really_delete' => 'Slet disse filer?', 'deleted' => "Disse filer er blevet slettet:\n[%1]", 'not_deleted' => "Disse filer kunne ikke slettes:\n[%1]", 'rename_file' => 'Omdّd fil:', 'renamed' => '"[%1]" er blevet omdّbt til "[%2]".', 'not_renamed' => '"[%1] kunne ikke omdّbes til "[%2]".', 'move_files' => 'Flyt disse filer:', 'moved' => "Disse filer er blevet flyttet til \"[%2]\":\n[%1]", 'not_moved' => "Disse filer kunne ikke flyttes til \"[%2]\":\n[%1]", 'copy_files' => 'Kopier disse filer:', 'copied' => "Disse filer er kopieret til \"[%2]\":\n[%1]", 'not_copied' => "Disse filer kunne ikke kopieres til \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" kan ikke redigeres.', 'executed' => "\"[%1]\" er blevet kّrt korrekt:\n{%2}", 'not_executed' => "\"[%1]\" kan ikke kّres korrekt:\n{%2}", 'saved' => '"[%1]" er blevet gemt.', 'not_saved' => '"[%1]" kunne ikke gemmes.', 'symlinked' => 'Symbolsk link fra "[%2]" til "[%1]" er blevet oprettet.', 'not_symlinked' => 'Symbolsk link fra "[%2]" til "[%1]" kunne ikke oprettes.', 'permission_for' => 'Rettigheder for "[%1]":', 'permission_set' => 'Rettigheder for "[%1]" blev sat til [%2].', 'permission_not_set' => 'Rettigheder for "[%1]" kunne ikke sوttes til [%2].', 'not_readable' => '"[%1]" Kan ikke lوses.' ); case 'tr': $date_format = 'n/j/y H:i:s'; $word_charset = 'ISO-8859-1'; return array( 'directory' => 'Klasِr', 'file' => 'Dosya', 'filename' => 'dosya adi', 'size' => 'boyutu', 'permission' => 'Izin', 'owner' => 'sahib', 'group' => 'Grup', 'other' => 'Digerleri', 'functions' => 'Fonksiyonlar', 'read' => 'oku', 'write' => 'yaz', 'execute' => 'çalistir', 'create_symlink' => 'yarat symlink', 'delete' => 'sil', 'rename' => 'ad degistir', 'move' => 'tasi', 'copy' => 'kopyala', 'edit' => 'düzenle', 'download' => 'indir', 'upload' => 'yükle', 'create' => 'create', 'change' => 'degistir', 'save' => 'kaydet', 'set' => 'ayar', 'reset' => 'sifirla', 'relative' => 'Hedef yola gِre', 'yes' => 'Evet', 'no' => 'Hayir', 'back' => 'Geri', 'destination' => 'Hedef', 'symlink' => 'K‎sa yol', 'no_output' => 'çikti yok', 'user' => 'Kullanici', 'password' => 'Sifre', 'add' => 'ekle', 'add_basic_auth' => 'ekle basit-authentification', 'uploaded' => '"[%1]" yüklendi.', 'not_uploaded' => '"[%1]" yüklenemedi.', 'already_exists' => '"[%1]" kullanilmakta.', 'created' => '"[%1]" olusturuldu.', 'not_created' => '"[%1]" olusturulamadi.', 'really_delete' => 'Bu dosyalari silmek istediginizden eminmisiniz?', 'deleted' => "Bu dosyalar silindi:\n[%1]", 'not_deleted' => "Bu dosyalar silinemedi:\n[%1]", 'rename_file' => 'Adi degisen dosya:', 'renamed' => '"[%1]" adili dosyanin yeni adi "[%2]".', 'not_renamed' => '"[%1] adi degistirilemedi "[%2]" ile.', 'move_files' => 'Tasinan dosyalar:', 'moved' => "Bu dosyalari tasidiginiz yer \"[%2]\":\n[%1]", 'not_moved' => "Bu dosyalari tasiyamadiginiz yer \"[%2]\":\n[%1]", 'copy_files' => 'Kopyalanan dosyalar:', 'copied' => "Bu dosyalar kopyalandi \"[%2]\":\n[%1]", 'not_copied' => "Bu dosyalar kopyalanamiyor \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" düzenlenemiyor.', 'executed' => "\"[%1]\" basariyla çalistirildi:\n{%2}", 'not_executed' => "\"[%1]\" çalistirilamadi:\n{%2}", 'saved' => '"[%1]" kaydedildi.', 'not_saved' => '"[%1]" kaydedilemedi.', 'symlinked' => '"[%2]" den "[%1]" e k‎sayol olu‏turuldu.', 'not_symlinked' => '"[%2]"den "[%1]" e k‎sayol olu‏turulamad‎.', 'permission_for' => 'Izinler "[%1]":', 'permission_set' => 'Izinler "[%1]" degistirildi [%2].', 'permission_not_set' => 'Izinler "[%1]" degistirilemedi [%2].', 'not_readable' => '"[%1]" okunamiyor.' ); case 'cs': $date_format = 'd.m.y H:i:s'; $word_charset = 'UTF-8'; return array( 'directory' => 'Adresأ،إ™', 'file' => 'Soubor', 'filename' => 'Jmأ©no souboru', 'size' => 'Velikost', 'permission' => 'Prأ،va', 'owner' => 'Vlastnأ­k', 'group' => 'Skupina', 'other' => 'Ostatnأ­', 'functions' => 'Funkce', 'read' => 'ؤŒtenأ­', 'write' => 'Zأ،pis', 'execute' => 'Spouإ،tؤ›nأ­', 'create_symlink' => 'Vytvoإ™it symbolickأ½ odkaz', 'delete' => 'Smazat', 'rename' => 'Pإ™ejmenovat', 'move' => 'Pإ™esunout', 'copy' => 'Zkopأ­rovat', 'edit' => 'Otevإ™أ­t', 'download' => 'Stأ،hnout', 'upload' => 'Nahraj na server', 'create' => 'Vytvoإ™it', 'change' => 'Zmؤ›nit', 'save' => 'Uloإ¾it', 'set' => 'Nastavit', 'reset' => 'zpؤ›t', 'relative' => 'Relatif', 'yes' => 'Ano', 'no' => 'Ne', 'back' => 'Zpؤ›t', 'destination' => 'Destination', 'symlink' => 'Symbolickأ½ odkaz', 'no_output' => 'Prأ،zdnأ½ vأ½stup', 'user' => 'Uإ¾ivatel', 'password' => 'Heslo', 'add' => 'Pإ™idat', 'add_basic_auth' => 'pإ™idej zأ،kladnأ­ autentizaci', 'uploaded' => 'Soubor "[%1]" byl nahrأ،n na server.', 'not_uploaded' => 'Soubor "[%1]" nebyl nahrأ،n na server.', 'already_exists' => 'Soubor "[%1]" uإ¾ exituje.', 'created' => 'Soubor "[%1]" byl vytvoإ™en.', 'not_created' => 'Soubor "[%1]" nemohl bأ½t vytvoإ™en.', 'really_delete' => 'Vymazat soubor?', 'deleted' => "Byly vymazأ،ny tyto soubory:\n[%1]", 'not_deleted' => "Tyto soubory nemohly bأ½t vytvoإ™eny:\n[%1]", 'rename_file' => 'Pإ™ejmenuj soubory:', 'renamed' => 'Soubor "[%1]" byl pإ™ejmenovأ،n na "[%2]".', 'not_renamed' => 'Soubor "[%1]" nemohl bأ½t pإ™ejmenovأ،n na "[%2]".', 'move_files' => 'Pإ™emأ­stit tyto soubory:', 'moved' => "Tyto soubory byly pإ™emأ­stؤ›ny do \"[%2]\":\n[%1]", 'not_moved' => "Tyto soubory nemohly bأ½t pإ™emأ­stؤ›ny do \"[%2]\":\n[%1]", 'copy_files' => 'Zkopأ­rovat tyto soubory:', 'copied' => "Tyto soubory byly zkopأ­rovأ،ny do \"[%2]\":\n[%1]", 'not_copied' => "Tyto soubory nemohly bأ½t zkopأ­rovأ،ny do \"[%2]\":\n[%1]", 'not_edited' => 'Soubor "[%1]" nemohl bأ½t otevإ™en.', 'executed' => "SOubor \"[%1]\" byl spuإ،tؤ›n :\n{%2}", 'not_executed' => "Soubor \"[%1]\" nemohl bأ½t spuإ،tؤ›n:\n{%2}", 'saved' => 'Soubor "[%1]" byl uloإ¾en.', 'not_saved' => 'Soubor "[%1]" nemohl bأ½t uloإ¾en.', 'symlinked' => 'Byl vyvoإ™en symbolickأ½ odkaz "[%2]" na soubor "[%1]".', 'not_symlinked' => 'Symbolickأ½ odkaz "[%2]" na soubor "[%1]" nemohl bأ½t vytvoإ™en.', 'permission_for' => 'Prأ،va k "[%1]":', 'permission_set' => 'Prأ،va k "[%1]" byla zmؤ›nؤ›na na [%2].', 'permission_not_set' => 'Prأ،va k "[%1]" nemohla bأ½t zmؤ›nؤ›na na [%2].', 'not_readable' => 'Soubor "[%1]" nenأ­ moإ¾no pإ™eؤچأ­st.' ); case 'en': default: $date_format = 'n/j/y H:i:s'; $word_charset = 'ISO-8859-1'; return array( 'directory' => 'Directory', 'file' => 'File', 'filename' => 'Filename', 'size' => 'Size', 'permission' => 'Permission', 'owner' => 'Owner', 'group' => 'Group', 'other' => 'Others', 'functions' => 'Functions', 'read' => 'read', 'write' => 'write', 'execute' => 'execute', 'create_symlink' => 'create symlink', 'delete' => 'delete', 'rename' => 'rename', 'move' => 'move', 'copy' => 'copy', 'edit' => 'edit', 'download' => 'download', 'upload' => 'upload', 'create' => 'create', 'change' => 'change', 'save' => 'save', 'set' => 'set', 'reset' => 'reset', 'relative' => 'Relative path to target', 'yes' => 'Yes', 'no' => 'No', 'back' => 'back', 'destination' => 'Destination', 'symlink' => 'Symlink', 'no_output' => 'no output', 'user' => 'User', 'password' => 'Password', 'add' => 'add', 'add_basic_auth' => 'add basic-authentification', 'uploaded' => '"[%1]" has been uploaded.', 'not_uploaded' => '"[%1]" could not be uploaded.', 'already_exists' => '"[%1]" already exists.', 'created' => '"[%1]" has been created.', 'not_created' => '"[%1]" could not be created.', 'really_delete' => 'Delete these files?', 'deleted' => "These files have been deleted:\n[%1]", 'not_deleted' => "These files could not be deleted:\n[%1]", 'rename_file' => 'Rename file:', 'renamed' => '"[%1]" has been renamed to "[%2]".', 'not_renamed' => '"[%1] could not be renamed to "[%2]".', 'move_files' => 'Move these files:', 'moved' => "These files have been moved to \"[%2]\":\n[%1]", 'not_moved' => "These files could not be moved to \"[%2]\":\n[%1]", 'copy_files' => 'Copy these files:', 'copied' => "These files have been copied to \"[%2]\":\n[%1]", 'not_copied' => "These files could not be copied to \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" can not be edited.', 'executed' => "\"[%1]\" has been executed successfully:\n{%2}", 'not_executed' => "\"[%1]\" could not be executed successfully:\n{%2}", 'saved' => '"[%1]" has been saved.', 'not_saved' => '"[%1]" could not be saved.', 'symlinked' => 'Symlink from "[%2]" to "[%1]" has been created.', 'not_symlinked' => 'Symlink from "[%2]" to "[%1]" could not be created

احصائيات سريعة
 
مختارات خاصة
'; $d = 'dir=' . urlencode($directory) . '&'; if (!$reverse && $sort == 'filename') $r = '&reverse=true'; else $r = ''; echo "\t\n"; if (!$reverse && $sort == 'size') $r = '&reverse=true'; else $r = ''; echo "\t\n"; if (!$win) { if (!$reverse && $sort == 'permission') $r = '&reverse=true'; else $r = ''; echo "\t\n"; if (!$reverse && $sort == 'owner') $r = '&reverse=true'; else $r = ''; echo "\t\n"; if (!$reverse && $sort == 'group') $r = '&reverse=true'; else $r = ''; echo "\t\n"; } echo ' '; for ($i = 0; $i < sizeof($list); $i++) { $file = $list[$i]; $timestamps = 'mtime: ' . date($date_format, $file['mtime']) . ', '; $timestamps .= 'atime: ' . date($date_format, $file['atime']) . ', '; $timestamps .= 'ctime: ' . date($date_format, $file['ctime']); echo '\n"; if (!$win) { echo "\t\n"; if (array_key_exists('owner_name', $file)) { echo "\t\n"; } else { echo "\t\n"; } if (array_key_exists('group_name', $file)) { echo "\t\n"; } else { echo "\t\n"; } } echo ' '; } echo ' '; } function directory_choice () { global $directory, $homedir, $cols, $self; echo ' '; } function upload_box () { global $cols; echo ' '; } function create_box () { global $cols; echo ' '; } function edit ($file) { global $self, $directory, $editcols, $editrows, $apache, $htpasswd, $htaccess; html_header(); echo '

' . html($file) . '

لوحة الاعلانات
* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * ------------------------------------------------------------------------- * While using this script, do NOT navigate with your browser's back and * forward buttons! Always open files in a new browser tab! * ------------------------------------------------------------------------- * * This is Version 0.9, revision 9 * ========================================================================= * * Changes of revision 9 * * added workaround for directory listing, if lstat() is disabled * fixed permisson of uploaded files (thanks to Stephan Duffner) * * Changes of revision 8 * * added Turkish translation * * added Czech translation * * improved charset handling * * Changes of revision 7 * * added Spanish translation * * added Danish translation * * improved rename dialog * * Changes of revision 6 * * added Dutch translation * * Changes of revision 5 * * added language auto select * fixed symlinks in directory listing * removed word-wrap in edit textarea * * Changes of revision 4 * * added French translation * * added Swedish translation * * Changes of revision 3 * * improved Italian translation * * Changes of revision 2 * * got images work in some old browsers * fixed creation of directories * fixed files deletion * improved path handling * added missing word 'not_created' * * improved human readability of file sizes * * added Italian translation * * Changes of revision 1 * * webadmin.php completely rewritten: * - clean XHTML/CSS output * - several files selectable * - support for windows servers * - no more treeview, because * - webadmin.php is a >simple< file manager * - performance problems (too much additional code) * - I don't like: frames, java-script, to reload after every treeview-click * - execution of shell scripts * - introduced revision numbers * /* ------------------------------------------------------------------------- */ /* Your language: * 'en' - English * 'de' - German * 'fr' - French * 'it' - Italian * 'nl' - Dutch * 'se' - Swedish * 'sp' - Spanish * 'dk' - Danish * 'tr' - Turkish * 'cs' - Czech * 'auto' - autoselect */ $lang = 'auto'; /* Charset of output: * possible values are described in the charset table at * http://www.php.net/manual/en/function.htmlentities.php * 'auto' - use the same charset as the words of my language are encoded */ $site_charset = 'auto'; /* Homedir: * For example: './' - the script's directory */ $homedir = './'; /* Size of the edit textarea */ $editcols = 80; $editrows = 25; /* ------------------------------------------- * Optional configuration (remove # to enable) */ /* Permission of created directories: * For example: 0705 would be 'drwx---r-x'. */ # $dirpermission = 0705; /* Permission of created files: * For example: 0604 would be '-rw----r--'. */ # $filepermission = 0604; /* Filenames related to the apache web server: */ $htaccess = '.htaccess'; $htpasswd = '.htpasswd'; /* ------------------------------------------------------------------------- */ if (get_magic_quotes_gpc()) { array_walk($_GET, 'strip'); array_walk($_POST, 'strip'); array_walk($_REQUEST, 'strip'); } if (array_key_exists('image', $_GET)) { header('Content-Type: image/gif'); die(getimage($_GET['image'])); } if (!function_exists('lstat')) { function lstat ($filename) { return stat($filename); } } $delim = DIRECTORY_SEPARATOR; if (function_exists('php_uname')) { $win = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? true : false; } else { $win = ($delim == '\\') ? true : false; } if (!empty($_SERVER['PATH_TRANSLATED'])) { $scriptdir = dirname($_SERVER['PATH_TRANSLATED']); } elseif (!empty($_SERVER['SCRIPT_FILENAME'])) { $scriptdir = dirname($_SERVER['SCRIPT_FILENAME']); } elseif (function_exists('getcwd')) { $scriptdir = getcwd(); } else { $scriptdir = '.'; } $homedir = relative2absolute($homedir, $scriptdir); $dir = (array_key_exists('dir', $_REQUEST)) ? $_REQUEST['dir'] : $homedir; if (array_key_exists('olddir', $_POST) && !path_is_relative($_POST['olddir'])) { $dir = relative2absolute($dir, $_POST['olddir']); } $directory = simplify_path(addslash($dir)); $files = array(); $action = ''; if (!empty($_POST['submit_all'])) { $action = $_POST['action_all']; for ($i = 0; $i < $_POST['num']; $i++) { if (array_key_exists("checked$i", $_POST) && $_POST["checked$i"] == 'true') { $files[] = $_POST["file$i"]; } } } elseif (!empty($_REQUEST['action'])) { $action = $_REQUEST['action']; $files[] = relative2absolute($_REQUEST['file'], $directory); } elseif (!empty($_POST['submit_upload']) && !empty($_FILES['upload']['name'])) { $files[] = $_FILES['upload']; $action = 'upload'; } elseif (array_key_exists('num', $_POST)) { for ($i = 0; $i < $_POST['num']; $i++) { if (array_key_exists("submit$i", $_POST)) break; } if ($i < $_POST['num']) { $action = $_POST["action$i"]; $files[] = $_POST["file$i"]; } } if (empty($action) && (!empty($_POST['submit_create']) || (array_key_exists('focus', $_POST) && $_POST['focus'] == 'create')) && !empty($_POST['create_name'])) { $files[] = relative2absolute($_POST['create_name'], $directory); switch ($_POST['create_type']) { case 'directory': $action = 'create_directory'; break; case 'file': $action = 'create_file'; } } if (sizeof($files) == 0) $action = ''; else $file = reset($files); if ($lang == 'auto') { if (array_key_exists('HTTP_ACCEPT_LANGUAGE', $_SERVER) && strlen($_SERVER['HTTP_ACCEPT_LANGUAGE']) >= 2) { $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); } else { $lang = 'en'; } } $words = getwords($lang); if ($site_charset == 'auto') { $site_charset = $word_charset; } $cols = ($win) ? 4 : 7; if (!isset($dirpermission)) { $dirpermission = (function_exists('umask')) ? (0777 & ~umask()) : 0755; } if (!isset($filepermission)) { $filepermission = (function_exists('umask')) ? (0666 & ~umask()) : 0644; } if (!empty($_SERVER['SCRIPT_NAME'])) { $self = html(basename($_SERVER['SCRIPT_NAME'])); } elseif (!empty($_SERVER['PHP_SELF'])) { $self = html(basename($_SERVER['PHP_SELF'])); } else { $self = ''; } if (!empty($_SERVER['SERVER_SOFTWARE'])) { if (strtolower(substr($_SERVER['SERVER_SOFTWARE'], 0, 6)) == 'apache') { $apache = true; } else { $apache = false; } } else { $apache = true; } switch ($action) { case 'view': if (is_script($file)) { /* highlight_file is a mess! */ ob_start(); highlight_file($file); $src = ereg_replace('', '', ob_get_contents()); $src = str_replace(array('', "\r", "\n"), array('', '', ''), $src); ob_end_clean(); html_header(); echo '

' . html($file) . '


';

		for ($i = 1; $i <= sizeof(file($file)); $i++) echo "$i\n";

		echo '
' . $src . '
'; html_footer(); } else { header('Content-Type: ' . getmimetype($file)); header('Content-Disposition: filename=' . basename($file)); readfile($file); } break; case 'download': header('Pragma: public'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Content-Type: ' . getmimetype($file)); header('Content-Disposition: attachment; filename=' . basename($file) . ';'); header('Content-Length: ' . filesize($file)); readfile($file); break; case 'upload': $dest = relative2absolute($file['name'], $directory); if (@file_exists($dest)) { listing_page(error('already_exists', $dest)); } elseif (@move_uploaded_file($file['tmp_name'], $dest)) { @chmod($dest, $filepermission); listing_page(notice('uploaded', $file['name'])); } else { listing_page(error('not_uploaded', $file['name'])); } break; case 'create_directory': if (@file_exists($file)) { listing_page(error('already_exists', $file)); } else { $old = @umask(0777 & ~$dirpermission); if (@mkdir($file, $dirpermission)) { listing_page(notice('created', $file)); } else { listing_page(error('not_created', $file)); } @umask($old); } break; case 'create_file': if (@file_exists($file)) { listing_page(error('already_exists', $file)); } else { $old = @umask(0777 & ~$filepermission); if (@touch($file)) { edit($file); } else { listing_page(error('not_created', $file)); } @umask($old); } break; case 'execute': chdir(dirname($file)); $output = array(); $retval = 0; exec('echo "./' . basename($file) . '" | /bin/sh', $output, $retval); $error = ($retval == 0) ? false : true; if (sizeof($output) == 0) $output = array('<' . $words['no_output'] . '>'); if ($error) { listing_page(error('not_executed', $file, implode("\n", $output))); } else { listing_page(notice('executed', $file, implode("\n", $output))); } break; case 'delete': if (!empty($_POST['no'])) { listing_page(); } elseif (!empty($_POST['yes'])) { $failure = array(); $success = array(); foreach ($files as $file) { if (del($file)) { $success[] = $file; } else { $failure[] = $file; } } $message = ''; if (sizeof($failure) > 0) { $message = error('not_deleted', implode("\n", $failure)); } if (sizeof($success) > 0) { $message .= notice('deleted', implode("\n", $success)); } listing_page($message); } else { html_header(); echo '
'; request_dump(); echo "\t" . word('really_delete') . '

'; foreach ($files as $file) { echo "\t" . html($file) . "
\n"; } echo '


'; html_footer(); } break; case 'rename': if (!empty($_POST['destination'])) { $dest = relative2absolute($_POST['destination'], $directory); if (!@file_exists($dest) && @rename($file, $dest)) { listing_page(notice('renamed', $file, $dest)); } else { listing_page(error('not_renamed', $file, $dest)); } } else { $name = basename($file); html_header(); echo '
' . word('rename_file') . '

' . html($file) . '

' . substr($file, 0, strlen($file) - strlen($name)) . '

[ ' . word('back') . ' ]

'; html_footer(); } break; case 'move': if (!empty($_POST['destination'])) { $dest = relative2absolute($_POST['destination'], $directory); $failure = array(); $success = array(); foreach ($files as $file) { $filename = substr($file, strlen($directory)); $d = $dest . $filename; if (!@file_exists($d) && @rename($file, $d)) { $success[] = $file; } else { $failure[] = $file; } } $message = ''; if (sizeof($failure) > 0) { $message = error('not_moved', implode("\n", $failure), $dest); } if (sizeof($success) > 0) { $message .= notice('moved', implode("\n", $success), $dest); } listing_page($message); } else { html_header(); echo '
'; request_dump(); echo "\t" . word('move_files') . '

'; foreach ($files as $file) { echo "\t" . html($file) . "
\n"; } echo '


' . word('destination') . ':

[ ' . word('back') . ' ]

'; html_footer(); } break; case 'copy': if (!empty($_POST['destination'])) { $dest = relative2absolute($_POST['destination'], $directory); if (@is_dir($dest)) { $failure = array(); $success = array(); foreach ($files as $file) { $filename = substr($file, strlen($directory)); $d = addslash($dest) . $filename; if (!@is_dir($file) && !@file_exists($d) && @copy($file, $d)) { $success[] = $file; } else { $failure[] = $file; } } $message = ''; if (sizeof($failure) > 0) { $message = error('not_copied', implode("\n", $failure), $dest); } if (sizeof($success) > 0) { $message .= notice('copied', implode("\n", $success), $dest); } listing_page($message); } else { if (!@file_exists($dest) && @copy($file, $dest)) { listing_page(notice('copied', $file, $dest)); } else { listing_page(error('not_copied', $file, $dest)); } } } else { html_header(); echo '
'; request_dump(); echo "\n" . word('copy_files') . '

'; foreach ($files as $file) { echo "\t" . html($file) . "
\n"; } echo '


' . word('destination') . ':

[ ' . word('back') . ' ]

'; html_footer(); } break; case 'create_symlink': if (!empty($_POST['destination'])) { $dest = relative2absolute($_POST['destination'], $directory); if (substr($dest, -1, 1) == $delim) $dest .= basename($file); if (!empty($_POST['relative'])) $file = absolute2relative(addslash(dirname($dest)), $file); if (!@file_exists($dest) && @symlink($file, $dest)) { listing_page(notice('symlinked', $file, $dest)); } else { listing_page(error('not_symlinked', $file, $dest)); } } else { html_header(); echo '

[ ' . word('back') . ' ]

'; html_footer(); } break; case 'edit': if (!empty($_POST['save'])) { $content = str_replace("\r\n", "\n", $_POST['content']); if (($f = @fopen($file, 'w')) && @fwrite($f, $content) !== false && @fclose($f)) { listing_page(notice('saved', $file)); } else { listing_page(error('not_saved', $file)); } } else { if (@is_readable($file) && @is_writable($file)) { edit($file); } else { listing_page(error('not_edited', $file)); } } break; case 'permission': if (!empty($_POST['set'])) { $mode = 0; if (!empty($_POST['ur'])) $mode |= 0400; if (!empty($_POST['uw'])) $mode |= 0200; if (!empty($_POST['ux'])) $mode |= 0100; if (!empty($_POST['gr'])) $mode |= 0040; if (!empty($_POST['gw'])) $mode |= 0020; if (!empty($_POST['gx'])) $mode |= 0010; if (!empty($_POST['or'])) $mode |= 0004; if (!empty($_POST['ow'])) $mode |= 0002; if (!empty($_POST['ox'])) $mode |= 0001; if (@chmod($file, $mode)) { listing_page(notice('permission_set', $file, decoct($mode))); } else { listing_page(error('permission_not_set', $file, decoct($mode))); } } else { html_header(); $mode = fileperms($file); echo '

' . phrase('permission_for', $file) . '


' . word('owner') . ' ' . word('group') . ' ' . word('other') . '
' . word('read') . ':
' . word('write') . ':
' . word('execute') . ':

[ ' . word('back') . ' ]

'; html_footer(); } break; default: listing_page(); } /* ------------------------------------------------------------------------- */ function getlist ($directory) { global $delim, $win; if ($d = @opendir($directory)) { while (($filename = @readdir($d)) !== false) { $path = $directory . $filename; if ($stat = @lstat($path)) { $file = array( 'filename' => $filename, 'path' => $path, 'is_file' => @is_file($path), 'is_dir' => @is_dir($path), 'is_link' => @is_link($path), 'is_readable' => @is_readable($path), 'is_writable' => @is_writable($path), 'size' => $stat['size'], 'permission' => $stat['mode'], 'owner' => $stat['uid'], 'group' => $stat['gid'], 'mtime' => @filemtime($path), 'atime' => @fileatime($path), 'ctime' => @filectime($path) ); if ($file['is_dir']) { $file['is_executable'] = @file_exists($path . $delim . '.'); } else { if (!$win) { $file['is_executable'] = @is_executable($path); } else { $file['is_executable'] = true; } } if ($file['is_link']) $file['target'] = @readlink($path); if (function_exists('posix_getpwuid')) $file['owner_name'] = @reset(posix_getpwuid($file['owner'])); if (function_exists('posix_getgrgid')) $file['group_name'] = @reset(posix_getgrgid($file['group'])); $files[] = $file; } } return $files; } else { return false; } } function sortlist (&$list, $key, $reverse) { quicksort($list, 0, sizeof($list) - 1, $key); if ($reverse) $list = array_reverse($list); } function quicksort (&$array, $first, $last, $key) { if ($first < $last) { $cmp = $array[floor(($first + $last) / 2)][$key]; $l = $first; $r = $last; while ($l <= $r) { while ($array[$l][$key] < $cmp) $l++; while ($array[$r][$key] > $cmp) $r--; if ($l <= $r) { $tmp = $array[$l]; $array[$l] = $array[$r]; $array[$r] = $tmp; $l++; $r--; } } quicksort($array, $first, $r, $key); quicksort($array, $l, $last, $key); } } function permission_octal2string ($mode) { if (($mode & 0xC000) === 0xC000) { $type = 's'; } elseif (($mode & 0xA000) === 0xA000) { $type = 'l'; } elseif (($mode & 0x8000) === 0x8000) { $type = '-'; } elseif (($mode & 0x6000) === 0x6000) { $type = 'b'; } elseif (($mode & 0x4000) === 0x4000) { $type = 'd'; } elseif (($mode & 0x2000) === 0x2000) { $type = 'c'; } elseif (($mode & 0x1000) === 0x1000) { $type = 'p'; } else { $type = '?'; } $owner = ($mode & 00400) ? 'r' : '-'; $owner .= ($mode & 00200) ? 'w' : '-'; if ($mode & 0x800) { $owner .= ($mode & 00100) ? 's' : 'S'; } else { $owner .= ($mode & 00100) ? 'x' : '-'; } $group = ($mode & 00040) ? 'r' : '-'; $group .= ($mode & 00020) ? 'w' : '-'; if ($mode & 0x400) { $group .= ($mode & 00010) ? 's' : 'S'; } else { $group .= ($mode & 00010) ? 'x' : '-'; } $other = ($mode & 00004) ? 'r' : '-'; $other .= ($mode & 00002) ? 'w' : '-'; if ($mode & 0x200) { $other .= ($mode & 00001) ? 't' : 'T'; } else { $other .= ($mode & 00001) ? 'x' : '-'; } return $type . $owner . $group . $other; } function is_script ($filename) { return ereg('\.php$|\.php3$|\.php4$|\.php5$', $filename); } function getmimetype ($filename) { static $mimes = array( '\.jpg$|\.jpeg$' => 'image/jpeg', '\.gif$' => 'image/gif', '\.png$' => 'image/png', '\.html$|\.html$' => 'text/html', '\.txt$|\.asc$' => 'text/plain', '\.xml$|\.xsl$' => 'application/xml', '\.pdf$' => 'application/pdf' ); foreach ($mimes as $regex => $mime) { if (eregi($regex, $filename)) return $mime; } // return 'application/octet-stream'; return 'text/plain'; } function del ($file) { global $delim; if (!@is_link($file) && !file_exists($file)) return false; if (!@is_link($file) && @is_dir($file)) { if ($dir = @opendir($file)) { $error = false; while (($f = readdir($dir)) !== false) { if ($f != '.' && $f != '..' && !del($file . $delim . $f)) { $error = true; } } closedir($dir); if (!$error) return @rmdir($file); return !$error; } else { return false; } } else { return @unlink($file); } } function addslash ($directory) { global $delim; if (substr($directory, -1, 1) != $delim) { return $directory . $delim; } else { return $directory; } } function relative2absolute ($string, $directory) { if (path_is_relative($string)) { return simplify_path(addslash($directory) . $string); } else { return simplify_path($string); } } function path_is_relative ($path) { global $win; if ($win) { return (substr($path, 1, 1) != ':'); } else { return (substr($path, 0, 1) != '/'); } } function absolute2relative ($directory, $target) { global $delim; $path = ''; while ($directory != $target) { if ($directory == substr($target, 0, strlen($directory))) { $path .= substr($target, strlen($directory)); break; } else { $path .= '..' . $delim; $directory = substr($directory, 0, strrpos(substr($directory, 0, -1), $delim) + 1); } } if ($path == '') $path = '.'; return $path; } function simplify_path ($path) { global $delim; if (@file_exists($path) && function_exists('realpath') && @realpath($path) != '') { $path = realpath($path); if (@is_dir($path)) { return addslash($path); } else { return $path; } } $pattern = $delim . '.' . $delim; if (@is_dir($path)) { $path = addslash($path); } while (strpos($path, $pattern) !== false) { $path = str_replace($pattern, $delim, $path); } $e = addslashes($delim); $regex = $e . '((\.[^\.' . $e . '][^' . $e . ']*)|(\.\.[^' . $e . ']+)|([^\.][^' . $e . ']*))' . $e . '\.\.' . $e; while (ereg($regex, $path)) { $path = ereg_replace($regex, $delim, $path); } return $path; } function human_filesize ($filesize) { $suffices = 'kMGTPE'; $n = 0; while ($filesize >= 1000) { $filesize /= 1024; $n++; } $filesize = round($filesize, 3 - strpos($filesize, '.')); if (strpos($filesize, '.') !== false) { while (in_array(substr($filesize, -1, 1), array('0', '.'))) { $filesize = substr($filesize, 0, strlen($filesize) - 1); } } $suffix = (($n == 0) ? '' : substr($suffices, $n - 1, 1)); return $filesize . " {$suffix}B"; } function strip (&$str) { $str = stripslashes($str); } /* ------------------------------------------------------------------------- */ function listing_page ($message = null) { global $self, $directory, $sort, $reverse; html_header(); $list = getlist($directory); if (array_key_exists('sort', $_GET)) $sort = $_GET['sort']; else $sort = 'filename'; if (array_key_exists('reverse', $_GET) && $_GET['reverse'] == 'true') $reverse = true; else $reverse = false; sortlist($list, $sort, $reverse); echo '

webadmin.php

'; directory_choice(); if (!empty($message)) { spacer(); echo $message; } if (@is_writable($directory)) { upload_box(); create_box(); } else { spacer(); } if ($list) { listing($list); } else { echo error('not_readable', $directory); } echo '
'; html_footer(); } function listing ($list) { global $directory, $homedir, $sort, $reverse, $win, $cols, $date_format, $self; echo '
smiley" . word('filename') . "" . word('size') . "" . word('permission') . "" . word('owner') . "" . word('group') . "' . word('functions') . '
'; if ($file['is_link']) { echo 'link '; echo html($file['filename']) . ' → '; $real_file = relative2absolute($file['target'], $directory); if (@is_readable($real_file)) { if (@is_dir($real_file)) { echo '[ ' . html($file['target']) . ' ]'; } else { echo '' . html($file['target']) . ''; } } else { echo html($file['target']); } } elseif ($file['is_dir']) { echo 'folder [ '; if ($win || $file['is_executable']) { echo '' . html($file['filename']) . ''; } else { echo html($file['filename']); } echo ' ]'; } else { if (substr($file['filename'], 0, 1) == '.') { echo 'hidden file '; } else { echo 'file '; } if ($file['is_file'] && $file['is_readable']) { echo '' . html($file['filename']) . ''; } else { echo html($file['filename']); } } if ($file['size'] >= 1000) { $human = ' title="' . human_filesize($file['size']) . '"'; } else { $human = ''; } echo "\t{$file['size']} B'; $l = !$file['is_link'] && (!function_exists('posix_getuid') || $file['owner'] == posix_getuid()); if ($l) echo ''; echo html(permission_octal2string($file['permission'])); if ($l) echo ''; echo "{$file['owner_name']}{$file['owner']}{$file['group_name']}{$file['group']} '; $actions = array(); if (function_exists('symlink')) { $actions[] = 'create_symlink'; } if (@is_writable(dirname($file['path']))) { $actions[] = 'delete'; $actions[] = 'rename'; $actions[] = 'move'; } if ($file['is_file'] && $file['is_readable']) { $actions[] = 'copy'; $actions[] = 'download'; if ($file['is_writable']) $actions[] = 'edit'; } if (!$win && function_exists('exec') && $file['is_file'] && $file['is_executable'] && file_exists('/bin/sh')) { $actions[] = 'execute'; } if (sizeof($actions) > 0) { echo ' '; } echo '
' . word('directory') . ':
' . word('file') . ':

'; if ($apache && basename($file) == $htpasswd) { echo ' ' . word('user') . ': ' . word('password') . ':
'; } if ($apache && basename($file) == $htaccess) { echo '
'; } echo '

[ ' . word('back') . ' ]

'; html_footer(); } function spacer () { global $cols; echo '
أبناؤنا والجنس.. أعيدوني إلى بطن أمي

أبناؤنا والجنس.. أعيدوني إلى بطن أمي

رن جرس الهاتف في منزلي فرفعت سماعة الهاتف في غرفة نومي في نفس الوقت الذي رفع ابني السماعة في غرفة الجلوس، ولما سمعت صوت صديقه أردت أن أعيد السماعة إلى مكانها لولا أن صوته كان هامسًا ما أثار فضولي لأسمع حديث الصديقين رغم أنه ليس من شيمي ولا من عادتي، ولذلك انتبه ابني لوجودي على الطرف الآخر فطلب مني إغلاق السماعة فاحترمت رغبته، وعدت إلى ما كنت مشغولة به؛ ولما التقيت بابني سألته عن سبب صوت صديقه الهامس، فأخبرني أن صديقه يعاني مشكلة مع والده، وقد طلب منه أن يستشيرني فيها واشترط عليه ألا يذكر لي اسمه، ولكن ابني لم يجد غضاضة أن يخبرني باسم ذلك الصديق بسبب الصراحة التي نشّأته عليها وبحكم ثقته بي، وتتلخص مشكلة ذلك الطفل في اكتشافه أن والده يرى القنوات الفضائية الإباحية رغم أنه ملتزم ويحرص على الصلاة في المسجد وينتهز الفرص المتكررة لأداء العمرة ويؤدي فريضة الحج كل عام، كما أنه يحض أولاده على الصلاة والصوم باستمرار. كانت ابتسامة خفر خفيفة ترتسم على وجه ابني وهو يحدثني بأمر والد صديقه ويوضح لي شعوره بصعوبة تقبل فعل والده لهذا الأمر المنكر خصوصًا أنه متزوج فلا بد أنه يفعل هذا دون علم زوجته أو موافقتها، وعبّر لي عن حيرة صديقه بين أمرين: أن يُخبر والده بأنه يعلم بمعصيته وينصحه وبهذا قد يعرض نفسه للضرب أو للطرد من البيت أو أن يُعلِم والدته وهو لا يعرف كيف يمكن أن تكون ردة فعلها فقد تطلب الطلاق من أبيه وبذلك تتهدم الأسرة ويتشتت أفرادها إلى آخر ما جاد به خيال الفتى الصغير، واختتم ابني حديثه بسؤال: لماذا يفعل ما يفعل ما دام متزوجًا؟! ولماذا يُظهر الالتزام وهو ليس كذلك؟!
لا أنكر أن موقفي كان صعبًا بعض الشيء، ولكن ربما خفّف من صعوبته أني لم أعوّد ابني على أن يجد لديَّ إجابات لأغلب أسئلته فقط، بل طالما شجعته على التساؤل وأثنيت عليه كلما بدر منه سؤال ذكي، وأول سؤال جنسي طرحه عليَّ كان وهو في سن ست سنوات عندما وجد في درج مكتبي في العيادة لولبًا لمنع الحمل فسألني: ما هذا؟ فأجبته: إنه لولبًا لمنع الحمل، فسألني: وكيف يحدث الحمل؟ فشرحت له كيف يتم الإلقاح بين خليتين تأتي إحداهما من الأب والأخرى من الأم وكيف يلتقيان في جسد المرأة لتوضع البيضة الملقحة في الرحم ولتبدأ بالنمو والتمايز والانقسام لتشكّل الجنين. سألني وهو في سن تسع سنوات تقريبًا: كيف تفتحين بطن المرأة لتخرجي الطفل منها؟ أوضحت له أن أغلب الولادات تحصل بالطريق الطبيعية حيث تتوسع فوهة في جسد المرأة كي يمر منها الوليد، ولما سألني: أين هي هذه الفتحة؟ أجبته مع ابتسامة صغيرة: بين فوهة خروج البراز وفوهة خروج البول، فضحك ولم يصدق، ولكن لما أكّدت له في مرة تالية أن هذا هو ما يحدث فعلا تلقّى المعلومة على أنها شيء طبيعي؛ لما بلغ اثنتي عشرة سنة سألني: ماذا يعني سن الحُلم؟ شرحت له أنه عندما يرى الفتى حلمًا بأنه يقبّل فتاة فيجب أن يغتسل قبل أن يصلي، ولذلك يسمى سن الحلم وكذلك سن البلوغ، ثم أتبعت جوابي بابتسامة قائلة له: وأنت عندما تصل إلى سن البلوغ سترى حلمًا وستغتسل قبل الصلاة وسأعرف أنك أصبحت رجلاً، فقال ببراءة: أنا لا أرى أحلامًا! في السنة التي بعدها أي منذ سنتين بدأت أساعده في تقبل التغيرات الجسدية التي تحصل بسبب اقترابه من البلوغ كخشونة الصوت وظهور الشعر في العانة وتحت الإبطين، وعلّمته أن إزالة الشعر من سنن الفطرة، وتتابعت أسئلته عن مرض الإيدز وما شابه، فكنت في كل مرة أجيبه بحسب سؤاله وبحسب ما أراه مناسبًا لوعيه ولعمره، وربما اغتنمت الفرصة لأشرح له دور الجنس في الحياة الزوجية بكلمات مبسطة وعبارات مقبولة، وكيف أن ممارسته خارج إطار الشرع أمر محرم وله عواقبه على النفس والمجتمع، وذكرت له شيئًا عن الأمراض التناسلية ومنها مرض الإيدز الذي ينتقل بالطريق الجنسي بشكل رئيس، وكيف اكتُشف في أول الأمر بين الشاذين جنسيًا، وقصصت عليه قصة آل لوط وكيف نزل بهم عقاب الله؛ ومنذ شهر ذكر لي أن صديقًا له أخبره أنه بلغ سن الحلم، فنصحه ابني (وفرخ البط عوام كما يقال) أن يخبر والده كي يعلّمه أحكام الوضوء والغسل، ولكن الفتى نفى أن يكون قادرًا على مفاتحة أبيه في مواضيع حساسة كهذه.
كل هذه الأمور ساعدتني أن أشرح لابني السبب الذي يدفع والد صديقه أن يرى أفلامًا إباحية، فابني لم يبلغ بعد، ولا يعرف ما هي الغريزة الجنسية ولكنه سيعرفها قريبًا جدًا، فهي فرصة لأهيئه نفسيًا وبشكل أكبر لهذه الفترة الخطيرة من العمر حيث تكون تلك الغريزة على أشدها، وهكذا فقد شرحت له أن هذه الأفلام أتتنا من الغرب الذي تعتمد ثقافته على إمتاع النفس بكل ما تلتذ به من طعام أو شراب أو جنس، بينما ثقافتنا نحن هي ثقافة الحياء، لأن الحياء فطرة في البشر وديننا دين الفطرة فهو لا ينكر الرغبات ولكنه يهذبها ويأمر الإنسان بضبطها، وذكَّرته كيف أن آدم وحواء عليهما السلام لما عصيا الله وبدت لهما سوءاتهما طفقا يخصفان عليهما من ورق الجنة، مع أن الله لم يكن قد فرض عليهما أي دين، لكن الحياء الفطري لم يُسغ لهما بقاءهما عاريين، وذكرت له أن الجنس منذ عهد عالم النفس اليهودي الألماني فرويد أخذ قيمة كبرى في حياة البشر أكثر من قيمته الحقيقية، فهو لا يسيطر على حياة الإنسان من المهد إلى اللحد كما ظن فرويد الذي عزا كل تصرفات البشر وسلوكياتهم وردود أفعالهم إلى هذه الغريزة، ما أدى إلى الإباحية في الغرب، أي ممارسة الجنس خارج ضوابط الدين، وفي طور أعلى زمنيًا وأدنى بشريًا أدت الإباحية إلى الشذوذ لأن النفس تملّ وتميل إلى التنويع - حتى لو كان ضررًا- إذا لم يهذبها الدين والخلق، ومما ساهم في ذلك أيضًا غياب مفهوم العورة، فترى الأب والأم والأولاد كلهم عرايا بعضهم أمام بعض، وهذا يحدث في بعض الدول الغربية أكثر من غيرها كهولندا حيث توجد أكبر نسبة للشاذين جنسيًا في العالم، بينما حث ديننا على تعويد الطفل ستر العورة، وعلى تعليمه أدب الاستئذان على والديه سواء كانا معًا أو منفردين، ودعا إلى ضبط النفس عبر الصوم كي لا تتحكم بالإنسان شهواته فيدمنها كما تدمن المخدرات. هنا اقتربت لإجابته عن سؤاله حول والد صديقه، وربما اقترب حرجي إلى درجته العظمى لأني لا أريد أن أبرر له هذا الفعل الخاطئ فيستسيغ الخطأ، وفي الوقت نفسه لا أريد أن يظهر خطأ هذا الرجل على أنه الكارثة التي لا يمكن إصلاحها كما ظنّ ابني وصديقه، وذلك لئلا ينشأ على مثالية مفرطة سرعان ما تتحطم على صخرة الواقع، فبدأت بقولي إن كثيرين من الرجال يفعلون هذا من باب الفضول، وأخبرته أن كلاً منا معرض لوساوس الشيطان وكيده وقد قال الله تعالى:{وخُلق الإنسان ضعيفا} ولا يمكن أن يردع الإنسان عن الأفعال الشائنة بينه وبين ربه إلا خوفه الحقيقي من الله، وأغلب الناس في مجتمعاتنا العربية تتزين بمسوح الدين لأن الناس يُخدعون بالظاهر وهم أيضًا لا يسامحون المخطئ إذا أخطأ حتى لو كان خطؤه ناجمًا عن لحظة ضعف لذلك يضطر الإنسان أحيانًا إلى أن يتقي كلام الناس بمظهر ديني معين، ثم ذكرت لابني حديثين شريفين: أولهما يحوي أمر الرسول عليه الصلاة والسلام بعدم المجاهرة بالمعصية ما دام الله قد ستر ذنب العبد، وثانيهما إخباره عليه الصلاة والسلام عن أناس يقومون بالطاعات في الظاهر ولكنهم إذا خلوا بأنفسهم فإنهم يجترئون على محارم الله، وربطت هذين الحديثين بما يفعل ذلك الرجل، وأنه قد يكون من الفئة الأولى أو الثانية، وليست مهمتنا أن نبحث فيما يفعله أي إنسان في خلوته، فالتجسس منهي عنه شرعًا، كما أن التقوى لا يعلمها إلا الله. بذلك أجبته عن الشطر الثاني في السؤال قبل الشطر الأول، وهو الشق الديني في الموضوع لكن كيف أجيبه عن الشطر الأول وهو كيف يفعل هذا وهو متزوج؟!
كانت مهمتي هنا أصعب، لكن ربما هوّن الأمر أيضًا معرفة ابني ببعض الأمور الشرعية كإقامة حد الزنا على المحصن وغير المحصن، فبيّنت له أن كون الرجل متزوجًا لا يعني أنه لن يفعل إلا ما أمر الله به؛ ودليل ذلك أن الله وضع حد الجلد لغير المتزوج وحد الرجم للمتزوج، وشرحت له أن هذا الرجل والد صديقه لم يحصن عينيه عن النظر إلى ما حرم الله رغم أنه محصن، وتبقى فعلته - وإن كانت شنيعة وتقضي على الحياء الذي هو شطر الإيمان - أخف ضررًا من الزنا من الناحية الشرعية والاجتماعية، ويعود سببها على كل الأحوال إلى التأثر بثقافة الغرب الإباحية.
انتهى حديثي مع ابني بعد أن اطمأننت أن رسالتي التوجيهية قد وصلت دون أن تترك آثارًا سلبية، وتوجهت بعدها إلى دوامي المسائي، ولما عدت رأيت صديق ابني خارجًا من منزلنا، وأخبرني ابني أن صديقه استأذن والدته لينام عندنا فلم تسمح له، فعاد إلى منزله وأنه كتب رسالة كان ينوي وضعها تحت باب البيت لتراها والدته صباحًا، لكنه أحضر الرسالة معه ليستشير ابني في محتواها، فطلبت من ابني أن يحضر الرسالة وقرأتها، وقد كان أمرًا محزنا جدًا لي أن أشعر بانقسام الطفل داخليًا إلى نصفين: نصف محب لوالده بفطرة البنوة والاعتراف بالفضل، ونصف كاره له لما رأى فيه من ازدواجية بين أمر بالمعروف وإتيان للمنكر، وأدركت مدى تحطم قلب هذا الفتى الصغير وتهدّم مثاله الأعلى في نظره، فكيف يمكن له أن يتعامل مع أبيه فيما بعد؟ ألن يتذكر في كل لحظة يأمره فيها بالصلاة نهارًًا ما كان يفعله أبوه ليلاً؟ في رأيي الشخصي أن هذا الطفل سيحتاج إلى علاج نفسي عاجلاً أم آجلاً.
لكن كم من أطفالنا يحتاجون إلى علاج نفسي؟ هذه إحصائية أجراها بروفيسور عربي في دولة عربية اعتمدت أساليب حديثة، واعتُبرت الأولى من نوعها في العالم العربي إذ أعطت نتائج إحصائية وعلمية وصلت دقتها إلى 94% وتعتبر بذلك صادقة وموضوعية، وإليكم أمثلة من نتائج الدراسة الإحصائية:
مشكلات أطفال المرحلة الابتدائية فيما يتعلق بالمنزل:
* عدم قضاء وقت كاف مع الوالدين 75%.
* معاملة الوالدين السيئة 70%.
* وصف الطفل بالغباء من قبل والديه 69%.
وفي المرحلة المتوسطة:
* الهروب من المنزل بسبب الضيق: 89%.
* الاستغراق في السرحان داخل المنزل 87%.
* الكوابيس والأحلام المزعجة 86%.
* الشعور بعدم الراحة في المنزل 82%.
في المرحلة الثانوية:
* عدم وجود حرية كافية داخل المنزل 93%.
* عدم تنفيذ مطالب الأسرة 91%.
* الهروب من المنزل 91%.
* معاملة الوالدين السيئة 89%.
هذه النسب أعطت دلالات إحصائية أعلى سلبية من 80% غالبًا، وهي لذلك تنبئ بخطر كبير جدًا على مستوى المراحل العمرية المختلفة.
هذا ما يحدث للطفل بسبب سلوكيات أهله الخاطئة والأسرة المتصدعة والعلاقة المهزوزة بين أفرادها، فإذا ركزت على دور الأهل في التربية هنا فلأنهم هم الأصل، ولا يمكن للمؤسسات التربوية الأخرى كالمدرسة والمسجد والإعلام أن تصلح الناشئة، وإن كان العكس هو الصحيح، فقد انقرض دور المدرسة التربوي وهذا ما يقوله عالم النفس جان بياجيه: (إن المدارس تضم الكثير من المعلمين والقليل من المربين الذين يقدمون المعرفة للتلاميذ بمحبة باعتبارهم كائنات مهمة للتطور والمعرفة». وقد تستطيع المدرسة بمنهاجها التعليمي أن تتدارك بعض الهنات في شخصية الطفل عندما تفتح أمامه آفاقًا من المعرفة والعلم، لكن قد يقوم المعلم نفسه بهدم الثقة بين الطفل وأسرته بدل أن يثبت أسسها ويدعمّها، وقد يتعاضد أحيانًا المنهاج التعليمي والمعلم في تشويه براءة الطفل بضخّ أيديولوجيات قومية أو إقليمية أو دينية في عقله الطري، وقد يشترك المسجد - الذي يؤثر في الأهل والطفل غالبًا - في سكب المجتمع كله بقالب واحد، فينشأ جيل مستنسخ يتشابه أفراده شكلاً ومضمونًا، وهذا التشابه وإن كان يُظَّن أنه يساهم في بناء التلاحم الاجتماعي لكنه على صعيد آخر يجعل الأفراد متشبثين بعرى التقليد، عاجزين عن الإبداع، محجمين عن التطور، ما يؤدي في النهاية إلى تقوقع المجتمع على نفسه وعجزه عن تفهم المجتمعات الأخرى وتقبلها والائتلاف معها في مشترك إنساني واحد، وإن شذ بعض الأفراد عن القاعدة العامة نتيجة سفرهم وإطلاعهم على ثقافات الشعوب الأخرى، فكثيرًا ما يُنظر إليهم على أنهم مخالفون مغتربون منشقون عاقّون للثقافة الأم.
ثمة دور للإعلام؛ إذ قد يساهم هو الآخر بإعلاء ثقافة النمطية الواحدة، وعلى العكس من ذلك فقد يساعد على إبعاد الجيل عن واقعه ووضع ترسانات صلبة أمام فهمه لثقافته الأساسية التي لا شك تحوي كثيرًا من عناصر الخير والنبل والحق، وعلى سبيل المثال درجت بعض القنوات على عرض أفلام كرتونية للأطفال تحت مسمى قصص عالمية، وهذه القصص العالمية قد تكون مأخوذة فعلاً من روائع الأدب الإنساني ولكنها أيضًا ربما لا تحوي شيئًا من الإنسانية، ومنذ أكثر من عشرة أعوام تقريبًا كنت أجلس في بيت بعض معارفي وإلى جانبي فتى في الثانية عشرة من عمره يتابع قصة كرتونية، فإذا هي قصة كارمن أو المرأة اللعوب، والقصة لمن لا يعرفها تحكي حكاية امرأة غجرية تنتقل من رجل إلى آخر، ويقع في حبها ضابط تخلى عن مكانته الرسمية لأجل أن يتزوجها ويشترك معها في حياتها المفعمة بالحرية التي لا ضوابط لها، ولكنها سرعان ما تقع في غرام مصارع ثيران ما يجعل الغيرة تتقد في قلب الضابط وتنتهي الحكاية بمقتل كارمن وعشيقها على يد زوجها الذي ينتحر أيضًا على ما أذكر. يومها تساءلت حقًا عن مغزى عرض قصة كهذه على أطفالنا العرب، وهل هو تمهيد كي يتقبلوا العلاقات غير الشرعية مستقبلاً؟ هل نستطيع أن ننكر دور الإعلام في تغريب الطفل أو تشويه براءته؟ كانت هذه التساؤلات نتيجة لإشفاقي على هذا الطفل وأمثاله الذين يقتربون منه سنًا، لكن الخبر الذي قرأته في إحدى الصحف العربية مؤخرًا جعلني أشعر بالأسى لأطفالنا جميعًا، فقد أورد الخبر أن إحدى دور الأوبرا العربية استضافت إحدى فرق الباليه العالمية التي عرضت هذه القصة نفسها محكية بفن الرقص الإيحائي، ولا شك أن رقص الباليه الجماعي - بغض النظر عن الرأي الفقهي فيها- ذات مقدرة جمالية فائقة في إيصال مضمون القصة عن طريق إظهار البراعة الجسدية ما يجعل تأثيرها عميقًا في النفس، لكن المؤسف في الأمر أن الخبر بدأ بهذه العباراتمتعة ما بعدها متعة.. هذه خلاصة عرض باليه كارمن التي كان من المفترض أن تقدم عروضها على مدى ثلاث ليال على خشبة المسرح الكبير، لكن نظرًا للإقبال الجماهيري المتوالي، تم الاتفاق على تقديم حفل آخر صباحي، أجمل ما فيه أن هذا العرض الراقي نجح في إبهار العشرات من أطفال المدارس على مدى فصلين امتدّا لحوالي أكثر من ساعتين، ولعلنا ندرك مدى الصعوبة الشديدة لهذه المهمة إذا علمنا أن أعمار الأطفال لا تتعدى أربع سنوات). أي متعة أيها الصحفي؟ لا ريب أن الأطفال انبهروا بهذا العمل كما انبهر الأهل، لكن هل تستطيع عقولهم الصغيرة أن تستوعب خيانة كارمن وانزلاقها من رجل إلى رجل؟ لماذا تحشرون الأطفال في زوايا الكبار المنتنة؟! دعوهم لعالمهم البريء فبدون براءة أطفالنا لا جمال ولا فن ولا حق ولا عدل ولا خير.
الأمثلة أكثر من أن تعد وتحصى، وتشويه براءة الأطفال لا يتم بسبب ازدواج شخصية الأبوين فقط أو استنساخ شخصية المعلم أو المربي وأفكارهما فحسب، بل بتقليد ما يرونه في التلفاز والمسارح ودور السينما، فهل علمت قارئي الكريم سبب العنوان الذي وضعته لما كتبت؟
أظن أني تعلمت من كل موقف في حياتي صغيرًا كان أم كبيرًا، وقد علمتني مهنتي في اختصاص النساء والتوليد كثيرًا من الأمور، ومنها أن بكاء الوليد بمجرد خروجه إلى العالم ليس إلا احتجاجًا منه على بشاعة هذا العالم، فقد كان آمنًا رغم أنه محاط بظلمات ثلاث ذكرها القرآن، أما بعد خروجه من مكمنه فإنه لا يرى ببصره شيئًا ولكن بصيرته الداخلية وغريزته توحي له أنه لن يكون آمنًا على فطرة الخير أن تشوهها الأسرة والمجتمع، لذلك يصدر صرخاته الأولى قائلاً: أعيدوني إلى بطن أمي!

أبناؤنا والجنس.. أعيدوني إلى بطن أمي

13/04/09


إقرأ أيضا
الخلافات الزوجية لها فوائد
كيف نجعل علاقتنا الزوجية متألقة دوما لنعيش حياة مريحة وهنيئة؟؟؟.... سؤال يهم كل فتاة متزوجة أو مقبلة على الزواج. لا تخلو الحياة الزوجية من المشاك ...
[زيارات : 1205]
ماذا تفعلين عندما يتجه قلب زوجك لامرأة أخرى
يثير مخاوف المرأة أن الزوج لا يظهر ما يبطن فقد يكون على احسن حال أمام زوجته بينما يخفي في نفسه أمرا آخر ، ونظرا لتمتع المرأة بالحساسية الزائدة تجاه ت ...
[زيارات : 1347]
الوصايا العشر للسعادة الزوجية
أولا: السعادة الزوجية قائمة على عدة جذور؛ صحية ونفسية وفكرية واجتماعية وليست قائمة فقط على اللذة الجنسية فيجب الاهتمام بصحة الزوج والزوجة. واهتمام ...
[زيارات : 1082]
نكد الزوجات.. كــفاية؟
أكيد مفيش حاجة اسمها "نكد أزواج" و"نكد زوجات"؛ لأن النكد الزوجي واحد ولو بدأه أحد الزوجين فسيرد الثاني بالمدافع المضادة، ولو دخل النكد عمومًا من الباب ...
[زيارات : 1316]
كيف تثير زوجتك
كما تعلمون جميعا ان العضو التناسلي للمرأه يتكون من الشفرين الخارجيه والداخليه على الجانبين كما يوجد البظر في اعلى المنطقه من الداخل وتحته بمسافة فتحة ...
[زيارات : 3252]