flatnuke-2.7.2/0000755000175000017500000000000011177641445012713 5ustar simonesimoneflatnuke-2.7.2/index.php0000644000175000017500000001307711177637544014550 0ustar simonesimone * @author Marco Segato * @author Aldo Boccacci */ function getflopt(){ global $home_section, $theme; $op = get_mod(); $file = stripslashes(getparam("file",PAR_GET,SAN_FLAT)); $id = getparam("id",PAR_GET,SAN_FLAT); $fnaction = getparam("fnaction",PAR_POST,SAN_FLAT); $sect = getparam("sect",PAR_GET,SAN_FLAT); $fnfile = getparam("fnfile",PAR_GET,SAN_FLAT); $fneditor = getparam("fneditor",PAR_GET,SAN_FLAT); // check option to execute switch($op){ // no option given: homepage case "": if ($fnaction !="") continue; // print motd content if exists if(file_exists("misc/motd.php") AND trim(get_file("misc/motd.php"))!="") { OpenTable(); echo "
"; // print motd image if exists if(file_exists("themes/$theme/images/motd.png")) { echo "Motd"; } else echo ""; include ("misc/motd.php"); echo "
"; CloseTable(); } if(($home_section == "") or !isset($home_section)) create_news(); // display news as default else view_section($home_section); // display section in homepage break; // read details of a news case "read": read_news($id); break; // publish a news case "news": if(is_admin()) insert_news(); else { OpenTable(); print("
"._NOLEVELSECT."
"); CloseTable(); return; } break; // modify a file case "modcont": if(is_admin()) edit_content($file,$fneditor); else { OpenTable(); print("
"._NOLEVELSECT."
"); CloseTable(); return; } break; // insert a comment to a news case "comment": insert_comment($id); break; case "fnrenamesectinterface": rename_sect_interface($sect); break; case "fnnewsectinterface": create_sect_interface($sect); break; case "fnnewfileinterface": create_file_interface($sect); break; case "fndeletesectinterface": delete_sect_interface($sect); break; case "fnmovesectinterface": move_sect_interface($sect); break; case "fnmovefileinterface": fn_move_file_interface($fnfile); break; case "fndeletefileinterface": delete_file_interface($fnfile); break; case "fnrenamefileinterface": rename_file_interface($fnfile); break; case "usermodcont": user_edit_content($file,$fneditor); break; case "fnchoosesecttypeinterface": choose_sect_type_interface($sect); break; // view a section default: if (trim($fnaction=="")) view_section($op); break; } switch($fnaction){ // save news comment case "fnsavenewscomment": fn_save_news_comment(); break; // manage sections case "fnrenamesect" : rename_section(); break; case "fnmovesect" : move_section(); break; case "fncreatesect" : create_section(); break; case "fndeletesect" : delete_section(); break; case "fnchangesecttype": change_section_type(); break; // manage files case "fncreatefile": create_file(); break; case "fndeletefile": delete_file(); break; case "fnrenamefile": fn_rename_file(); break; case "fnmovefile" : fn_move_file(); break; // manage permissions case "fnaddusersectperm" : fn_add_user_view_perm(); break; case "fnremoveusersectperm" : fn_remove_user_view_perm(); break; case "fnaddusereditsectpermconfirm": fn_add_edit_perm_confirm(); break; case "fnaddusereditsectperm" : fn_add_user_edit_perm(); break; case "fnremoveusereditsectperm" : fn_remove_user_edit_perm(); break; } } // include theme APIs and layout include_once "themes/$theme/theme.php"; include "themes/$theme/structure.php"; // footersite if(defined('_THEME_VER')) { if(_THEME_VER > 0) { } } else { $footer_elements = get_footer_array(); echo $footer_elements['img_fn']." "; echo $footer_elements['img_w3c']." "; echo $footer_elements['img_css']." "; echo $footer_elements['img_rss']." "; echo $footer_elements['img_mail']."
"; echo $footer_elements['legal']."
"; echo $footer_elements['time']; } // fix for non-xhtml themes if (!eregi("xhtml",_THEME_DOCTYPE)){ $str=ob_get_contents(); ob_end_clean(); $str=str_replace(" />",">",$str); $str=str_replace("/>",">",$str); die($str); } ?> flatnuke-2.7.2/AUTHORS0000644000175000017500000000023710503745701013755 0ustar simonesimone Simone Vellei http://vellei.dragas.org Marco Segato http://marcosegato.altervista.org flatnuke-2.7.2/header.php0000644000175000017500000002162111045341513014641 0ustar simonesimone\n"; // default HTML 4.01 doctype // define close tag for XHTML doctype $namespace = ""; if(ereg("DTD HTML", $doctype)) { $close_tag = ""; } elseif(ereg("DTD XHTML", $doctype)) { $close_tag = " /"; $namespace = "xmlns=\"http://www.w3.org/1999/xhtml\""; } // dynamically build page's title and meta tags $mod = getparam("mod", PAR_GET, SAN_FLAT); $id = getparam("id", PAR_GET, SAN_FLAT); if(trim($mod)!="") { // include specifics keywords for this section if (file_exists(get_fn_dir('sections')."/$mod/none_newmetatags.php")) { include_once (get_fn_dir('sections')."/$mod/none_newmetatags.php"); } // build title if(($mod=="read" OR $mod=="comment") AND file_exists(get_fn_dir('news')."/$id.xml")) { // u're reading a news $news = get_file(get_fn_dir('news')."/$id.xml"); $page_title = get_xml_element("fn:title",$news); $keywords = eregi_replace('[\.]*[[:alpha:]]+$','',get_xml_element("fn:avatar",$news)).", $keywords"; $sitedescription = substr(strip_tags(get_xml_element("fn:header",$news)), 0, 200); switch($mod) { case "read": $page_title = _FLEGGI." : $page_title"; $sitedescription = _FLEGGI." : $sitedescription"; break; case "comment": $page_title = _COMMENTI." : $page_title"; $sitedescription = _COMMENTI." : $sitedescription"; break; } } else { // u're visiting a section $page_title = str_replace("/", " - ", $mod); $page_title = str_replace("none_", "", $page_title); $page_title = eregi_replace("^[0-9]*_", "", $page_title); $page_title = eregi_replace(" - [0-9]*_", " - ", $page_title); $page_title = str_replace("_", " ", $page_title); } $title = "$sitename » $page_title"; } else $title = $sitename; echo $doctype; echo "\n"; echo "\n"; echo "".stripslashes($title)."\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; ?> "; } } // declaration of all StyleSheets provided by the theme in use $path_css_thm = "themes/$theme"; if(file_exists($path_css_thm)) { $dir_css_thm = opendir($path_css_thm); $file_css_thm = 0; while ($filename_css_thm = readdir($dir_css_thm)) { eregi('[\.]*[[:alpha:]]+$', $filename_css_thm, $extension_css_thm); if(strtolower($extension_css_thm[0])==".css" AND $filename_css_thm!="." AND $filename_css_thm!=".." AND !eregi("^none_", $filename_css_thm)) { $array_css_thm[$file_css_thm] = $filename_css_thm; $file_css_thm++; } } closedir($dir_css_thm); for($i=0; $i<$file_css_thm; $i++) { echo "\n"; } } // declaration of the XML file with rss-feeds if(file_exists("misc/backend.xml")) echo "\n"; // favicon if(file_exists("favicon.ico")) echo "\n\n"; // loading all JavaScripts that are present in '/include/javascripts' directory $path_js = "include/javascripts"; if(file_exists($path_js)) { $dir_js = opendir($path_js); $file_js = 0; while ($filename_js = readdir($dir_js)) { eregi('[\.]*[[:alpha:]]+$', $filename_js, $extension_js); if(strtolower($extension_js[0])==".js" AND $filename_js!="." AND $filename_js!=".." AND !eregi("^none_", $filename_js) AND !eregi("^\.", $filename_js)) { $array_js[$file_js] = $filename_js; $file_js++; } } closedir($dir_js); if(count($array_js)>0) sort($array_js); for($i=0; $i<$file_js; $i++) { echo "\n"; } } // end of HTML headers echo "\n\n\n"; ?> flatnuke-2.7.2/NOTES0000644000175000017500000000237411177637541013536 0ustar simonesimone*======================================* | NOVITA' DELLA 2.7 x GLI SVILUPPATORI | *======================================* CARTELLA /INCLUDE/AUTOEXEC.D ---------------------------- Questa nuova cartella contiene tutti gli script PHP che si vuole vengano eseguiti prima della visualizzazione del nostro sito. Di default contiene alcuni script fondamentali: * gestione della sicurezza (00_security.php) * verifiche e correzioni della struttura di sistema (01_autobuild.php) * gestione della modalita' di manutenzione (02_maintenance.php) * gestione delle statistiche (10_stats.php) E' possibile aggiungere nuovi script per gestire ad esempio backup "programmati" del proprio sito, creazioni automatiche di file specifici, e tanto altro. Nella sottocartella '/include/autoexec.d/news' e' possibile inserire invece tutti gli script PHP che si vuole vengano eseguiti ogni volta che una notizia viene pubblicata, modificata o eliminata. PERSONALIZZARE MESSAGGI DI SEZIONE NON TROVATA O NON ACCESSIBILE ---------------------------------------------------------------- Creare nella cartella del proprio tema i file fn_404.php e fn_denied.php che verranno utilizzati rispettivamente per segnalare l'inesistenza di una specifica sezione, oppure l'impossibilità ad accedervi. flatnuke-2.7.2/robots.txt0000644000175000017500000000066310701246553014762 0ustar simonesimoneUser-agent: * Disallow: /blocks/ Disallow: /download/ Disallow: /forum/ Disallow: /gallery/ Disallow: /images/ Disallow: /include/ Disallow: /languages/ Disallow: /misc/waitingusersdir.php Disallow: /misc/log/ Disallow: /sections/none_Admin/ Disallow: /sections/none_Calendar/ Disallow: /sections/none_Fdplus/ Disallow: /sections/none_Login/ Disallow: /sections/none_Sondaggio/ Disallow: /sections/none_Statistiche/ Disallow: /themes/flatnuke-2.7.2/Changelog0000644000175000017500000006076511177641432014537 0ustar simonesimone04/05/2009 21:33 Simone Vellei , Marco Segato flatnuke-2.7.2 (eagle) Change: Redirect to the self page when changing language (idea from Jack Overfull) Fix: Prevent posting blank comments Fix: Display button management for sections in homepage Fix: Hide sections list if the current section is displayed as homepage Fix: Moved saving comments from verify.php to Flatnuke main engine Fix: Fixed security bug http://www.securityfocus.com/bid/34486 Alessandro Vernassa Fix: patch for preventing warnings in non xhtml themes Lorenzo Caporale Add: New layout for missing pages and access denied Ignazio Coco Change: Better blocks layout management by themes 10/10/2008 22:02 Simone Vellei , Marco Segato flatnuke-2.7.1 (eagle) Add: New 'include/autoexec.d' folder to automatically run PHP scripts Add: Manage FdPlus configuration from administration panel Add: View online IM status of members Add: Password recovery by e-mail Add: Use all the digits you want to order sections, blocks or files Add: New links to scroll up/down on news pages Add: New spam/ban checks on URL referers (idea from Expo) Add: New 'include/blacklists/referers.php' blacklist Add: SEO contents improvements Add: Improved anti-spam engine Change: Removed deprecated file footer.php Change: Print improvements Change: Choose easily to print the list of subsections on top or boottom Fix: Fixed creating new sections' dirs Fix: Fixed loading only XML files as news Fix: Fixed Flatnuke-Fast-News feature (rebuild your bookmarks) Fix: Updated sample sections Fix: Fixed hiding email address when users look at others' profile Fix: Fixed printing unexistant news category image Fix: Fixed CRSF bug on verify.php letting to comment from remote Fix: Fixed XML-RPC protocol getting old news and UTF-8 encoding Fix: Fixed problems on deleting some news' comments Fix: Automatically recover statistics Aldo Boccacci : Add: Some IM and presentation fields in userprofile Change: Upgrade to fdplus 0.8 Change: FCKeditor for managing news and MOTD Alfredo Cosco : Add: English and French INSTALL translation Fix: Fixed slashes on title's page Fix: Fixed namespace on XHTML DTD Giovanni Forte Fixed: Fixed copyright/preview boxes creation 21/11/2007 21:52 Simone Vellei , Marco Segato flatnuke-2.7 (eagle) Add: Site search uses Ajax technology Add: New preview function also for proposed news Add: Theme can have its own footer images (put them in theme's 'images/validate' directory) Add: Look at where other users live with Google Maps Add: New Flatnuke administration panel Add: robots.txt improves web crawlers' management Add: Dynamically build page's title by the news/section you're reading Add: Customize sections' meta tags (idea from Remer) Add: New configuration variable $sitedescription to describe site's contents (thanks to Remer) Change: AHAH library upgrade (v1.1.3) Change: Nautica theme update to theme engine v1 Change: Gallery upgrade (v0.8) Change: Spam filters improved (some code from Michele Tartara) Fix: Fixed possibility to register usernames with dot "." inside Fix: Fixed RSS generation with XML-RPC engine (thanks to Alfredo Cosco) Fix: Fixed load_php_code() usage (thanks to Alfredo Cosco) Fix: Fixed various XSS bug (thanks to Mattia Meleleo and kingoftheworld92) Fix: Fixed CSRF bug on verify.php (thanks to Mattia Meleleo) Fix: Fixed CSRF bug on index.php (thanks to The_RaV[3]N and RBT-4 guys) Aldo Boccacci : Add: new functions: list_users(), list_admins(), check_mail(), check_username() Add: new functions: load_user_view_permissions(),load_user_edit_permissions() save_user_view_permissions(),save_user_edit_permissions() Add: new functions: fn_is_system_dir(), fn_die(), get_mod(), get_file_var() Add: mail registration for new users (with spam filter for email addresses) Add: plugin for searching users Change: user profiles moved to misc/users/ and saved in xml format Change: users can hide their e-mail addresses Change: improved section admin panel Change: now are listed also the files present in sections Michele Tartara Add: Gallery generates RSS 2.0 feeds Giovanni Forte Change: Flatcry theme upgrade (v1.2) 12/06/2007 09:05 Simone Vellei , Marco Segato flatnuke-2.6.1 (ants) Fix: Some errors on flatcry theme fixed Change: foot_news.php removed (deprecated) Fix: Fixed bug making admins to delete a file by deleting a user Fix: foot_news.php completely deprecated (some code from Alfredo Cosco) Aldo Boccacci : Add: summary of the thread when replying to a post (idea from Alfredo Cosco aka capitanonelson) Add: new function: print_subsections($mod) Change: variable $forum_moderators moved from forum/flatforum.php to config.php Fix: Login now works also on Windows servers Fix: Bbcodes now don't move the page Fix: Added a scrollbar for preview of long posts/news Alfredo Cosco : Change: Reorganized view of news' archive 04/05/2007 08:55 Simone Vellei , Marco Segato flatnuke-2.6 (ants) Add: Link to delete one single comment of a news (idea from Andrea Biondo) Add: Links to change on the fly the language of the site (some code from Aldo Boccacci) Add: New theme engine version: v1 Add: New JS addLoadEvent() to manage more than one javascript at window.onload() Add: xmlrpc engine supports metaWeblog API Add: edit and insert news now use the same interface Add: Installation and Setup utility Change: Gallery upgrade (v0.7) Change: foot_news.php is obsolete and deprecated now! Change: footer.php is obsolete and deprecated now! Change: New preview function Change: Javascripts reorganized (bbcodes_editor, news_preview, module_copyrights) Change: Removed butterfly old theme Fix: Fixed RSS' text layout Fix: Build on-the-fly some system directories if not available Fix: Removed RSS update after simple file editing Fix: Fixed text layout on news proposed by guests or members Aldo Boccacci : Add: Flatforum, the new forum Add: section none_Login Add: functions is_blocked_ip($ip), is_spam() Add: functions gt_fn_dir($dir), save_user_profile() Add: integration of FCKeditor for sections editing Change: new emoticons from PhpBB and PBLang Change: Spam filter for comments in news Change: new bbcode panel Giovanni Piller Cottrer : Change: Revisited block for searching contents on the site Lorenzo Caporale : Add: New languages icons Change: New bbcode icons Change: New favicon image sssputnik : Add: French translation Giovanni Forte Add: New default theme Flatcry Thanks to Alfredo 'capitanonelson' Cosco for pointing out so many errors. 16/10/2006 22:11 Simone Vellei , Marco Segato flatnuke-2.5.8.1 (butterfly) * flatnuke: Add: Flatnuke FastNews link Fix: Fixed various XSS bugs 22/09/2006 21:38 Simone Vellei flatnuke-2.5.8 (butterfly) * flatnuke: Add: Hack to support PNG transparencies in IE Add: Strong concurrent read/write manager Add: New headlines functions web semantic-based Add: Support for home page section choice in config.php Add: first changes for the new theme engine Add: list_section(): now you can create your menu inside the theme Add: FlatNuke Fast News Add: Marco Segato as new co-author Add: Aldo Boccacci CVS write permission Change: Better textarea size Fix: Fixed bug in statistics Marco Segato Add: Load automatically javascript scripts Add: New gallery (v0.6) Add: New function load_php_code() (idea from Aldo Boccacci) Add: Improved managing cookies' life on login/logout Add: Support for single (sub)section image identifier Add: Load automatically CSS sheets Change: Reorganized the view of news' details (contribute from JLorenz) Change: Improved administration tools in sections' footer Change: New calendar block (v0.9.1) (in collaboration with Giovanni Piller Cottrer) Change: News are now managed as all other standard sections Change: XHTML support in the code Fix: Fixed remote avatar usage Fix: Fixed bug that prevented proposing news by registered users Fix: Fixed bug in avatar choice Fix: Security fix for possible HTML injection in login form Fix: Security fix in gallery with images upload function Lorenzo Caporale : Change: New level layout in login block Aldo Boccacci : Add: Fdplus (v0.7), the new download manager Add: New functions: is_admin(), is_user(), is_guest(), get_username(), load_userprofile() Add: New functions: user_can_view_section(), user_can_edit_section() Add: New functions: check_path(), check_var() Add: New function fnwrite() to write a file under control Add: Possibility to load external code on login block Add: New search engine Add: Added blacklist for preventing spam in refer Add: support for accesskey Add: reguser variable in config.php Add: Added possibility to dinamically set the variable $theme with the cookie "usertheme", and the variable $lang with the cookie userlang Add: Added possibility to redefine functions view_section(), edit_content(), create_menu(), create_blocks() and create_news() Change: Admins visits are no more tracked in statistics Fix: Fixed functions for managing XML files Fix: Fixed usage of '+' char in files' name Fix: Fixed cookie set on linux Fix: Accessibility improvements Alessandro Alfonsi : Add: Possibility to close the site in 'maintenance mode' Andrea Biondo Add: New function to mask email addresses Paulo Silva Add: Portuguese translation 18/01/2006 21:28 Simone Vellei flatnuke-2.5.7 (butterfly) * flatnuke: Add: tag2html() function Add: New gallery concept Add: Wikipedia TAG as BBCode Add: sanitize library by http://www.owasp.org/ Add: function getparam() to retreive and sanitize GET, POST, COOKIE, SERVER, ecc parameters Add: Added favicon.ico Add: get_fn_version() to retreive curret Flatnuke version Change: Now login and logout uses HTTP_REFERER to return to the previuos location Fix: Fixed bug in Gallery section without images Fix: Fidex path disclosure in forum/profile Fix: Fixed bug with "quale" and "user" parameters. Fix: Fixed RSS parsing Fix: fixed bug spoofing user name in comments Remove: Removed possibility to directly insert HTML code into news and comments (only admins can do it) Marco Segato Add: New poll (v2.5) Add: New gallery (v0.5) Add: New footer for news' details with lots of related informations (idea and parts of code from Loris Modena ) Add: is_alphanumeric(), get_file_extension(), fnsanitize() functions Add: BBCodes support in news and comments (parts of code from Giovanni Piller Cottrer ) Add: support for more than one CSS stylesheet in themes Change: Updated translations Change: Footer reviewed (also added page time generation) Change: keywords' site moved into config.php (patch from Gianluca Romanin ) Change: all lists used were subsituted by arrays Fix: Fixed bug in Download section (ID bug 000003) Fix: Fixed path disclosure bug in sections (null byte) Fix: Fixed bug with non-existant sections or files (a warning will displayed) Fix: Fixed null-link bug for news-search of untitled news Fix: Fixed printing the gallery section Fix: Fixed the use of blanks characters in filenames Alessandro Vernassa Add: New site-map section Fix: Fixed edit_content() function to display textarea in the right way Bj�rn Splinter Change: Updated german translation Fix: Fixed BBCodes functions Aldo Boccacci Add: New useronline block (v0.2) Add: New function rawurlencodepath() to make a link W3C compliant Fix: Accessibility improvements Alfredo Cosco Fix: Fixed the use of apostrophes in filenames * forum: Change: valid users' names can only be alphanumeric Fix: Lots of security fixes Marco Segato Add: added registration agreement terms (taken & modified from http://www.phpbb.com/) Change: Updated help file with the contribute of Massimiliano aka 'Hermes' Fix: Members' profiles security upgrade Fix: Empty avatar image fixed (graphic by Lorenzo Caporale ) Fix: Fixed possibility to execute some code thru avatar's url Fix: Prevent displaying too large avatar images that could brake page structure Fix: Removed all unused tags (hint by Alessandro Vernassa) Remove: Removed possibility to insert images in forum topics due to security issues 08/08/2005 19:07 Simone Vellei flatnuke-2.5.6 (butterfly) * flatnuke: Fix: Display "Data" on comment only if there is a tag data. Fix: Fixed stat() in index.php Fix: Fixed possible variable conflicts in blocks programming Fix: Fixed some bugs in users registration Remove: Removed block "Validato" Marco Segato Add: New poll (v2.4) Add: New gallery (v0.4.1) Fix: Some accessibility adjustments on footer, module_copyright() and login block Fix: Mask file extension when inserted into a section Fix: Fixed path disclosure bug in sections Alessandro Balsamo : Change: No more tables in news * forum: Giovanni Piller : Fix: Better javascript emoticon management 20/07/2005 19:39 Simone Vellei flatnuke-2.5.5 (butterfly) * flatnuke: Change: Renamed some writeable files Fix: & in & in various files Fix: RSS link in forum footer Remove: Removed $siteurl from config file Marco Segato : Add: New gallery (v0.4) Add: New poll (v2.3) Add: API documentation inserted into code Add: SourceForge [1197373] bug resolved (bug in managing translations) Add: Display data on comments Add: New function fnlog() applied in FlatNuke core Change: Footer reviewed Fix: Updated FlatNuke, Punto-Informatico, Ziobudda headlines' URL (ID bug 000001) Fix: bug in cookies' security (ID bug 000002) Aldo Boccacci : Add: New block showing users online Change: Improved accessibility Fix: Download section browsing * forum: Alessandro Balsamo : Add: New emoticons Lorenzo Caporale : Add: New avatars 05/06/2005 15:26 Simone Vellei flatnuke-2.5.4 (butterfly) * flatnuke: Add: Aggiunta funzione fnlog(zone,txt) per creare file di log Add: Aggiunta funzione module_copyright(...) per moduli esterni Add: Inserita data di post anche sulla lettura della news Add: Supporto per qualsiasi formato immagine come argomento news Change: Foglio di stile del tema butterfly Fix: Corretto bug in segnalazione news da utente ospite Fix: Corretto bug nel riordinamento della sezione Download Fix: Corretto bug generazione foglio RSS Fix: Corretto bug referer nelle statistiche Fix: Corretto bug loop in foot_news.php Fix: Corretto bug accesso diretto a print.php Fix: Corretto bug su accesso none_Search Fix: Corretto bug su accesso diretto thumb.php * forum: Fix: Corretto bug in registrazione primo utente come admin Marco Segato : Fix: Supporto per l'inserimento di immagini nei post del forum Fix: Corretto bug accesso diretto a help Fix: Corretto bug accesso diretto a footer 02/04/2005 12:19 Simone Vellei flatnuke-2.5.3 (butterfly) * flatnuke: Marco Segato : Add: nuovo motore generazione RSS * forum: Fix: corretti alcuni bug nell'autenticazione 02/01/2005 23:43 Simone Vellei flatnuke-2.5.2 (butterfly) * forum: Fix: corretti vari bug nella registrazione 27/11/2004 10:05 Simone Vellei flatnuke-2.5.1 (butterfly) * flatnuke: Fix: corretto bug CloseBlock Fix: corretto bug segnalazione news Fix: corretto bug stampa file in sezioni Fix: corretto bug in stampa Fix: corretto bug spazi in sottosezioni Add: inserita nota in README per uso livelli 20/11/2004 14:42 Simone Vellei flatnuke-2.5 (butterfly) * flatnuke: Add: supporto livello utenti (Access Control List) Add: supporto per piu' amministratori Add: il primo utente che si registra sara' amministratore Add: supporto per permessi a sezioni Add: cancella news chiede conferma Add: supporto per titoli blocchi con spazi Add: verifica supporto per librerie GD in galleria Add: modifica livello sezione online Change: restyling del blocco login (wow!) Change: restyling tema default Change: riscritta html_entity_decode() per PHP < 4.3 Change: una sezione puo' anche non contenere section.php Marco Segato : Change: aggiornamento galleria immagini * forum: Add: cancella post rimanda a pagina di cancellazione Add: visualizzazione livello degli utenti Add: cancella account e post richiedono conferma Add: registrazione chiede doppio inserimento password Fix: corretto possibile bug in gestione cookie Change: convertite immagini gif in png Change: ampliamento visuale totale Change: cookie con maggiore durata Marco Segato : Add: supporto per tag coding 17/08/2004 10:40 Simone Vellei flatnuke-2.4.1 (wall lizard) * flatnuke: Fix: corretto bug visualizzazione sezioni Marco Segato : Add: supporto tag html per commenti news * forum: Change: La pagina attualmente letta non ha link Change: una risposta rimanda all'ultima pagina del topic Change: rispondi include la pagina visualizzata 11/08/2004 15:37 Simone Vellei flatnuke-2.4 (lizard) * flatnuke: Fix: corretto bug di ricerca news in archivio news. Add: aggiunto download manager Add: aggiunta stampa anche per sezioni e file Add: aggiunto l'header della news come campo description nel file RSS Add: motd creato automaticamente Marco Segato : Add: supporto per galleria immagini Change: aggiornamento flatpoll Add: supporto per quoting in forum Gringo: Add: traduzione flatnuke in spagnolo Add: traduzione sondaggio in spagnolo * forum: Add: motore di ricerca anche nel forum Change: l'username non puo' contenere spazi e deve essere <= 13 caratteri 20/04/2004 22:45 Simone Vellei flatnuke-2.3.1 (viper) * flatnuke: Add: aggiunta funzione ob_start() per velocizzare stampe con buffer Fix: corretto bug su ricerca news con avatar Fix: corretto bug per l'inserimento news da parte di un utente Fix: supporto per avatar argomenti con ogni formato immagine Fix: corretto bug visualizzazione iniziale statistiche Marco Segato : Add: supporto lingua tedesco per sondaggio 23/03/2004 10:57 Simone Vellei FlatNuke-2.3: (viper) * FlatNuke: Add: Supporto per news in XML Add: Supporto post forum in XML Add: Supporto elimina news Add: Supporto elimina post forum Add: Supporto modifica news Add: Supporto modifica post forum Add: Supporto modifica sezioni e file Add: Supporto per la ricerca nel forum Simon Eigeldinger : Add: Traduzione per il tedesco 25/02/2004 10:20 Simone Vellei FlatNuke-2.2: (fugu) * FlatNuke: Add: Supporto per prefisso "none_" anche nei blocchi. Add: Aggiunto FlatPoll nel core di FlatNuke. Add: Supporto per facilitare la costruzione di link a file nello stesso livello della sezione. Add: Aggiunta sezione di esempio none_Prova. Add: Supporto per personalizzazione della struttura di FlatNuke nei temi Add: Aggiunto supporto per accessi concorrenti in scrittura su - incremento letture news - aggiunta commento news - risposta ai post sul forum Add: Supporto per register_globals=Off Add: Aggiunto controllo ID di sicurezza per procedure Add: Aggiunto FlatStat nel core di FlatNuke Remove: Rimosse variabili globali Remove: Rimosso blocco "Informazioni" Fix: Fissati "eregi" in blocks. Fix: Corretto bug di sicurezza su script POST esterni * forum: Add: Supporto per register_globals = Off Fix: Fissato bug in elimina account Fix: Fissato bug in codice javascript emoticons 23/01/2004 10:20 Simone Vellei FlatNuke-2.1: * FlatNuke: Add: Supporto per il fuso orario Add: News segnalata pubblicata con data di approvazione Add: Aggiunto header ai file php Add: Collegato account admin con forum Add: Supporto eliminazione account * forum: Add: Supporto per "Re: oggetto" automatico in risposta ad un post Add: Supporto immagine di sfondo uguale al tema 23/12/2003 16:20 Simone Vellei FlatNuke-2.0: * FlatNuke: Add: Sviluppato supporto per internazionalizzazione Add: Durante l'inserimento dei commenti viene visualizzata la news Add: Inserite opzioni di configurazione per i permessi dei guest Add: supporto per voci sezioni con spazi Change: Pieno supporto per utenti - Collegamento utenti forum con utenti portale - Inserimento commenti solo a utenti registrati (opzione) - Segnalazione news solo a utenti registrati (opzione) Change: Unico file di configurazione per forum e flatnuke Change: modificato file AUTHOR Fix: Fissate alcune impostazioni di sicurezza Salvatore Di Maggio : Add: Supporto per voci del menu con spazi Nicola Cocchiaro : Add: Traduzione inglese * forum: Add: Impostazioni inserite nel file config.php di flatnuke Fix: Corretto bug nella scelta dell'avatar. Giacomo Rizzo : Add: Supporto per avatar remoti Salvatore di Maggio : Add: Supporto per nuova emoticon (occhiolino) Add: Supporto url senza "http://" iniziale 02/11/2003 16:20 Simone Vellei FlatNuke-1.8: * FlatNuke: Fix: Corretto bug sottosezioni in Archivio_News e Segnala_News Fix: Esclusa inclusione dei file nascosti o "CVS" Fix: Corretto bug icona su inserimento news * forum: Add: Inserimento di emoticons cliccabili Add: Inserita l'ultima pagina di un thread durante la risposta ad un topic Add: Inserito supporto per gli URL Fix: Corretto ordinamento dei post per data ultima modifica. 30/08/2003 11:20 Simone Vellei FlatNuke-1.7: * FlatNuke: Add: Inserita regola per ordinare blocchi Add: Inserita regola per ordinare sottosezioni Add: Inserita regola per ordinare voci del menu (sezioni) Add: Inserita procedura per segnalazione news (e loro amministrazione) Add: Supporto per inserire immagine di sfondo nel BODY nei temi. Add: Inserita divisione per argomenti nell'archivio news Fix: Corretto bug nella preview delle news * forum: Fix: Corretto ordinamento dei post al contrario Fix: Corrette imperfezioni con gli slashes Fix: Corretto bug dell'avatar Fix: Corretto bug della faccina :/ 30/08/2003 11:20 Simone Vellei FlatNuke-1.6: * FlatNuke: Add: Il codice adesso e' HTML VERAMENTE 4.01 Trasitional. Add: Durante l'inserimento di una news e' possibile farne la preview * forum: Add: Password utenti memorizzate in MD5 Fix: Correzione di diversi bug 24/08/2003 10:59 Simone Vellei FlatNuke-1.5: * FlatNuke: Add: Anche le sottosezioni supportano il "none_" Change: Il codice adesso e' HTML 4.01 Trasitional. * forum: Add: E' stato inserito un forum (FlatForum). Add: FlatForum e' collegato a FlatNuke mediante la sezione "Forum". Add: Password utenti memorizzate in MD5 flatnuke-2.7.2/COPYING0000644000175000017500000003550310254331534013742 0ustar simonesimone GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ------------------------------------------------------------------------------- flatnuke-2.7.2/images/0000755000175000017500000000000011177641445014160 5ustar simonesimoneflatnuke-2.7.2/images/maintenance.png0000644000175000017500000002256510425462050017146 0ustar simonesimonePNG  IHDR>agAMAܲ IDATxyǕ?տ99iqtP,Y-JV09H?AH 6c$nlcY쮜ݵE,lɒ,EpDr8!\Gwu>~CJ5|@OwWUWz[ェ_\t.eZ.q=ֵo\"He{׿î%*ek(þ9W?m l?lb {c^:WӶa'>HG*d+,Ľωg+bܛcVsīh}u:y<O[>L0,pz@غdIStfh^Ock;ĊK,󊤧?Vztoוu]njmu>r1μל|/c_P%BT(D/ԵIwu/r^ 'M!@KIs#-gv|<=OO}{||lO$TP5(E0:VܹU+^/r-tيWjt(,c)7m98 E@af+s0V`rʳ%W\~=g%^+p m%tźW_;o Li^𰄗|rUd4B Kr!y ʳ۵\LnR(ϣs%o=05ݸ?W_~ Ɔ2}PH*+rPP\r/W[)}Å1Xځ?6zW1y2$t,y`Wލ]kS059,+<]NKI⊋q!k.KEktTP f o`v߶?~)k4ڝ\U`fN})2:sMRT_H>}gbz׾}6oy]Wd_ir[)vJm]4Oy'?}'^)4HZH~W޿^k>mkӥt!]:p95®wzվ+Qo=ƫo `.G-J@ӎڭJMCXdDFRHۋ2ƈfy_ֈBYWdY E>egX2߲dub W, H[ &gZaf&Xܑ}^TH|׺'k KYs!aѱaLgYh&m H ZwS:?L:W($<@V{_W\a_AQM033MjJ@)бJr%.R.P|@.^PHf]9/:AᰂjC'u_\1@I2_#XvcʨL9j2\sbtϴRrlE\JџgBɹ(ZD^B+`˗ɦ/|δnE-zr71?ߤdv<;o&ϐ2m D.2+W`~s's%, ]o\L [ 5z'8}b=޳HwꦆN V{W8;ogټkJ%vz~ѷLled0 ~]Wr!f=Xw}lClgQ{.nx9?uN?~0ϲiό+d.|y5|/ Yjy.؁RtnQƴ-˔| }uw.҅KF mQU=p !]\P ` ˦ǡuh?-(q1ͼ"QRc?fMwʗ)_Oѵq _)k0+ #BhLO_ Zͼ ̣VF^fc4vר|M? m zk-0[EޡU3ӊξH(EZa'2d'3õ"?x<7y#2?cVT YC٠/; R*lU6 Pq"sc4ʎ@1sQ w=yÊI& - ,PH ԪU M*NSZM7Cƴ-r 0]h/TүbQvgsczg.Xw|!Ys{p%ijabyľ¼ 5im4c*֧\Ј!p{t|ҽս ʣ 奭,eeUε =B!u7, )#Ȭ˳4F#'Ywǽ{6z 0|4H5`P|:?`3LAZwǽHAI7~!,ogF#  P+zFԨgYy?`ೕo<?nPW꽝Jyw}` K~kW tX5T5,E0:QV<1aűN%/O[OjeUK6"u AAYHSPPhh,Ѻphil%hֲrs!VW0o!PXԲjs^׌^߈-G%զ/0((P^jCQ"g;#$%bt.֣#&%qYXK }XJc&:u\DtQ G7P1%Dzٔ2leP`ǹfÞ'ZFgeyU"~֚"[?t$gbuR:@dO\8GZ"_4[s^}{^ 3*zG5mOg&%}/ʌf6!k l]̗X:g(4L7G.'VI3'XeVƲ8Eb TNYR>so2y!a ?t|l %Uк e" 7 D'!D'CH){nt 嵫`^Y}5!ڕ&gcK~/@r1aW45J^Nɑ/\~wQ]EHZv|b[gHZ%}h~'d_\*ry0^Ș@F3{,Dq!&'꽝^ϺC׶m{p?F?O{ocwf?>\K(R8ʄ ~Gʳޟۿ 0_Bw .JԲ|uw@-n+0^lr#˫.]ƾ 2(WwL/#cF@"֚}'h33qǎ{*ό m//FSPRcK2(_W*e󷒶!*NܫxG,,G("ԁ]xN%C*:7.`aDjNMţHrA*`_~]M>F=s+Oz9zFu5z#̛Kj 3'1`ITZV^LfO8G81SPhi4l ӯc,$6O, >6 RJ=W:ˠ/q] (|5ϋ6E|SAC)*_-ΗA~.e+_n FrDXq.cA\tYM9 TMhؘt)E_2.p 4i2ȵ'PX4SboИ:*"H̿ǛxB R('b_"21RѶ+H Ap`[p0J Oey(O: P6I] ~0 ɦxAG~Rrf dJA-%x ?( ȑ.2'VLX(PۿcP[?Mi`bѹ ( @16XXl@5Ȉ,cCVtb'EFMʈ_*9h\)<3L1lеge@8(+ʜt(/!-IrЭtlT" F;fP+-k.Q3 t_)S#Cԋ"WiTb X 4, Ye% Od ip)"OJؽt_8].S.@&MP [Q}< 0X 1(ҕYWɷ3 [Q9ԠN|LqPt *PGxS)?6 Ju2TPY D  HE/n@E<C~ w&ظ'GGx(:f0>0ݟP}Xw` B/22$(l7`,damD;Y?8JDJG7=SA >0Üz${kYFamn!Ε-WYq8$3.ב4@:g+6V(Ӭ'<6yje)`6ԩ@<6[fɗ?W њ!P{f GThցByB+OSv$WyߕaR34tnZ/KV'y20 S@`YZU%B<.5珰lumP BRYqKFf͝HR"=R23.P)]wT+s>3cs7! q` TH@@h{kZ&N?L]6-+2ՙlEJ $̽P=pRZ)"=whg2*4/7Cjy=cvr <7|"X! Q41 w]Gokir齴vn;cg$ r]ʮձ ؋BvZ+(bm YC]@˶O P\8DZ_QasjS9ۣ?U%@'XZɆ|WrRйto'xQ1grpUeU& 1x#(kt#7zD}uV> g##}/qGg&8 H\i @3F gノݭM4[x>NCke1 $2dYׄ(䥭X}ʇXQXJw2`yaZypX9R?@R@ãl۹ZڵUܾe `+u;v76l%Ҍg2Y Y :?)fO1y].;M^=ƻ=}e ?E2D&& KtGWx~mk]rZ2+ZHXJ@Ebݧ~}^ۈʺ)&w}$ ߹#)KĊx&A;K2 46~ =[װzeQEJW)酹,Ji"pX~WykezRPĭg'?>  ' F  4ORh5J h%P20tma^3h@,qNF+ >τeP>d2(fBV$g"̥36h ! *?M)q}ٗTT9:->Z£ ءe'(7~}`cx*-D(F5V V~8LSA!CʇL=`Tѿ0@@Z(GN]w63ɸu8W0K=(=L[{LePIENDB`flatnuke-2.7.2/images/validate/0000755000175000017500000000000011177641445015751 5ustar simonesimoneflatnuke-2.7.2/images/validate/valid_html401.png0000644000175000017500000000055310260572641021023 0ustar simonesimonePNG  IHDRPU0PLTE;jN^ꬮPPPfffyv pHYs  tIME 2 cIDATxcK$`(UP;U< dsw>2RԺl@{B0 /* ߁0Nl\ @@Ykc&:s!&B='e,޽H%;BgR=݆wJu')zIfB kbSw jIENDB`flatnuke-2.7.2/images/validate/flatnuke_powered.png0000644000175000017500000000044510260572641022011 0ustar simonesimonePNG  IHDRPgAMA aIDATHKM! >;sy Ҽ0.HHt{RE˔ |Wz;O[%?3y\׈uA72Xpls``@t4Sv6zZXUи[:w,#=ہ(L_y.i= G!4L'wϧ ԑ.޺.dY8{z1 3ۍR>'˶wCIENDB`flatnuke-2.7.2/images/validate/valid_css.png0000644000175000017500000000052310260572641020417 0ustar simonesimonePNG  IHDRPU0PLTE^N;jPPPfffyݮ pHYs  tIME 3dIDATxcK$`(U0A(\ynrerd!, x6r?{ r!,  dD=b{l _+j@| 4?a*|ԡLy7#l 0[ rR̈́ĦĘ2IENDB`flatnuke-2.7.2/images/validate/rss20_powered.png0000644000175000017500000000044110260572641021145 0ustar simonesimonePNG  IHDRPDgAMAOX2tEXtSoftwareAdobe ImageReadyqe< PLTEffffy[MEIDATxb`2 &Ȉ01  @3) j.@b2A &  4"HPo @\u##@B2rÐ la@TeDuy ^7 6o5CIENDB`flatnuke-2.7.2/images/validate/email.png0000644000175000017500000000034710306323707017541 0ustar simonesimonePNG  IHDRP PLTEv|fRRR61bKGDH pHYs  tIME &dIDATcX0L a PÄ A``(X!Б. QP)U逤f&P0X݉GX-<8IENDB`flatnuke-2.7.2/images/languages/0000755000175000017500000000000011177641445016126 5ustar simonesimoneflatnuke-2.7.2/images/languages/de.png0000644000175000017500000000046310577204017017220 0ustar simonesimonePNG  IHDRUsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8K 0EOJF8qb,FU8P)*}3=p DTyQ҃~lC &njv@8+HS}̒+(@PYPf ڀ=ww޻%]ᠺDBq qq_[WԶ734[QIENDB`flatnuke-2.7.2/images/languages/en.png0000644000175000017500000000147710577204017017240 0ustar simonesimonePNG  IHDRUsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8kHawsi\.LIC/%1"0 $ "/HRP ܇J6 .uԦΩk(x\Xd!ji!^Akk/NpN-wHʣקVK3lHLD0k`8@iiFnM%Fc lXXȄa+7oKw{;JNA! 4ès=8N}yd[qx& fXUp|{◛˼![$>{ JH4B':Y^G%6WT0->QQLEFFYXp{ߚLQ^Y<3XC@sEah(~Hz?\L< E˗HAA(4 VBm #;}rN˄皼j={"+2Mt_" pI;7 'ΎsleeG%JuwHH0SQě83`a%=T$xP2kjv2+v+nw5zlO\?J%KmSr(wؕ~OB]77E:HI#8!WKe a' 0s?Xל!M=\?IENDB`flatnuke-2.7.2/images/languages/it.png0000644000175000017500000000044410577242103017241 0ustar simonesimonePNG  IHDRUsBIT|dtEXtSoftwarewww.inkscape.org<IDAT8cd``@E0I1VD_W62C/c```r~}Gx&^mO~M6o?a8n'/3N3߇p9d`C( !˃@F< V?~4H|:cl0'sC' k+$c:l?FfaN_kOzIFIENDB`flatnuke-2.7.2/images/languages/es.png0000644000175000017500000000061110577204017017232 0ustar simonesimonePNG  IHDRUsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8?K@6P1TKב[GwuuVࠥ$TKk9,q|06aȆK6hݺ\)E2 XsB * %S VW!ה8hP~Snjed~ pTH<%^#r,g@q'h I7c,y5YgWu:;#mm>\HZIENDB`flatnuke-2.7.2/images/languages/fr.png0000644000175000017500000000044210577204017017234 0ustar simonesimonePNG  IHDRUsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8cd``@EPVɞpVKJs20Qap0R =NHG_ןO=^fi4|djp8|k./_Ύ;tCJsЕ`6p[j{7Vb>4~zVZ#.pj8N) 21'a1BGM!e=oNyyyf%6mjɡ<> 2d۠ɷĹ X =UC|#:t(EEEnb)TVVV6l?c[n 6Mlt) =^%]RRB߾}sP<>o߾4*AX>|d g"ѭ[7 u֟Sڟ죽 ݻ@>|dN-@%?\磽>}t*ѩGOh >}t*ѩGn;O_65{~x[S't0o<̙]F5kEQ<0nܸ.br ,`޼y\娣Xv,3u˅Ν;y뭷ں>s0?ɯ#Vz*-kצnN͸q{TUUs!><'t3phu\E<ɓ'#ګ9BCCK,ᰂ=\zX®9Œ3:u*L_}5/طyO`ʕAJhU|D|>?x7't#pĉlZ8G>d^xݞG>ć~Ș1cix\p_c |BgX,+™smO<*644侀]>O>ĉp52W6 M)S1cF :Cձj*FEle9o={={bŊ'tx>m*7>†kHGul#|Bgj)z5v~I5YC}1vX̙v]=>>gin.xTk pOhxww;e۹ \ĉy'snWOhhiiaC|9O3ϰY۷<0sL&MĆhlԊSЫ݇(`ݔ)L:>5e6m>7R \=##F8/<^ [-[ex]>.cZq^zi]uS2mdO>%ظq# |9oM7Q8`zAwݥ^… :J;^WOh f̘ɓY?mv嗻>Lzrv.?%|>4k|=L4ܹ c}ufv?yӢ+'O?48L6tvN׏~u8q"}C#wL0oF߉4t(ͣQ{WD`O{A;5kCeϳ /(>@=z4 .2?瞴R=r$JO?Yf1i${LXhKBsN>3BèBK/xdXz5OOoKFٰav&(P^.Y`w(**W73<:K/1?j=~<=O:IKVR P|Dȑ=>L{Mk*`0Hdd$ )9Xm ]Ǥ .*ߎNKŋ^{jtdgcUM[SOei =sL~u C r=zp`(DL[~=wJBqlO/0 fn1)dF6$O9sfĜ9s8u(O{ J9&gY B_izNG芊 .r6\u^Gt "o.-4@k{k˯:ة\|ڵ͚o 7P-B0;w}9f1d-ZӲt*BϘ1i'{Kpp{X\v97rф <9/K{@!ȑ#1>sa|}{ ֲ`ܸqky)O[駟{KR8={ZŽB J9\- ܹsijjK ?~,O{ |3lfyx^! m=?? jMu+s?aML)$:cO?wHB?쳜{|3[j zڜ'S|RO?{9tGKhmeԩL2G}4%/:(-ز2O{ MDnDt=tÄLQ8`~[mwޡ/immeڵy,Y~=c Mm/~5cǎu9_Wx+zezC"~5.&L`bо˴cE~ɓ&e`>QPPs=i}9^}U_8N?g}C.a6裏ؼy3_ V[v̙LSSG}4pBͽsEXvMȊ_ 92Wpۼ~k7b1s-TwƎSD٤Il~-=Q^}5 YxꩧD"lƜ%1Nej\[z/_΅GTX:'_tv[[G Xleee;^>r+ixBsmh]&NbӟO_[B/\:𴗠"?)of[>~:[x}衻eRUh^nmO,0Z[i:ěvK=z4@YD{S@[ݖ𨣎%K@ۺ(h>䓙9s&}f̈eCgDwÐ7w=:qiדnĉ9ti\@{,QP@Caɶm:|BT S'N>:|t-q&mt >\8n:wd>4Xeʇ .n,֨$sV >|Bh/-G[0 BWBDKK [51#_غup81bEiׯ_ 48X 7 \և\NU Ap8JŨq,a\T1vի+zj@S5_Qٰa۶I~Sl۶ k|']Dp8'c۶mTWWޙ.>g`*aTWWS[+GVZ"o%C&/_;8"/1: PYY9e(((o߾ӻwoe#`uuulڴm۶yIbt?p*cTc[la˖-tޝbu[N=ztݣDgݺuyIF3q: EshڇamLQ[[ʕ+<;fH)LDI"]aPSSÊ+:#Yg`>!Z[[Yto[`&.daGee `5Б\F.]Vnwc pI8~EGX{]Dϰ`>)XhQ{$߁u , !"vV3c:ȈITVV8'ډО mVjk9 ,O+wfጧufEh*++{u~^ ʲeؾ}v`D 9dBw%TVV=jhlldɒ%^4b ~Xl7y,VN`ƍx&>ۡ =ڵN۸Q@p['t'Fkk+^>pnX't'Ů]XtO;y,V:{a :KwG] :;, >vŒ%Khllԍx'tș޾};˖-[L,We NAu`B> =vʝ?|B!ZZZ:fp8hա:{ddwҥKv d_WO6@E;X>' A5л vf5ήyD gk&U C;dD7'uA#YxBpxyթU%' _Fd>'k;>]a&p8k÷ d-|BgL%p\80ׅ =?^&[tmpx!py,R) 'I7}E-tkq:p..߀c|2oGv#|gOh S'N>:|BT SGCP J6@}B2@0J#~ĉk>zI2)r:` ݪN~h׽t6V B1ĉ$qn,F -ỉVUktڄ`(8's6-5@%WF*Vqy <:P08xw_0YJiQ E-*j8ϢZZ7R؝M飱6񀚁ǁۣUKۢF t0)~\ g^Ņ(k`doG7QdSD09`ts)՛KSߑ,hU,Є"$cTy='j9|vIAaS)wǎn,\Vgrf`_ƎJK`(2z2}a8!q 3;EX^7RKUoNa1#z3ge9sV3oUv4tZN p?pSGp";`=CVqƨuk":+qXbה!ZvzG*UF!t0).nʲMoh(gY;L$6DԀ\&]FS玺l[ xz |7o/DSn:E*"|C: !E-CWvbQ IDAT k޶kZP\ԗ8 ' QVĖE呢hUv+|xĭreӣK5Nf&6^&'$~ wݟW X8:ӄvK`(ҟ3M<ȥ-cUܚ58`3*WDxn `  ۹{ʜfNا˸y{٠L y(I0$ZUd Pd C2G]\q|58r%cJ~ĮGN`id aa+J,.Ucl Qx" \h7+B'\k[ɠl}{4s9ȕw3\,r'&$w$[(~{LYp8lpKq!v`&'\ř$kgPx~vX /E,0a@@ u8 \rEVK@^L9D=`?g3Ϛ^32yD5(`>pЀ:^;C83{6+^@vkMKF r#q KA ŕLN5 <x<k\]`(rq;Ң_n`kuK,NmaHʋ\-tnr\'E`Q[N]7cnO' EGmj?lfޯ*odX5rtZ{.f) KHsԀrG(鮽-]^ "m2 E~o^\K(V"X+Q2{j,pRʳ./xs9~T&^w+ڄPJcړʃ<7NYʐ:w*)*LI"i&6n/,8F A/>xべPd׈`:F7$ ĜqꈍZZY^I'{{"NGP!xBX^ $]&(g,`Ə?%| E)VBCOBj7xG (o ˆ!rEI(-Y^ƔԤpߟ.|Q\=P/2n#t0H v᤯VNRbR8X P+<zHCv7:u"&u/)<{ߋ8n!t0_价pjRnV[j[ɬeDeqeiҒfySOI Ι#{(`(ׅ|N`(rO|&^:CFLb5EBE\k"63YZNڡNɟ>031o'ۛ`(2x#2RW ??l;:o2i1-,#M ȍ;s'XIJ[uGҹɜ$o =BϺ*,кI n#|ga9tF8P[WfݧS>/=[>s/4 E.Ar9fb^; $ K%b>EDVqYF&yWo+oyJ;Ӈ,w'>rN`(!E+JxaG[ds(-T[b]e2C3({ƅICՁ6QG=Kxr]C޺ܐSBCk}T WNJ`<1hͭY\ԈI]LKJ OVX0Ɠc]?&yBN:?;qjVj !8z@#{PkiOCFIò;Wz1^~#fk=[Y)-Қx67Y:4ןudGsi5oRT@~[ Rڭ*'eKJͷ{֘Heb+|P֯F.Х-"B߁\= [Ǚǿfg .a0o#.ъz;äd-L&^#WiJ0xά EN.Б_plDìTYDMdpI"r`n}JSV8[ޗ4N*W:60QPfb0!PT*#2wALI>ʤ*̤6iá{|dKPDPڑƖh#^p-xD *U% 2K{p]4ZlXV94CTC,oh#N"#B'M.ҳH7 ]_CMpVίD`3ij¸ΧɊPǓrc wפF3 L?=d5Fӡ@:fdjJ݄.8bMG)d[!"W+ۭYEdoi-Bp~ U]e5|EDK=Ҫ(+F8rX77THm?I4pȈET#E9S;s[!f0\ٰ4E4oZBb~sdɃ<^G?]|Of݈ҶLe0aԛ4\+G/qD=P Q: v㫅LC,Mˣô*|ݬ0 Y%!e0έ1$զl0:uu=T!S a.YhW@]m3H {s R,P)*ŧ%Dm'(,@@28%ʗZ+ګP=!5_Z'əlU.콙}6HDppTH`(r ^(.lVHI*`Zg/(*HZ°K0W+dGdzݬrQWD~A9U"+ @FJj-x:ӧ9]iBxQ/I< W2ZZIT~*,`W~ZljaO0]jSa:=;Odnon̲r $lmq7LN˜}j4aN "ݢUz#6"jkQIn;C`Ul0g\?0̰9)"𚤎n 2طmQ](`~2A`(RJ}+K#Nrɫz|Yd|RVs޶_Ɋa݃ b\#}lpܫtX,fח{k⤘k*%HևH_aB'FhrBG಴װQf6 )jJu@V.?m,"Wp0?M HZ`a2 ;E&acZM:`W[ F/u\7/mӮ}6qmESD)t8v8T䳊tfb`'$i3Lp^'̩̅{!P;tܲ4Q)N_}HMWrH週6=\gI jca5E1(.'Jmk\r(66 Hm"[yz:`NGj)H˥,Anu+.È:Q E =Њ ICV #ّI Yo?Sڦ_:k-!>"JjZV&UBq\MɎ:Q H}ʒ{hi70t.F Ot. HuN@r4!+#ZyIB@2QvH V(|-8 LNl*w%r7xo1>v&DA""c'32"f9B1%PYr#Go#RrTG1 a%40RkK|-c$7HmB2 ,HJ& J] r{b80p-: SZ==csnB~n&$KU^"*ƞ̨I,bE0l!0K*ڷoXjs>dqD3i(,pVB58oT\sz=xUȢ$dknG>Me>z^a;MnL|Tu'k ^q{A=zI W}<0wP$gi*P d*Z:N~i8YT>p~-x6zg+tJJER:-:+QwBٜV)!Y6 RnbjLRQ5֐L S-Hf0ϼGTMՌ_;zzqMH<Ջq/ O1q_4?U#D{(y"hb'<+,؉oضX1$&S V;2ļ0a㍼p%BtW֢轲  ycYXlKZIq:ERV[,EAqL?R˛&F5 *RYtRNY :˚4-OQۉLj%sl՛| ZlQ] kpy nXpH*?{ag hϗ NY֖ꡐlZhOQ{I4R4mE~ȒR\)ru[ҵ4Z9@q>m|4\& fh>t u^BޚXmRn1٢ŽЮSv4֥'<A{cIjf怴aщP1HKVnL2 hvį$5 3;߲Z 0t%ƴ,JL,KoݻzI7ip$uMakKH7{ iYd(ڐB[Ȑ^ ۮ9%m`V#.*ܓE.Z؂Jh\k,oIԴǦpD %s%$%F5XW#-Hr瑤²d!ݡXDV44 Gz9(ojw? ӯ60>CRN1fDF==]qz;];hUE' mW G;Llgv MY:i5*aXߒԿ m!#3'B`naP5 yz}~oOT@fBlrQ%SyTpYef0 $;M&j/˜^װ9iZUױ֎T_#5}44ucÎnbJn1n7wFﮀJWE `9dTF--Ogls? yOvJ05K! HgKJo;Nq@]Kțf& )z2 81Lg&ugcFh!0tė[4%{՛ >VU4U1֕m*+UR aԺTߔnt*Q&baLr)kÑO̒F2]Ò8,)%i+pY?Qi9\~I&N`*Axv"ZEqz E>d0l/J\v! #I\;%w'jBĮ/:֨OEZBˏD:5x$4@u$6EѩD0rn"tbU6i}ф7,rQfhf:7 ʷԃ߸Ųdv?p!%q&`1Wdf9.L>&%KUR1)_*o6iCjW58QSun3li%v]VUl']-7z |YDL]K$F q?ׄG(g[jKX$o֪3*"amH]5 48-+>u? ] /+$Ceyv#KhiP8ӱge&^n0f -)pk<{[PDEU4Y<5мHy:ZUPK6znizDY*2BvbqҮhEt܋06_YWk,66?\d8jԛBr++H[U.XNg" HVOg#0 IźU]v{"a8U!R<4tQ?"{y\'z[V3iK+5T7nKMA щ'"!:33r`OAXx1i4b)/q,3Ui=^"e/Ia3 y"z+X‡5T#1e*_[N̲O^T`4$`|SIDATo paӔVԈyX~d\tBn10,&hKH0`^"BG*U [wފۚ $-{JT͐%u!elȮhX#SKz2@Uʧ0۴_nX< VzJ-äRThm0 $SS?f~@]lVhDif4 {*>Y]FmR1kU2BZUYa}w>`8!m b́TpSk Rb7EH{!\fY8u_Ln72;'1C}{9…n$O˽SX ,Vd|9TV2SD-.*vSx2[WQrjY\-=dP2InV ۜkv (R%Nf-R_; [jZhoE B In0W?Nr YDTѡ MYHI.҃ $բVq(X CXTanXH"Bl{Ef 2]爗iN92= RZgA(?zg.:ZU&2[>@254GN'\wJRB`tBVqM8qIjEa5k9Z:}|LGOF*Vz"tb5kJc()=%'T_m²%?o@=5Eôte~(4u""-A:ڎҭ@>ޗo6%3W07E"+HH) %3sWc/MG"2;M~LaT֝!x:ZUR Ds8LJ 끍2bJ*@́!Hd?j[|Xj0.78XNiǫtT]\n2e-i½-|#]YJR*TD2<[YrR)*!M׭ѪmRI"f|u poUTMFVUБX5)f+DTqBT<}pe $JcӏW2@Ftpc-kdjVU &WX/g0UJT@bEVALZeYB,D58t:nk{hZn$u`5Rͥx?j*IѪV51D݄>_ߗ>8ml wBWEjSa>[lJWՙI|Ғ͒f, S5u=~,ZUY:16{ه?@wIRkr?eղ"?R։`JKK~dZdNގ0hi g;6ӪBC׮RIͶ7Pf[x |✕%dMPslǭO a-k_î+QCB7'Xoj(uѪ͙VMքNu!-ؾ;:րS %Kjwd _ו.n2&a!76Y~_lr?0_j?]ž mWJ9%4@#zY䥣xrF@j+ϵrdip#'K27ZIt%v{qL5YP&F*bWJ9'twⓘtmd5DJ4+Zg%`.!݈7X}u{Ml5 iګJl&G~y!tŸ>HG3͇+V Rn>cNelˋV*kѓBpskK^<'>@8?W~ Lg`CNW'& )+.K$+Yf9:dFbSCWıͥq3!^48%ZU+‰R_&DI4pcx}YveK++7>|lI$I{ؙu*ӡ93vp]%SАڝh3\a-eHDxatESCG'8\5|N9GU7f_r]~4ƹ{\&t*防 *+=̐u@xu9cY&e|5v U󁳈nCߧBl/UrKb²Dm6w#XfUȟr/~ ltߡʌe2+vUo㉯W3$*2/r2ᅸrx!HJ&n\\QDyQ{Uu v+U/cPPݻCIV\Ygz"+1e/Y˘UIm)<6'?hUE]nNhhU$o`~43ںb+c dl!$*yѢT@k+ZDNJuN^^ pvuɋ\M  ,oު}$^f"'.YcuM_څKkKѣGz[<РНK^:K_>ҫpS\E ZUK-;8ٳQDZ)rbg W+adZ#y5}@hqOr0|e W9$ZU앜ڔѪZ;xKsSÑʅ;[YU%IWn>z,a*gg@Nd|]oVU<3G ZUQO5ќzĮnyd]^W@NjHs9laC!O椇C,P*-gݮByN}D>Yx cUlhhUɀ r!~1,[JrBD RᑏYd[Z{s샧'i5\1hUro݅¶.ѪP⫝̸k/ޓރ9`-,Au Qr2 -\A'aK|n];[ 捃\V=?ז U#Y$Ӓ6]ޝhwVUl"gWS9cFYb~rRD,!dn4',iB&q:HN$X:K,3kėć䴖؝hԜ;ȇ?ϣoUA+OXʾȑ| ɛ iBt@Z΀F{͒̏Ӄ-VU| En&a֔3rq]$}!)l'HtrS,ZUN2MPhUŎhUŕQ٤U%Q?PC69xK6fVnmd`͈VU| EN$\v9G aI `]*s tsN pEX@ '/Pb7?i>#R ⍽`E_QG5k잣SXIO~) I$n$>:WRb/pԞe.b5KXKdMsV)-.bsC'tP L<Ϧ=ٯᅢ` BJ[UJfݝsڛchƎB'~Q-fԱ|KO[wg%qbwώ5: "~>7SAiQ =Zin-Ɩv_J|W'vxt:B' E&bf"N/?m)D%tP/6.N[b+ x=ttzB EF%k:8׉ϋy:R6#!nd4gc>hUz(]ICn1?2&w+*wwnVٙ mG0)'M XE ZWOhC((`$#ٯI_'~JlC"HKq+:` G*; Sݼ# S'Nug"FXIENDB`flatnuke-2.7.2/images/rating.png0000644000175000017500000000771010744140224016143 0ustar simonesimonePNG  IHDRP=,tEXtCreation Timedom 13 gen 2008 16:11:37 +0100ޡUtIME &01: pHYsiTSgAMA aIDATx[lWo%&4% nRԴ>"9x BHREyCS%S H-(" KKJIdٵ𝱝3FڻuzO\x\|g{2w8|ȯ9Ν;G̙3{@7X,5_K={8eg\ 0 ?S>Fpq_~.l6[..{x;{> .\|P(@&Yh4VA^Z V|u|>VkA-jêFKۆ zuS{ɞGP. v1lq R<99{v$96ڲ.rnzޟ8tyzhT:ku֠yxw]_kVg;/̋j5_x< {n瞿Dv`B2)oD8̃FeJ{ A6qSVg; yc۷զn@l|40MOLM^g;g/7WvFr/;Y/ɳ8FL/@ lW++,=v>~g/k_L?Hlί9_;ˏ8=078x́m@3e-C@Ԝ[?%q=0b%h]ſXZ $=vg/AXLY8go!yAAa2=vBf۝YHl;z`ܜd8#h̔8X-]Zy4ixoaXxx =vFiꁹ¦7^8w6uxʵ?'q¦|܎Hz|W*9q 17crg;ҪOAkCg;cg;[ILlzH 9g;#pF`Llz`ؚBqdsQVy|WĝTԸRapP{GolOf?!q5⁚y@ͼxf'l̕kq_ÜKT屷Y{^uh51?3Y6kK[J?=v'̎AZ̴cl{@5GplWHx|Oy O'd@xOF<ЧA#SЈ?h}4>@_)z@/4_h]?0tBzqtи?h]4@Wb A!g 37\7vH=G-o]4w̋j5⁚T=T=T=T=T=T=t=K^4x~hy4?tM:@{A=th7?Yz&@^yAg%|{x;3'ǡ{}_ sahP_Q.8;7@mv'ǡ{}_LͳOdqPvCAgb2. psp=!1L]%]/ ^ۋS0{{xpO0Ayr-;EKgQ; ~ڗqp Vquq[o1˟zch8ZYe7~lW6*{ڛ-m[ԕz/|n;Bax@w-??,ďw8`'-<|b|2 y\q 7A8W `ÞweUm?ok]{vL|8W-'@<ј<O4>y'j{ `gO@=/'}ľyVx Dw҂fv끺|_=GO}@=Q}b9x"id='@.H9yu='Z@H9{" d<'@H9z")艤<'Z@N{`z`Z=ж'@۞m{h@D<І':6<)NymOy⁚y@ͼxf^l q7.]Y-\@˗0IENDB`flatnuke-2.7.2/images/mime/kde/web.png0000644000175000017500000000135410416024375017130 0ustar simonesimonePNG  IHDR(-SPLTEAZs9Ջbj0A)aYJŴ) aaAa)ދ)11Ay9mb1abZ{m1}Ay y m i9}ެj惲{Rj9͜Pރ{JPJJZAmU es msZՔ eA}J}W!@IENDB`flatnuke-2.7.2/images/mime/kde/dir.png0000644000175000017500000000115410416024375017127 0ustar simonesimonePNG  IHDR(-SAPLTE{{sŃ9q1a1uA}{Zެ1eZss9yދAuj9 H{@J)]9} q]ޜ1mb1m)isJqJRjb})qͬ޽AmZ9}1qJ޽b惑Juŋ)e>$tRNS@fbKGDikĴtEXtSoftwaregif2png 2.4.63IDATxc` DYi- R_pOw( ӼZg夫r2fe56ƃܙ q,)=RIENDB`flatnuke-2.7.2/images/mime/kde/xls.png0000644000175000017500000000121710416024375017157 0ustar simonesimonePNG  IHDR(-S)PLTEդެŽž͋žރžՃޤҔ朝ͬ{ƃ{s{{Ƌ{}{Δ͜¤մޔ޽ŔotRNS@fbKGDb+<tEXtSoftwaregif2png 2.4.63IDATxEVPE' BBұ`X7.*?ά0{IЯ+mWOni}*haht Hx~K,f j_׳ EřTu ?*-KM|w1+|'Rx;apZ9ԉ:UsRQyvB8gtmRUlg"G2.'ќzIENDB`flatnuke-2.7.2/images/mime/kde/php.png0000644000175000017500000000133210416024375017136 0ustar simonesimonePNG  IHDR(-SPLTEҵ79;aegNTW)+-HOS{{z۱ݪKKL]]^x~匍\`b|~~BGL嶼ݝꠝԙ׬77S]d(.2rvvjmpɺDZֻV`m谺ۦtRNS@fbKGD~?AstEXtSoftwaregif2png 2.4.63IDATxc``eױea1p6g: \Chׄġu! _(_R)$P qHAMLS !\ I Fw. f(愒,5 HI=6R,5"3>$ϡ"amg(.2de嫯g p %Y@@w*FZIENDB`flatnuke-2.7.2/images/mime/kde/java.png0000644000175000017500000000122010416024375017264 0ustar simonesimonePNG  IHDR(-S5PLTEjiޜެެʹPs@be{ރ{qjRLJ{޴ޔ}bsqPsžbL9Քž9 դb8basY9{u}Zj< su)J,m9ž{u{椝6`tRNS@fbKGDe݈tEXtSoftwaregif2png 2.4.63IDATxc`d(HaބĄ$wo*$ 2&@Ei)id@0c OG C1$ ,a|:L҉@!\Rv@SApRQULIC1uBIENDB`flatnuke-2.7.2/images/mime/kde/movie.png0000644000175000017500000000056610416024375017476 0ustar simonesimonePNG  IHDR(-SlPLTE未ޤ朥aAtRNS@fbKGD ,tEXtSoftwaregif2png 2.4.63IDATxUY EQ8ęB=)(RL9szℴ%IrZY}wbq#(H8.T$[W}_1= # 1``O>l q7.]Y-\@˗0IENDB`flatnuke-2.7.2/images/mime/kde/binary.png0000644000175000017500000000135110416024375017634 0ustar simonesimonePNG  IHDR(-SPLTEŋsqJLRUZY攍jiJH{}洲{yžޤդsq{朙A@ZYZYJL{Z]ޜb]9v >NN0Ui~N6 00M00В HaF 900f0L8$E`I8rV[7[V 7 B WK:zy!~pC=-A F6naa^&V>.aav*IKj99*[h9j3 OE DwtHIENDB`flatnuke-2.7.2/images/mime/kde/binhex.png0000644000175000017500000000135110416024375017625 0ustar simonesimonePNG  IHDR(-SPLTEŋsqJLRUZY攍jiJH{}洲{yžޤդsq{朙A@ZYZYJL{Z]ޜb]9S >etzRFPD^&9S}9=}LŌ%ܬar }q s 3W/;H@QUR̒CJ2 (Xj,"aa.fLML(j)! q[N>,%`& >|ĮiIENDB`flatnuke-2.7.2/images/mime/kde/key.png0000644000175000017500000000066010416024375017142 0ustar simonesimonePNG  IHDR(-SPLTEՔ޴ŬޜtRNS@fbKGD-A=tEXtSoftwaregif2png 2.4.63IDATxMg a@ZGDN@k}͹֧›t/JV\P*"8/0 OY?ڸݫ7J5ta +i*OV<^7XUyATCU:JTuXT {ĪJZD\dG "3zvs#17 ۜ7#"DQ{(c%2E~?:>iЙbk`P{$H D$3o#"i`s. "XkȦ}((r`xɁs<ω^A?nQ,(*fgΦvc "B#߂ *|f,,~iN8°&c UPxHPUQ$Tv[~~@7w^`E1`XX=_Gæt*_2Vk`ebIYQ9vZ \!4xgeeeus$Ʈި$[kkk/`k5dbIENDB`flatnuke-2.7.2/images/mime/kde/text.png0000644000175000017500000000107310416024375017335 0ustar simonesimonePNG  IHDR(-S PLTEZޡZ҃q1ՁZ޾řRղuJ1ōs }9y1RZ)9eޤ{RAƒ)ե{ڤޥs{)1 }R{UA99ޜH[tRNS@fbKGDW} tEXtSoftwaregif2png 2.4.63IDATxMU@H]XI"$o7ΖZ(s}ŵv=(ו$̑lODaۆ;`7di^NyU`r$&4 j;zel6f$"qwS |%KEɀ$T)n IENDB`flatnuke-2.7.2/images/mime/kde/unknown.png0000644000175000017500000000057610416024375020057 0ustar simonesimonePNG  IHDR(-SiPLTEޜF!tRNS@fbKGD!l tEXtSoftwaregif2png 2.4.63IDATxE0Ec$Y3) /w@)=?$%rִՄm9 ciOl"a `ڮUL~9/~ B KQ&[љTGIJGI#zDqLP[_(IENDB`flatnuke-2.7.2/images/mime/kde/ppt.png0000644000175000017500000000066010416024375017155 0ustar simonesimonePNG  IHDR(-SPLTEՔ޴ŬޜtRNS@fbKGD-A=tEXtSoftwaregif2png 2.4.63IDATxMg a@ZGDN@k}] T(h  ˀ32W_@@Wz?8P  A~*o߀A"Fa P O ϟ?gxÏ?. '''777O3p0] 0r !7 ?3pqr10?$@6LLL` qvq_| o X 0@p@N6þ}١ 3433c~~~{1ܾ}ۛA^^_~˗/3(++3}/]@ @?`7o?zsX? @@ ;M@fߺu L@aa  pppid#8 P6>aIENDB`flatnuke-2.7.2/images/mime/new.gif0000644000175000017500000000200510416024375016354 0ustar simonesimoneGIF89a ! NETSCAPE2.0!Created with The GIMP by Zoiba! d, D8#N Hh:@8@ 4P `0Aep! , R10FX&   < $ 2x x":h! , SH$bI"C0LT@@T@  8 G`r*( `4 @& \pE! , Px'PHux6ky,pd 0  & ih l $ sxlV$! , Ux'pμ-0$  p  LK&A`pa9%0 0 #L5LT.6F! , ]x'0BNW{h ` ,  T` T` T2I@ $``;+r:H! , Wx'<0ʡXD1N $ 4`P2A 0` @ \h0LF5hT` P$! , Yx'.#ʨλo@ R#28   0 HpD`4D< 8`ލ! , Rx'mk80   1h@l1h`e혰׊;flatnuke-2.7.2/images/mime/redmond/0000755000175000017500000000000011177641445016537 5ustar simonesimoneflatnuke-2.7.2/images/mime/redmond/mov.png0000644000175000017500000000067710416024375020050 0ustar simonesimonePNG  IHDR(-SPLTE000Op/0/?௿?@Аరppp` P o  _o@? op Pp@PO࠰OO_O``ϐ _`\\\???tRNS@fbKGD9@tEXtSoftwaregif2png 2.4.63IDATxM `{{ & 9!4N#l4>H#|+vձ䆌( Zu],}EeSQ/d_M%t ߳cb_*UnB?GCY) )"IENDB`flatnuke-2.7.2/images/mime/redmond/web.png0000644000175000017500000000134110416024375020011 0ustar simonesimonePNG  IHDR(-SPLTE2K3삵п&RRjknCt)E_mz~)u"Dj0s@dޟ?;(=[Gx1/hjHlQKltUVacor3tx1[\VV?{2&#(&Df3qȽq*lu}?xK5*{q}2]B䔷U㢷cm=3K=IIk;`YXY5 <tRNS@fbKGDehtEXtSoftwaregif2png 2.4.63IDATxc```E#!QnN@Ce Gi@2D3|Z,Szǟ[+S<(P#V$b\x뺲 jpi342EzTa=Cd5cU3Fj3233XU:B*ؕSKx˒dTrX fҡr,,\ 2!C=4FY}jIENDB`flatnuke-2.7.2/images/mime/redmond/dir.png0000644000175000017500000000063210416024375020014 0ustar simonesimonePNG  IHDR(-SPLTE̙4g˘3("%nkkk*恮|ǔ/q ~ɖ1j lghWܩD`$JJJy¿'vNs Ӡ;o{Œ-jjjxPtRNS@fbKGD-A=tEXtSoftwaregif2png 2.4.63IDATxڅ0%W).;F~,HҢG&MmSa4SIbŋVi/,VYY4R"b6ƚj  >;QolXEq&pfA]O'qTt#IENDB`flatnuke-2.7.2/images/mime/redmond/back.png0000644000175000017500000000120410416024375020132 0ustar simonesimonePNG  IHDR(-SJPLTEؤ| >=uBٟg4Ll94lj̙ yٙۼ[ԃyN7z d"߾QQ)w{Q\ҳ߫'NAҕGSԫ.q 1<jݳ`@cѥ['g'| ֥ۉDC{x<./yߺD"|&yY9 C"wp nI%>/. xݯ56PtRNS@fbKGDmtEXtSoftwaregif2png 2.4.63IDATxc`Vd,,aasp&y, \Y,,`?P̊<[!''Fז* b!`HIg?pL@8RW43X@X5''4LMbF##&D@>)IL4jge 3T݁OLjlcdo}"bIENDB`flatnuke-2.7.2/images/mime/redmond/xls.png0000644000175000017500000000135210416024375020044 0ustar simonesimonePNG  IHDR(-SPLTEG-4d5L4Smg4X[X3p ^U3iG;?}!2h(ƖH?ibRHB5x`~\{XRB%5^tpϕ_SđaXe[:w㤻{茯֙4^:}'͖3m:oO97Ke6Jd׌tRNS@fbKGD~?AstEXtSoftwaregif2png 2.4.63IDATxc```( QrxbܜكY$AuP #Vs,fpVʐ1Nf0ʖTa4ep ude(*vQQe`ِo T!] K2!Q\3ܶLA<+6@.#P{3sDKBʘMML,zfli`ZdD?IENDB`flatnuke-2.7.2/images/mime/redmond/php.png0000644000175000017500000000133210416024375020023 0ustar simonesimonePNG  IHDR(-SPLTEҵ79;aegNTW)+-HOS{{z۱ݪKKL]]^x~匍\`b|~~BGL嶼ݝꠝԙ׬77S]d(.2rvvjmpɺDZֻV`m谺ۦtRNS@fbKGD~?AstEXtSoftwaregif2png 2.4.63IDATxc``eױea1p6g: \Chׄġu! _(_R)$P qHAMLS !\ I Fw. f(愒,5 HI=6R,5"3>$ϡ"amg(.2de嫯g p %Y@PLTE޵ad#_,j1痴ө̓}Gڴ*ե m f۹3u{hm衽![vϡҠQ{#DmҦԧ(m ں5,ԩԣԪ!զ8޾;'fn0j9Sԩ xrtٿ*[ٷ)arٿ,魈ټ/Xtզخ((eubٷ1|ʲ}'i'cϡ/tRNS@fbKGDhl"tEXtSoftwaregif2png 2.4.63IDATxc`v38 nS(33S-)D%(’~@UQDIǤty)m(Eꥦk,3R}#SY|œ"<8<¬eL@h(;1+uB PHGtstxe<ݝa|w,2(|&m 6X\O-IENDB`flatnuke-2.7.2/images/mime/redmond/new.png0000644000175000017500000000115010416024375020023 0ustar simonesimonePNG  IHDR ͌6PLTEwwxttu[@'tRNS@ftEXtSoftwaregif2png 2.4.63gIFg$0c(IDATxc`&0i1~>v >NN0Ui~N6 00M00В HaF 900f0L8$E`I8rV[7[V 7 B WK:zy!~pC=-A F6naa^&V>.aav*IKj99*[h9j3 OE DwtHIENDB`flatnuke-2.7.2/images/mime/redmond/binhex.png0000644000175000017500000000030110416024375020504 0ustar simonesimonePNG  IHDRRPLTE)L8tRNS@fbKGDhQtEXtSoftwaregif2png 2.4.63.IDATxc`c(`0#P00   eQ+ {-IENDB`flatnuke-2.7.2/images/mime/redmond/sound.png0000644000175000017500000000145210416024375020367 0ustar simonesimonePNG  IHDR(-SPLTEjknnntF"_'}ǧFĞRR$j![\p2XYtm]T,R'654ơ MZwQx\~if^z~:/ȢcB8Nhjݲzac&&&VVQmIUVd~z+\\evd`h=X [s}%wfhf{a_qd{+'0_aqX/2qZ6cciooo풽qu}[or`txڈޏϓ'0qqq}39὇mmm8EtRNS@fbKGD`ztEXtSoftwaregif2png 2.4.63IDATxc```z P9y*pA&C#9Dc4i@P1sӰbea789rL [00gVhG($D7Oa.i*蚘'b9A#_31^<~ 7cHo6;.&e1 ޱS2#=  mqW+/k2͎ 0XȦxtk@*:A#=/IENDB`flatnuke-2.7.2/images/mime/redmond/key.png0000644000175000017500000000066110416024375020030 0ustar simonesimonePNG  IHDR(-SPLTEiBԿKk1xx]iiirrr~ᜢؾфnmٿռսN=א¼ԀyoμоԔ~cөokmm۟qqqxx~`7 tRNS@fbKGD9@tEXtSoftwaregif2png 2.4.63IDATxc`$%4XM!|f1%-m9Vv>>1 D@nj]@ I@] H%\@] t V(\j*Ҳlpp+Jc:7MIENDB`flatnuke-2.7.2/images/mime/redmond/doc.png0000644000175000017500000000135310416024375020004 0ustar simonesimonePNG  IHDR(-SPLTEDj敤:Zg2x<`UmwՓ*bIt8a振/|骾xw@f|حMj(>mg~U{ΰ!L:iϦ˕߮]uѕ_}㜫RwBnX~ё⡺ݙ2[ʨ{7Ke6 K6JdBgtRNS@fbKGD~?AstEXtSoftwaregif2png 2.4.63IDATxMUSC1==uE -fi30{ͷ#%}K,xu,=cyD6G*( 3jw ' B2#sucn.R(ZŎz, D6#aousJ !R~B<ښg_|׾Kw6sӭa8 DyMxFRC8Yy*- PFM`IENDB`flatnuke-2.7.2/images/mime/redmond/text.png0000644000175000017500000000066110416024375020224 0ustar simonesimonePNG  IHDR(-SPLTEiBԿKk1xx]iiirrr~ᜢؾфnmٿռսN=א¼ԀyoμоԔ~cөokmm۟qqqxx~`7 tRNS@fbKGD9@tEXtSoftwaregif2png 2.4.63IDATxc`$%4XM!|f1%-m9Vv>>1 D@nj]@ I@] H%\@] t V(\j*Ҳlpp+Jc:7MIENDB`flatnuke-2.7.2/images/mime/redmond/unknown.png0000644000175000017500000000041210416024375020731 0ustar simonesimonePNG  IHDR(-S3PLTE3UUUBtRNS@fbKGDtEXtSoftwaregif2png 2.4.63VIDATx][ DQKQRQRGGB!*~ $N{K]ƴZ0qqC 1Z@!PMN.!w Zj9.j &Z̺j=:r)Zp/{ <HZc=$$8Jl::5b5 PdbR5(c ڲ($諳jw>N ?IENDB`flatnuke-2.7.2/images/mime/redmond/pdf.png0000644000175000017500000000141210416024375020004 0ustar simonesimonePNG  IHDR(-SPLTE???骪ӭ>@提꼾/3IJ}|LMssu<;蚝BEHH25ONκۄuux[[SSkmrrt协ǁ񯯯(+ ^`eiRSTWIM  qqш}8;ضꪫ pq7:bd鼼uw%%%hw5tRNS@fbKGD;9ltEXtSoftwaregif2png 2.4.63IDATxc```ff |n %%U_H>$ (R[kl^[YiY^ m"Y C۹Lyƒru¢ƍ,`V =Q3F..{wjlo kDYM\\R"&f+_U PSggdfTg t IJ 8ETx؂%A|P`:t|IENDB`flatnuke-2.7.2/images/mime/redmond/cd.png0000644000175000017500000000136010416024375017623 0ustar simonesimonePNG  IHDR(-SPLTEww}MMM||fff퉉~~~Ƈ|||lllҒjjj___wwwդllniijbbiƺ捍ժ顡¼qqzzzllpʘpptxxnnn徾\\\TTTtRNS@fbKGD~?AstEXtSoftwaregif2png 2.4.63IDATxc`R0%(UVSer*}yb|~>EC(O]]!ǔ ԟR\ ,n9uy \΂ %AFUI %6Y^>ڪ ,@BjkkA9*׹ֺ28HԌHYU/2_G^VDėI:)7U.S&*2̾^R_!Aij1iAzl/ZIENDB`flatnuke-2.7.2/images/mime/redmond/image.png0000644000175000017500000000150210416024375020315 0ustar simonesimonePNG  IHDR(-SPLTEcl{DTu7Y*ƂƓua]ev?epnw怷:2twm5|ېW~`1scC.FBzo4(ٺȈ}ȋZ;}S^ӟtXADٓ`57dm|}U7{|ڼv5I"bszT[2~lizIw9ݙB}꥽ﱵo|Vvœ],懝ǝĂb,ٗxסW`qXar}'utRNS@fbKGD赓tEXtSoftwaregif2png 2.4.63IDATxc`]`|`b`bdge-p 4%,,ޅ 3y,CTAaMٮEq:2 1 @wkعs@>i⃔ SgyN  (vg) Db&fLMQϗ $WͶ7 ՈG rTLzs%$'eW. M7ͱj!, `HN*;IENDB`flatnuke-2.7.2/images/mime/redmond/uu.png0000644000175000017500000000106510416024375017670 0ustar simonesimonePNG  IHDR(-SPLTET+++h]XzK&&&t,o բk'OV62PSTScXvT,FgBlZc@@@w 9jrܒZT!yߛYWpH_MS^W_P}VSBXZNmg~U{ΰ!L:iϦ˕߮]uѕ_}㜫RwBnX~ё⡺ݙ2[ʨ{7Ke6 K6JdBgtRNS@fbKGD~?AstEXtSoftwaregif2png 2.4.63IDATxMUSC1==uE -fi30{ͷ#%}K,xu,=cyD6G*( 3jw ' B2#sucn.R(ZŎz, D6#aousJ !R~B<ښg_|׾Kw6sӭa8 DyMxFRC8Yy*- PFM`IENDB`flatnuke-2.7.2/images/mime/redmond/dll.png0000644000175000017500000000142210416024375020007 0ustar simonesimonePNG  IHDR(-SPLTEXarcl{Dı]ev y͘ Ő s~{۰Fٻޗמǫ̫} 8VН|[B򓚦󗞥ԵnwcsPӸ8uNӜF|~X<{VfWdm| vz7{ZCf"Q_/H31ބ,U(gV6LNRJ 82uGW B'ɥ*X؂Jk'2YsqTA|4.+Rx*խ@ɭΤD_^gyjm@S]nXۧ(٥[GJʑϫTmtsxs{Z@;]fwE8@uɋ׽´^`ۡў 쵗*٦ż|`iyĎ sx˜.y~EгAeoz̳k͠ig`W^gw>ywmtRNS@fbKGDotEXtSoftwaregif2png 2.4.63IDATxc``\3ئeZ?)HswXwWED8)+sw2J.ҭ ucd} `6H@$:d3yY:f Ǹ ¶H7Nu $WFo X좲 (PS0ۤPyՒVixmM7ke0vz4$jpdدْį4]yRKÊ9̝~4mT8< ݕym<TckIENDB`flatnuke-2.7.2/images/rss.png0000644000175000017500000000324210663364741015476 0ustar simonesimonePNG  IHDR szzsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATXŗ[l\GsΜ=vM뤦'RL պ7!5xj )<@RJd⁴\DU8-ʥn^Y;̅=x7iZ1g9wόRmd2 ^_CJ-r3|afcJÍ-tt)ij!@!!xq/F!S /,>8} pێg&V/`Ax /oQ%Y#|H1=vGzωSe[[g:r)[~BD%ً ˳sxLGGzLn!t5$?vp,EvHe{)iG/~}Ln5D?mHK{eLիyW{.5෶㷶~ )Lap,V[-&{/e(|~M2Dv!;У'(%v e—2%)1!7݁%ϣ0nZ@@%ϫ˟<~ ?[A]DsIxC=3BᅧKwܚrAod*Lx fc).DU s/cEό5uFsVJΣ k RRn5vj_~P`{{d^yHjw} A:PSۍœQno$6cENxn@xo/BFO:[7AX+'F]} R .lhAM8{u4ATy{^!LX}'Wz:oc 7E2 +ΔgT+ F!0 c"٩!63Xw]ڣ8,rRK ؑWՅ㨙1K./9sin@:S? J-B.w/և]ux6u!DUٚ%n^ZRk6?C,el%TىY yq!|;~KkL橵WOJJ O}0`DCQuWkn0=6{=鱫tZO \Hm#_Zr>NvHbKERmU/ ̈́1v](ϭ-b8~R2=6Z{8dP}IENDB`flatnuke-2.7.2/images/nonews.png0000644000175000017500000000306310254335714016173 0ustar simonesimonePNG  IHDR szzbKGD pHYs  #utIME 0u?IDATxŗMl\~sr*R&FTi iQ$"@Y{($ҫ{񢗢HQuZh+;b&vR5-ڪAR!%XÒ)&K0ٙy/rhil5 LJƜ KlA,#oܙ ,`":yVBH,)|2m@` DÉGDA(]2r80ui:c.|.k[,qMX{J|Je h |&x.F 2]4Ft?=چM4}RgQ7J| Ú=3} a|O|*Ǝ֎3zyyi/?ͥmt,^mDssA 8UHe+PlgΡgƨWn"0jv מwT d/A"7pk g;q!wZJ]Pxn丆S w;7pmY뫐/W}4~Ʌwu恳q('4MnsNn&aYP,Mpʕ=h<fM"C0S)i nBmIs|X%V] 7,5 $+Rzn : IMFy6|hl;4 %%(|kzTZG%W@C?)AxKZkQ1"5e1PǏ_=WXڄ(^ zuB .K)~Fwm[ʩG@x\AqޓJOJoۃaI|U(g~&"mk|L K{PyD4ug$ki e6LDlI!I٠*hC;(.Utʹd[5,%#ֿS16P,y5!0@suqfu+Ǘ823FOHd 2Wj'fNH.+*='~^yU #Cm2yĥʹ\~@&>zT.G29FO_ِǬ2L&C‘0Nkx rA3;fNHf$w#dRwU{iPr;ݾɛ#M@]񩜙>dM +cm|XSgφ~oӒɤ珆HDCu]ZH#~s#bL26$ yqP,qL 6伀;.&B\g̺][z^N[ K dw..z f\\ {St5s;Ft(_myCIENDB`flatnuke-2.7.2/images/news/0000755000175000017500000000000011177641445015134 5ustar simonesimoneflatnuke-2.7.2/images/news/help.png0000644000175000017500000001302510254335714016565 0ustar simonesimonePNG  IHDR@@iqgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?H0@46ǿ1_ 3?P~ǏR{0NW㿿, |a'_ H>g ?~ǖO> z5 j6?cA-_\῰ Q9 _{5Y>%~!6p|c/?izd5R@Q%~_v L du˨30p%e`8{sT)Np뻝@տ( (_,ϟ X9)0Rc`bb"CaCl$) M( \VyU=#6z𷷁 w*o1zpZKDT <Sϟ(DNS0=esq/0Wr3140lJ DLO _a* T!yWv?J``c6:@8j0h0r,@={kj4?uu(o` (1BYrr؄XUU1=!ZZXDlP}ay ja\GI vj~ Ɵ_X_?`xr8^:impgy;w ,Kx8<YvA{hr 1k38H0$1h lJ)1:TMM)\ j RaxK !@P2089@1&X0amӍB^Zl^;B"z-١!ǜ!ۘ!7;`2(257300Wv4r俷2;]v_W៹9` ^B'GДĄ> J_y ߗ ~HؠQgawA bBT sA:mwPFY*o}s*8*l21(Bh 4c܂׏<O;6жgh . iPz޵ƕx5]0Fh-@,Y8vi_o͓ pDZ_*fv#@D>LԟmF%?>|gǚ(@!Jrp38j) <pM#8LGrf( ~6msnא@&@!)jXfs]N`O :cN ?4s)ΆA?WΡ -U AY]Bs0۫P@uVf0|{)Al\/ Upqc25,@O8<=8WNß;ݾil#ݟ?`x<**RSCgQ< 1`7'/7uϻ@F#9t)1 2 lٺ99XACFF h#X<@kr@W\b`P'@ k92&+ Ӽ5]X,3h74A=3g1 "hl+p2w;.34 nbu/0rjh 0 /^00SsQËpչ+EX K?IW-avd_[ W@LrI[!` L\\ l б t)]`}<4A]?@_BN( rs/\~d`'@20Fo]M T308 h7.O#c`J9+ob8 * 6-EL'7ag`f`hoÒ0y~7w,> '#5=t~`,i؁vn` Ǐ1\}g8%@@Kј.@xW^l ʄp;\aI: 'NF,͈C+ñVa^o`tl-y`};/_&, \ _\axu+w82}^I1v: _(F;ZB X0Acxa,:Pi*y9x45mfhI Ef4 /0,p? @k1@a B| .#x-?@#c_1JYH/ 0h$4mj Լ@P=,&z cbe`=y fU'> x~]=3@恺^cî4߼aL<B O=-q·D C"h"h)x  30y [т?@b?'Ndr%ÄR)`;aʎ [@ -zİT!ܓ? ƍ8p:a/( Xc]a ~a/ ӡ1"J>On}`fF,h|6CCp,’42Q00sl L@= 7 {@ P$~7"?30clNNp$8zVqqͧ 븀? 2@'hAX_"v0[$j*;:<`?,k`w-l'O2 'wl"Wd ͯ&܁N RKI0V`C۞=xI p401ǁ*ӏ  h 4xmP|ap@Q{(l+h$:@*ZZZZMl=>i ۃ?1::GDH%rAlxFBcPq? Zz`AÌx&paM"ՅsFIENDB`flatnuke-2.7.2/images/news/clock.png0000644000175000017500000001611010254335714016726 0ustar simonesimonePNG  IHDR@@iqgAMA7IDATxw]}?w_ow`w;I(ɔ,cYc(#J$K(N2eHT^vD_t,zKKI}s{~YH #\mfG!gb;r~989?wLƦ${~ Y݆mqzs[@_|K/HHKnwѪm e<3\v˫DuQg{ˁKe9Si.MaMaM^[O ?Y&ƗeU\YYŝA4xTApe<͙3*8騪B\iT%*2>:j 6X:0`,??Jy*S}N9Wؿ 1lw`lߺa CMxo\gQֵiQ U,"K``ű,flhr߆k#`hOy< X'1zᯙ^b{b6pwGuP%1^8=?ulozA^;3Ƴy8?ag'hK|aw88o-p8V1*{ٞ' kjӾkW?X6=3S(i|tw5Z5j}],d+*6/!t]UZ(;%й0&Ȃ1m~V2YPx|0IZtxÂa#Vm[xX 3 onAV tni޸{;dㅳI{lVH$ eˁgO 2"2 AuCdIH vOҒ ɨ‚?w䩃:5~h`K =(–(>gen}iem޽Jcx&y"%5zҘIsi4CucoQUB>Z? U^dY"  Pd>C!D:/Pxwru:ݜB> !64HˎSwHBkfS7@C<ZaƻwwiiMf3Y?Θ池Aw!ʊ AFuXGWe,leӂXP*d8 HtEը\2.s**HTQ&fҬj^A(W강[śvſ9?g{'xWj$s&R7T_c$0,$l Wl«'ٵ&,Iܯhnss O&l Y*K 8Jh3^{PmkLܷm P`6]r`|@uKUHg*YD|qG/ nϗxd&Ht5_(R*<ȥܹ5N]MW011B{`Rba'g)s=7 /%hݶ]ZɎfl.mC+#AɄP= B¶ʏ/ ljE6Ԅ=i|,YIWW5qĪ ʜW)[lSkJ)7V}t=wp"I|/nv= T<$H4³xv6mU= kڪx}Ҹa=;}Dw,Y/i##`>[b.S"UeNex>5|֒/Tc٠ Ҭgk ȕl4{X܉kFԪz͆M;ZǺZ\#|Ull,f}k?u[is~}U:;k7`Y`h2 A{(-j:U2% 4%*\IkټaKNi^Y/ktVh!qg-1b>bv#VYV`d8M>_ҵڡ(*Sa`tmUM˔itz1P}5Q6e$Ihse{-A2%|f~,6ߣ`d~<@2nc;uExa lm 9ʩ9%xʨ@w9WaPDrǎU5uAi\EАhp#gM^ nvJ2_Gk㘕kٶsYQ 4x8$f`MӁgQЕv_$Z_sȕ,FgRܿM<ݽt5yp{# Uw,Gzj$c9:u>w+6⍰aYĞ{'dU#p:)"-Y$Eˍ$wtPMÈy`.{5P{M ӆ[VDUȗL_;΍plP?pYڿ*`9b~EU !@U1nP1m4$$<@$ dG2NHd, N.Ȃ *+K/ kP*Yd2%FLN؟Uy!G![ #;:@~ ]=}:ӟFBdm$Yvm!ЯK۶8;@npYMPal4X$Ã󌎤ɒ+8$KUGVE -fh΢q@%dI KbI^@ǶVBUQ4!_n`.&@T2/~Hٙ9lF$jklZ[GGW{fF٘=W? Y/#sgWBDP̠jU*aWywbB6%$pNdx&3FtU^ĮB7h +ct|մwĉƽ<2ן_4X`Ӫ _tRfMyG/ϒ-">#x=Wi+HPg.#2MFA[؁"!µqR.73SS,n sf(JM2<2ሟd hqi,Mrn=lRyĕ#צ%Ybi3).O4$\KSʌ3okTR#(*^>1eCm#9>TvpMWyvv+0zU$I,Q̲Xě٩y~ G/'̃9܃Rbb=oaX |C؎lǁT>ޠ" $YM̌˧D9ҹ TBA 0Kc?8BTv6-ڂ.aTI:|CYqڇ9 s}fa,/ p6رkĞ-Lܻ6m*=.!h0T\cp&GC˯3.qMp>_eMslt$Q xbMm/Y\p1I^.^MHR,Ylh e}fd-[d MxaïNjg,7@L]5卛7\ 3LweVzQ% |t}X7 R*wuܻ&NmDGwb&;TMHK9d+OGyyQ~rF}c3a]{<^cƅ \$МE4~s6u%-?ZM3a~aI7c{-k2i=Cߡ9}|kr鞬X[n]HjO}h >TY!C{* [14b-P̤-LӭH/T0t.g2UPU=a33s<}x֭K&s/>wÏ8w36sSp}k;}5`=yi{/^ ^ٌEb#Ise sYEe,f\F<<2" 4p_b6aMaYʂӼY# t3vbVf*^ﱳulkD - ֭a|bG_kgTuI^&QeTDhKh}2^M." e[7m ?{e֭ mk5~I &/6+/( KE{Y}[-z=_7ʮ{W}叶3J2N9|d禱5mq6w.x56?%A'-9d3e.8e*Y Y:Bkkحǁ {eFËىC AWcj$og}uƻ>m|6(ڐ`!cr4=fN-xtO'2{5|\ѢP+XTcEk֖]$衋N{xU)Mry=,V>;m]k:>qO m  J{Ry"TˆdC%1u1/ҥ cy!/>_1 @ p=w_Ѷ}[F6uũ2k}n928Pܿ-ry ɳs\87`N}Drc}nn|@-FOl٥'6Wv577źVֳfeUmQj~a9l\+X &%.2?nOO.GCϞ.qpU P4KKY;Vf݈F/ jpX[BBHRt*cRR.)Ts+cٞ>.܊- DFYG@wTK^[ B$B8iy8,9u W9LOOR]kT\[aj,~/:ܕ [J@0s+anc^o% U*JfIENDB`flatnuke-2.7.2/images/news/tv.png0000644000175000017500000000621410254335731016267 0ustar simonesimonePNG  IHDR@@iqgAMA7 CIDATx[͏\GUUdIqPrH8u[NHDBC $ND@8!qܐȍ#bEO v/v<㝝yU}Ƴ(64z3uW=K#c?i-^;Wsf|8 3޿ dq%+++n+ӧO?GDti5ϣzJD|w`f TgBD@`ffVl7pҥիWψΝ+e666=<3raF@4w5Pٲ LDv;3 /p8<G=^t:2LəyB>5BDF13>ݮF7]$L&p "xwf瓀!_xI*yT&-f=,O~{k}G8q!t;c{&H'&,]AjPxՙ1z:mb+yҥP%Tf q8,1( 8s"}vNPH9F!0  J^Q҇>91|29dltEUm "˃-uCA B00 P1LA"Uz};"-!(4R9|枃|"D@z?c5 "ǝ PD`4{3A5 VQ,}|{ >jr  Wr"9Id#P3)$."JFd@j,! AYs:EXr+%B!4vV\dXIJTlN<3.0 =TJH4}";NMd1D8A:|xUkY1ϸH(C-1EyCtsC1"xggV>!EN0z}0YÒD,K0sD{ D GD hBxyKOPKi LIo\2 -3D.0= P}GLUB9)+ÐHehv2d!dWE&ӀWz}OܕGr@Nn q!.߁Ã@`%P6Q+MHk7?Gxe IT0g3$f*-I.&2^g=܏I\0<,F4v(`Mq4e \cjkwk &i\ MV3n Xezn LXZ]&<b2X1 Gc^[CX:U0X=(U@QC#q"\)@ PڛL=ƛ%ƛ%&#x!H دe,MtP@z_8AAKpY?SmH R𚊡' "ϩ: 4|b4Hp!.9 ?Ȓ2 5WH*ױ?.^ad'CFJs$>ԭ:V$wMN#QHn~lE7$,z  +ܬcWP8J"ԯ @*+UeuU8q׷Z50XRcr׳W+_-g]2EJj-٣^,Y];IXvsLg8-ʷAp-7Ȗ %>2XamY@ڸ  f_\ &Rd` {`aFT>m5'WXf_"p_4UUP.E 5Hj"E+hkg WM ,q)Wabd#N YB"5T$+Ĝ^Wӊ|J*׺/MQݜa\cwNlmA=}\%mr*Y5*DZ^enDBi sV*bUPWV=bO6AUtt:>}p+))t8NvjLy6O'BeuD0-GcCe@Y'N,ם?xaƓNݳ*@K)7fSe@Ǫu-hK1|bVqY={v&s@]bҀ[[*w315l lsɭ+I/}K&x/>]Xv<4`)N~$^Ƶ5٭,3x<^\^o[0 Qї7^Kᅣr i==ga1 Njeffƅ Bs328u8CPV8_{]`0ĉɛ""X__΃8r=qeT`/~766/FQu @@@p:zlfwѮ예0oQU,//DRU2k/92ZҴIENDB`flatnuke-2.7.2/images/news/user.png0000644000175000017500000001166610254335731016623 0ustar simonesimonePNG  IHDR@@iqgAMA7mIDATxś{]G}?3sڻ׻^{q!4ODJ@h ĕ(h>$hE_TR+Th5 (CHBe;~k{^u_眙1{vqIFsl7ދQZ6 5)@IcZ_h6gKxC~u^U|Z?gGVh ѯ 2Xv1Fi`^!%RJ&fC|c9sv g>y-5mj~(Ϸ>k_[F Ў/#{6[G;6'g|!wȃk΄5wFm?\318_Gvl%mEjpg &:GG|r-9mw߻|m;GgE_ք1;Ʀ#ݽnG FIFz94kACZ>e)OOmOZXl"1XK?\KFhD#yL7.>O~)T~= H[!0 JnC&-P;% ># ~>A_ܶ{ =Vd58 kˌHCl\1$f)8 lD׳GOg_4ww.  xŶFحNLl& }mmӉE 'h.޲7:ȳ@k6*@V(4)@Ο%m0A0 !2|ޣZ0S _VJW-:Fdh!l@#D `23oNGPQR9O?:=丅M@zNz+aePR I@"NFG|* )Vzr^udw8+>/l H5+|ٖۚKk8,0H):=d%32,5#P* rQ5})00и<`(AH%'uw qB(r9z[+c@ ǑxDHBx%@%[A x+t}@Rg@Pobm\6xB #wƯ0ƠTzWهkk'K-ɷD#"q|t bcg/"$+l+@ uv:G.eYv 2`ڠM'~@H0l@eho Ӎz5c=\eJPR:| ^{y-iRAP!l4Ћ1q8X7ZAoOIH -)v4Fdž86K7uscgYe$5|Cq:3>9%ƻJ%s$vle_'u]t0̕͘Sa Xxṃg&QDwpp]&X DvC.SBONR/jwj|uv|ȹ,IS:F'ǔB 5䩟G·O>҉7kl홉zoY_+aH Os%ԁ%e";®$q _ <) /MyU?9Vw<*m0Xb?OIHg$i$a0Po^:0c VkpR (O \ ~hi׸d2G Ԇ0<>x߉0񏀗Xemk E;aDssɈc $j|N%{Ɍ{{<6alJҫ x /9E;JI`c}y[{2^w7l|Ǎonۓg۪G u~ƭ \nܔ=#krrbK#=$HhiXS+ y^xfC&L371v` P>rz-7nstM;rdc@ y+^ɱ[w Jõsl^X5$eřY{#?VwX柸^/o}J ;9klF;|gwith^'"yd,%JN@*+ $ovY[Thc /%NQdj2Az(LOi~J$[O(:uxP;v>W;,1έ"޴BK{Gu5imkN{p92kӍھʚ ~h]SI &/(;k҇X' a %!o=jJC@_ ܁Z5@ Kq,9 TGhNiN qDV(;% q a,P J@vu\lpY0ڴØBNA:Vm yl8Ō_P˖@wVqF|nρ+Q[M" :@~!dԄs=$ &墋+yWP }$^YewLe=qstL %_)Dkh.3gquCMCscZ54GBޕcxp%ÕKc(#Uv^70|Mi˦*׏Vؾ1`_ l' ҤiL*&SCl0\\,,¢S/}g'_3y8ly@ l8w\_*}A5؛c}oZZ٥Vr(6-QBrbm ZЊ Ma &BX0.NOze?:rp!0&YA N9X{4mٔ:\X }e/W̹W.nP=H)OoERfazp~an/O|5gƀVQ/R"vTdý^Vj#m,%R t؈b#j/N.̌fy"v]gk-$dy=ǫnc'mFe1]uXIENDB`flatnuke-2.7.2/images/news/home.png0000644000175000017500000001213410254335714016565 0ustar simonesimonePNG  IHDR@@iqgAMA7IDATx͛y\U?^I/BB;! x@u8sPtGaQ@E6QA"`7&  !Nҁtwz{wx՝Nw=^{oKq5򃚸s1 @? wچ\eqsU3.NL%֯BM_繀Uk|q1?1IC}Քѓ?z[3<(fȽbJAณ9>`;=y-{3: F>*yO 󳿞Շ:Rq{lƼu0Jhrۚ Ú(Qm०iC| meHR@`Eu4ͰzG{ԥs@TzA@9On65")HX ɱ ϾNf|h4GE# QSށ^ްip8Ri&ȹ+&=2{g/OM,q5}@HY,Z\o;,ZUԲr]<*AEBH4[YA*U5V2p@@'RV~pphBwY uurh<ah㟨=l>Vp!KsAJD(u@hz,;vеa{'$6o]"hzk2{㺠 (U"BPDBӞfWFmu.62=@Ĩ2¡ז1ŀW'nJy!`M!v r=Zᗃf%RtI6>L&P{դ hx0󴋙L6ٴ"܃ɍa5d!ü6:˕3lR7~3IteCqq~p;Ϯ RLi> a ()h V}-<Ǿ-g!R% RHMؐS׻_wIY)JNzO.=T4B<C J)4Mpq]{W1e.5P V,q5ן5ۚ3K BQJљlzl+MOJC3f2!ǶVJ7`0S]C3(5k)ٵT4YJNn4,eߒ{ȍW/IFaĐ %$&d^):^kkI%1 ]{@ 3❕SZC/SctЃ9L˸KCin0OIKAÏ&qHDT%H9HDT4`aPt Me.bK&0]7%uwg_ůQe`8r6! J Usm3Fj 璊DULiN\);8n)qJN[*akj(i`&5UUttv9&~ݵxϘ/0i$hH" R6N-/ FG/7m(  кa0ӰͿ^ˎ!y%"SQ[]ed[xoxٱl٢#C.дE@ WZ1tv GJV`0*pI9Rs3{(m:8wG =f 8mYaZz.TO 87EK먻$.^A$&Ѻa6?ɥij/2S $aϬcK<@u:=ބ1s;~z39 2i5I} &}hݞwioJ Hk)1D~mFQ'f ī.zz47IE4Fn{Uy"+Igˈ;ѢQ69`6RJ;; }g{*6hm:PD8r1ZpY a{͖o`c#S+3IE~D7CQt°Ä ,Ŧud o8vmP,PJUa#$SÌz z#`RxJa&թeg—[YyKe :-b@ۨ5en&^Ou]."W}p*EU,nxz $HMIsvd<7w$1Geh0V$fh!R)4=3f^zf]o2س_kkW۝:]"pOQ&;?5t+ ?M4&Q\ׅA`'A0:ĸ駝C!~4hD,B%fT-v8Ng0V,B7^bH)I.o^Gntr ]+ctmBxҪ'(я @wbWQ,D B@ƔUTդ,f0Ef/ jٵm )NAB4dB,.HM;QP(ή.@Θ'[k {i=m10'w]6f߫x娺Z<( BxH4ho]-9i(]KUEռl}>nnrneQJaED94.gn6GMk_o7&LW .3[hmmP0,{oř|*5',egٳ]MhٟcWΌGWNЖ.SH瓚l^: &1t]؄Rmc~&n*^=2D'=qm#@&Xj/CO\x)uupn(^_]^Nٷs+\ BhzL doF&iĴCF'rKJ\i?ï7^pΜի ?$u+VԶmTҐmOrgX-vM@ $ )HMG@%kO@X* Jl^]=B.CpŏmΚd :"w7uxm/6R%VoCiD"8 ĪkIwv uSFV =<|v}k ;=Jtg ! tK)x(G B"@GR ;+ H!BKU|M4[ey2LCe{M8M<<&AC`邀6u?.w Sqw]#0j ؽ{w\.&4k9dI昦+AVM)#{4YnxmGi*%{pR@(x Xu(b_S7L: 8RtuuYa+ & R B!p ep40@7ؾz)JB,Uԁd.(`, ,O9"@&Qg`r__= ###]]]`1HII1 <`L= u,0(5|aO>S?9 蟔f ";@P:f0Hb\K 1@XDDB$%%^z%@6̳ $e Pӧ,$->~@dzl 77 Q4,, ,H-FHyPj XJ$64(= 8`)LE)7 Xm <J:H:y  <``s{@03j:Ç:V#P ;w.-0Pʁ JLZ#.. 8$oii M@4(#""|}}*P@:u`s@=o L i`j@1Ɂ[q0 )@} ʧT@f3ɓ`= ,jPl d-Î;-DzPi `x-Dt_QCI0T *AڃUo 6#0O<,]DEElllHZ@٭PUUv&t50CwDWN à, $$$ Lf󁥱((` pc=A/pAP[h&8=NaPBn3 ,03LU@0PY-P  *@fKoMP| KAk σJ[2.] w{%5!{Ve&.\"0@#{޽{Z  D/*^x1T &PY r((0,a ʳϟg}6<\{͹>Ã=֑J ` +lA.`(l ! e:\〆Zx)C@2&9)az(%RH @֭[඿<0[ 9{A4(#O@ 5S5P  | `!' l8X֜A P9a*lmm6o N.vvvR.X-˗Q" `9%lS`@ o (YhId (A99PL5y $0089=V0iDc.04442pq o@Xgd+ß߿EP̃Rŋ `X RP^ @ _ X@U~@KA@9(@ѣ $E#ـ=ĄXio20i803 PJ*GMưo>xComS`S t/Zh00OـB)P`/P#0_zBׇwX`ee:Z 4 X..&`fQ`Yc }`x΂G*vpٳgE}X6 \~`Ui 4P +l@8k6V5:@Ila > `)Tol7c ZK=趟gg~aՈ%(0 819r`Ejpfgb(B =c`3#g PTUD`j,Y!44< RkL:~;9?p3|Go1HK1tl*oܸÄ> ԁ5>jxEay T:#N y 5@%:0@9e@v@:AEd$< _zs~2 j <\B;Cnn.öm1UF$//0Zc6OKyKRP1>P}*bFx';k DDX amP Tdff2lܸ`2H$t_`䦝8qbRР @1FsA!c`&c; h @Xrv h0󠺼PrEBƐXf`6 3<ʁ b:HZT"W 6n Ѝ_br q@K' bGEXV9$pjyzBn ,I2*878qANG@IQA $h Ϟ={yX ox=f@ <@s~=O?qDpwIAϓC2WᏐ7la]# J l;Q@ <QRxt4}C@!DbتX1Ƃ[e1n-@GyY -5A<ΊGJ@*BK  / ` K8_9AM_P4zv,`j/:F(C-_Ea PJXj @:w#10CAnnn9aDf#rGՠXj3@oPy1`MdE44P)@dm2KC6 \bP5`DIl1>6<  úbP5Coh h pC1 @&0`>DP 4 _0G<\ߣ<.d USP΅إ@>? h5@N1BCFN ",5,@@=RPCnhBb&ei/III)++#Fy1zqCXȥ=F ̣oAF̹v<AU'l=[| mxr /h+BBŋ|+0v>3|!CA%>z?+'ׯ?0}ӝ;ܾ}}0`AcC h3c31pqqI ~į_>U[MMPǿ@exH_vV&.6N6`o T:-Fl ,A @O33ada`c>^< %n{}>s+{f``QDlm=JJ4_ L?-}? 3=óg, 235;?]VvvxV;LǸg}Q]}i9A~&f 织7?w5EC"{w^ cC4F0>`2{?H/P X|s, XG3wX֝dxA >kDZ_~1p}e`b*/t ` g I >g973x՟wמz?mw_~Z(b bdg²?:WHDb9}8h< $z P =蹟@aff07@5܈e4v noY302AJ?hP@?o ?aw 2|~Oٞ?_^WAS f E1Azoퟞ ԋhY:赣F/a8p )bOGGn3sb?1_SE? RY؈00bHu !gxJɁPam'[Z3pQ5o-v>G3Xp~DoKw &/op.g_e*xi҂\+o|~ҿ`q j $J84Tkp'z*n@CEMED rH/%ݮg4;إz1ĕ*#o{Y U&%@f/16Hh*Z?>wTtzrTUD֐rK/ejjA>NqZP/g1`/zD2_s&5B]$Ju8ؙ9 [2_?a ǟ刺|>E>~?#-XRi"I,P@40aA Z| L>kW۪ܽS_n+F#f2#; .,"\A,~6CbǷ>_~vog~yZO:#aQc46abQa/0f5 4_??⭟?.~4?"0 V BuXŨd3\D:@{+a['eU+ sIT%dkK3B fhq4qOZ0±弊4= ^f:@o|:V=ǀf%DC&"?RLc 0b& NS~qIENDB`flatnuke-2.7.2/images/news/network.png0000644000175000017500000001573110254335731017333 0ustar simonesimonePNG  IHDR@@iqgAMA7IDATxy\}?ޛ{v]`wvqEdK,'UQRN"*$TaEbl'rb)bZuMJ$uo$^p/=;s{s,B fɦu5ֲVY\qqjS9;(U<(wx}h+o0ҿz~>|8}wmbx74ͬұi~|Ӌ\;?zkGl8H~?式6ԍvh;`#cv-FI!,qbģ??7>G'Lxvvbx~^+ȯ6 o;B qKsEk-Bp"Y%pEO^[" ﹯?B>mdɧ?vt% 5$fLZ#J ()\W_}[x\/somǟɿV枃_ 15u'6X/Ƣm-h?c1Ƣ!BR-i|X`%#rY{>0Ξ^9|`|,U\X>:sC:j8'ٴHlg:m-8J: בu%QJ(uiZ2 gRF};M[8vnepf9dgtd]#}߼A;ӽ`mt{0"4Z[tۃv`R%=1IZ ؼm řثы_ O\1k[sgRR)re2Z@emr BDi\O]IT˘gH4 s5nnQ&}H:ߑ*u~NHwۮx$҆(,(ը!j# L QR|ŵiٗ<;ѹ|5p>Tm e+O(3m'(V ,,-R*S7"MDO3|-tIRuad,@G?oow7!0_\be֪50"XAkK:4t!;M"M]Hh-vIamb:"?VJG~ HҘ޺=;72#rצfX."r"mJiuXЛo"qZεJmfH?CP7yiN2l|6CiD09=lXH+6ݱA+j(ZMgukJW,[l'2|*%jM*`#H2<&Xhcɦ]zi,/-#dxA2=#?C.4G)ftnG5q?: {p6wlÏ9g>~K:VWQ=yDBօH!: {)2c-mצˆ#C]bA+fRaie*`0I RH B('_r;T k Y(Q5c/eɎ[B2xc}[pþaSS1 F:kIX!! }iĕ4aBXD|+:GFoOƴ bF)R si6YY!=4Ne Bl BFUfS ?զD5T8Jv|LH%E2erOtE-}0:OM!X&4/ 7H qr[b>vn$q #C4uC&&#}M!5Ss>@hƕIжMKu縼z,Bu"d`va% :+ˆ3+zs =as@oghcqG7Z\u~) X.T~lˤ >qѭ_GB,:J)*:M}|, =Q~S$$KLשXw?ŝ] v~7Ad]5kM.Lpp~/xꅗ'N.#.'.Lia= ӉlGDjU! HrE7Ir)h4}^>1=L"ߎicc CKiCo?awm .N-T ,u/ P\A'$[7_G<y-#RvGRO#8޳ e:,PwV+aI q~lNFI LN_&H{kjjDhW֓KWOsar5Ū6(E6m!LXg|dw?UF7oTiPTn.L &.VjHu:-ά6q<~u?D:!I^\INf|Ǹnf"mYoUQ~Ȏz"c]#c95 b(酸o8.! 0XY-©e2@^Fp8gy'%D$iJ^;8q~l{HDžcg Y)Yؠ4_4ZÕ..[N9ɏ[R-,! 2=rr[AߵvKy\qEnڿg^'Nl kR)]U-vIb,\]z0mӨ^\Z\] D|%t;cU|s0˹%8?> Zg`~׾< * ڞ$*#h7sk͐UhQ`m…N~t|! N/?I\RM8^-o?BDuM):OZ_Qtb< g?Bn?y)Wam& `fR Ιq׾yq3Crparɉ$R'*zb[o8JT+K{!OG^Ti@*iԐ*.Rj15WɏR#őӓl%I%ԆcgatyиTT"C:t vs: WϝdR">5&e@G)#;Dʎ `y*R6j-ьhB9ų!@C!b7#ٹe#,g0Z#G*C)E@|ݙnxHTb ْ&Ξ%ߏXaL~slXy z_nΩHgH{;fVqD:i2^r/de ]%djo]=)Bti#m kML+'okr׻3WHk&ξ66U8 9)Rim֋Ȯ{2%MBLXOB'qE!OŒUD)Wmt*g79qn\X ;lZB0gxǕuy>Nʎػnm Qն]R [FTH\|֣HyNhZF3Jj1ܘcǁs}7M5AeAec~ 6D.%qL%f\R~-;|F9-O${$St:x^jщ'j>f"2ָ!Ѭ-yD9M?s|و EuWώTIM0v|}vNU>U3Hj;o,MP: ȯ4?nLx.V$5|m K=}YlN<qqpv:X:\&E6ɸdG&%Ȥ{H{N| ƂEqsw 6jj&~l5~CZ+fg!'{I@k}wdlm ׷9Igpu wB-"t5~F,*,5.LM}˗xOӼ3 5&`gFwrhl)l)b 6jlk.N]<|z4u8O5a=$5@0zwnڲ{G  ={3ނRJV "zeV,./N-/1ؙ;+{A@kHb2@/^:I|. 6b`h{)m/%WE :uCb!jou!IENDB`flatnuke-2.7.2/images/news/games.png0000644000175000017500000001250410254335714016732 0ustar simonesimonePNG  IHDR@@iqgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?:`bv HnO@e P⿿$.(} bd`/㿿?}j9 {&Uj jHL޽pc@z>!0m&2g&R9FF&  LL R^K.]T(@Q9 geaw*K~B7?q(l<% |`١Λ220( 2r0\ȱ; \tL ï?\m l : z"TH b`s`cZx4Uuܼ y/T9!&L( *` L, ?Z$%:<X1~6]x􁞿 @O7n~ɐ`'6  S[n~9s!*q3@QmLV~ LxYlm"T:b b& L N10\: c`02V@sΟ- '^`8$e`%N BB ll\Jf62wYfG! @]vRA__AU^!]x؀/yyH l|Yp p dXh Pjӯ =;Owo߾/ PwK_F@󸺺?`Ĉ(ȀԎGdf`gAU1XZ3830 -0kapֻpóV\ H`oOXMe:ZUMy>`,(# Ͽz6^#;90^l B 3=á#7~>Omo"l r| Zڂ T0fy8ż% ,37}A 4 K@' /,fnp$epSׯT :/@D S6N{v"" v2 Ʀ<ɷ߁O =L%s./  \i%0)Fn`@f؃exp@ӟ7@1h1ɱ1|R=cw2W}z+ /$`` %ɆYlATf!F e@֯ˆ}l (2|Ӽ :nĈݐqԃ g>HlXg4xf<h>2@2ԥsn +à 7odx Ù3gL`kՑhL~ m>۟ L ?"~;VFRό%#7~3TԬc'ó'; Dk~gƺ0#G`Qs  o vvv./Aܹs qDL 3Zp0!2(rݺ-WV;k;AG!@1֚4Fy`ʰs `UǏW0 5… og+FeDόhy=o`X0>~\KYpvfV&k&yv6 >`4p)o,,,B6_0,zا///+őL18 6~0 `Ze;-l fKj&@[jg-w.eBmǿ}03!g`$F\%9 ^~d`x̩ y/{o /?j<<Ģ 8~} < <> RZA+A+P @—Op]ȑ" F!.DBBCpY@X?xu+06A쮁<Jޠ@y۷`N77,y!1E]eqMNpp^0x[2/ yPj`ʰ9 `@X߿?d}.0WovtXYY1 mPyijj388020A *PA wԒV~z A {}KWH߾ؤ~ 5$˂<54;B)13 ` v ׷n߾A,AAQQg5` ԋZڿ; o_2\9uU\@cg/^ṻY䧏24ڥ?E38zX0X`Aه  .1Ym3[unA n+ՠadЄ1>׷wnpԪ>|j"Ib'9B /3Ԍ_PP7f5EfV˯+Mh_.?~Lpcw8pPztyS\0be@Ab3 p0;W׏-BЀ(5eaH7~|痷ϟ\9r}x >:m~T :@x`7~}?/ JTptR4 <м?>oy#hpT@A/Am_ X?9=DpbݫA# þ U8ʟD0Mϯk _'2\y&/_>MD߯_Nu^=|)ؠ#ݠh!׈a?~CDLx~w#;ؾl=~iT?# W  &G7//{Ls@ee.s`y\ ޽qR'gP"vvٟ}pm%$0@^=pf`܇!.~10 ) $Xc'8)iحe-d _?]Rv>ܸ&F#29--sxO~'=ƁGgE?L^?͟ xxr_`)O؅x6]l-مp·bhI6҆=tn+'O<υoۅj?/>F{Bk7^w{ۯqgy&&||iŭ2Ӎ枃? \}%y|7^O]4h&K2^sSOo+RIl]u_5̴fHLrwHq>8]ٗ?wחL326J sL6'Y2^)[3 v=>c=u DgMc/:x(PHL zo̻_4EK+i1ӞA ¢H/Bf d3C tk A ɂ3K@b3͸gV{b&[&&JoMcXqEy-iIGa/?k92sqrJŁ@Ƃlv7À4∩Py-|AXyMwm`H9rZJXh>8|ہc_AG(s9|Qy.:M!2=hDIdq48,O 33/X`\ }׷~x~?nrM6G~t!WLcF`$z:U_`v}ݻM#9^vGo\W0CS"h5xڢU"f>/t7mPOǁw @pϷ>y~#40t>;O^#Huüx*^ ] {NO,[|/@ XNu$}X|TB-۷kTYh.DO]wWs[h>A \,3:,-;c0V`%$1q{X6!e94=:e+ =mߪ[k?JAnf߅wOЅe1"~'8"ၕx$4yJ3|0\J*R_]vRޣ[إBERZKu n26]S)؀Hz~ %23xsy__oaNp [pÃ{7 I,,@Vݚ] Ģc;`\ s6"HʥWY9ZDZh@_)2BWifPO=^ kxCAn}ceiKe]~f tbWu;[LjYhZR-VzC:D0aD{$G j,dОzV-NS8;AZ1R{hsxJ8:׳ Nk]^'4uiZׂbA3}j#Ǐ ϳ&Њ@ 2a DZQ,b C sMN %s ? @kYJ@l:g|nO,ˑE)R+-: [c|:BAHBd)3Oqfn "tBdh<{Ư @#a" lS7O]kl6کЍAZؼ@Aׂ')(AIѝ9`d-`MH!V1M*X!U+B<&m"&2mR BfmKfڅ&ڣԌڰP7J#936/!;JbG'R Ox?ƯSX{OdQ;.3\L脙V*OeL:M!ȁd[^{+~Clw6m+6ls|E#e6Év N/:&'L]*:~%'hVWo5MG+iM%3/Dsw^Q47XµWoep;(0lqD7(5bRCɳlܺs:Jj+ ?rMfdgguLo% ެ@J jBnMpCuۺx&>FpNw} 7FҮ<k>[,i9M! %k|1X1H9XY3A19NySAN:]@Stïڡh/pU'Foٴm j%J,QjIEKArJAQ.(!%>ێ _R$FҘØ& /;u:WV vTP51J4f.Ж6of1ˊbm\qBFlOWbe<+L֟PEftunr[@i k t]axR3IMⅤ$H]y woU+ ؾ#,i{>12+wAd4}֙[(Q^:ݠ:.0R([$N$jS;'ίn+r(X' L*eֿ:+@Ad@1C,+RJeCqKYUq}l$myED|;1>D&$ۇX>2?$_l۶nxZ J /]?Ă=0+0" G>Bf`H2}V7`h )c*QVIjIjhDORoL0wN>2Xk~8~{QXiVWf}Ŋr@g5`ip"). 8Mf 1(UtDbRbۤ,Ƌ4L: -&GEk uOLk=) _vP֖}*.Β+Df>;̔,P#hR T&_T(cP;Ôv;,NcD9kW[sKts@+ƍcbާhՓ::KQς.q +PƒLmrErU__w<941iaӴ5^JBL24O3$0]k\9AرycmgO-Ҵʳ+6/}UC2,x} .Z\Kk hl>wU ǵBuc%ٮܡ NPt6lԮEB@g^{qΌ30L%6"U92T8XtWc|PTB:Hc+nuT_ r2~Wwcԥ 0:: +:@2 zos-UE ^_nR ʃcۮ+E'VNّʭ+R*z.Ab2g6V^QYji_z|-kw DY'~E|YiL_*D)]Ώ3ܺIҴ(8x+M_P>9\Ū4|僔|InPfЙ9K'u%-9)({s%ZN K7K<lj'e&OK:W׎Y7(r Zd`HZ Ss | pS sN JZ_\rjcn*b~?py]EHCÓ?}s{DQB^S-h9EN 3cTQYP̀^ PGSjS mt]qz^sLʱ}_K/}2SHyW6]cwlX_e" Ji9y?*f !,6a)SO7ٿطG~%[Ꮈ/6WƯmѭcHexrQUe9)%JICj0vF0Q=/<G14p8(` F5[Fr^T%D+DbmԪVٜ?U[:2;uK8@>lϾyD3[ϫ?D~4u IENDB`flatnuke-2.7.2/images/news/hardware.png0000644000175000017500000001356110254335714017437 0ustar simonesimonePNG  IHDR@@iqgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?H0@4 F| `dd%'n6˗tt AQ#E̜KϟA3?|~^Q__r@o ӦmUddd*xg`ccf`x#( ޿%0 a@Q-fޝ4+ȴIA\\A]]ASS Npup 02.kW'V/b5P ( ٳw)211KplbaafeՕgၫaƓ ߿d`AnH]0 @ "(c8FxdEIO~=a ѯM߸"Ck J+Xx"@K*6 ++K0H0HHe>p}C.So_7g)CDC,@`ٲÎ@ @R ,$[/_~2pp0aժ# ߾`;_<4tү3V:gq1pېչDuz%3#05p2ltaחl!#-@a +211%sNN6`& // f#{'_ ~fx>Á3;4n9a2(*%Xd3PinlLxP30=ZpqPaZp՚'JE ־ALL P "&aGƠp0Ǐ߁=deŁLܲ]iw2qd5ߩ W~EhLZrX<151<$pݔF? K5WWS*9@@X(ɜ \Xo11?L Nڂ_Qc$y0C,@1ʣ4i3j .8y!bQ@_)e?3Ź bIY2ueXl@i Y]888w+K20<͠ ۗ/?g^?τ t(/ÍypKn{$g-N5o[^RxBW1qS »w ][y4&Ͱa!_??؟m6 A |` j[+0 ͇ ]ع)b7f@!ro,)$Űk)` ?yXShJ z8f{;d`+ CwR í'lbPhJ`z/8Kn$':L,pO#~ȲBY )` B)`>@a()=͏[~V#//Ԃ$\U1S"bSy;ɩEZZ PR .n;>0yP4td1ݹ!r* L`gg7?.Ax@mP3z߾ =^:|T6n\hk!.Q @سta)%x2GRg 8:x%XKoLؗ߾SΜk DfGL ~@ 8@ÇE 'X}|MmTˈ0U\ր%S;Ppf N?.~Rgؙa@X>>-ŀbß/Ξpbk[Y6200S£Gu%11, J@'>B Ng8rxXts%NP57'3O`1aaގ4cSO.D"o0<@x$~~f*þ= K`K<ÏAUӗ W71;C-(UܼAAA+\X4q98Xq@ACCm#ƍ^}İe}`m ,o0fcpt`2| aJX@JP3@B{?b )c7`X1820L~441}ɠn2R͛co0#ckEB^P AjAl޳{ 1?ܞX '%HXSϋS j.p10,`JZ҆t!_`'W`M\Ak<{0X0< )ȃoIZAQQ%@43VΞ}Ȑ0w` XK{Ј_/?l f ||byq4ϡ xS@1A={1A~ m $&O_U oׁ4v `] gvSW}߿b07W0(VA- _Pa ЃN70;q3 Nn~`` 4 YC30X0I1S+8@{\6Ҏe{y@>d'Ͽ53|&0Q[sC`ұ2a^= '52|ZK7>| .@<7lАj96^fN^a!r@Bpdxu0>=O_cX#e,W=C#z 0~x`Z@Ŭ89C ?X1`,TTա\dR dcj eKVA  Zbx@O@~1&z;HZ-Qp6x ~ Xe189i= ԁ @kk52(de!գ!W̆k}B `/0.3&j]~'@ ,U|:pA-[_+0fG!E-0tNG1y`pb[ *s3<j;/ػJh&Jpa m >@x=`-@g1~U“2bȠ${Uv5 )䒣 Q匿 F;2\:u̅W 30İAHk{z6b3 $jw4R_`&.6 X?V`s5.^|,$߂ VRr6GO0Z{,/_|fx` eV Lɰw9I }`־sW0,Fr{?ex,2ظeV b foM jV޽"#,,--`ϲ21*s-jqp0B ?D`B7Kdb9y= x}igX= N1ʿ[ ,e L@4\Ưs ">X$I\M1gc/ b~Šh Ϸuo σ<K O OPo4aV,K6@u. л_,ey# P XІn9p{5 AÒl`S`k a`PVoP_0xDA!H} l7bU`7`0˻ I _AJ 2x?&hllj)\W`5_<*WS &o fXt ~@:C6c  ߼ \l00j*/% -,1̹}o&H ,_v\jD0(h_g(rac<Aa1 &`%ҥ;Ϸp@+pe`m.~=+?!e0^zX-h@w`707PxO}00HӅ J[!MAXTS"OwAd1+`G w Eۿ P 0( |caw +< !ғ80S &`U+ @nH*@}Ԕ Hjΰe`>0Ç{<8wO~]ZR@DM*%3= -%pA99D3`ۗ fW÷ GO21<=`UX2p7vqɫWн} o_Xv־hduj44 j/N__>}7C:!ɞ=89Á7ϟ_x֝мϴ8 5K KmPLvk W?bX; =dԣn)h @c#t6JMBp 7(3H1|z[ [ Ͼ2^zyb`zR \wޠ%w͔{6ڭg 7aXw(o߄vF~1 0 Zl±ZyG 7םeX 4mcFF'A  ݁4.jٖh @/ZUcbYFhl32 R@#}0@}4 F|hSIENDB`flatnuke-2.7.2/images/news/news.png0000644000175000017500000001047610254335731016617 0ustar simonesimonePNG  IHDR@@iq pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?H0@ Fn(;ܹ @@=  (:)-'|70[PP߿gV9 1...&&&%K(;( ĿA 1|||-`L #۷o3prr2())1\t A@``;8@>} -x<^3@A`IIIҋ dׯ~f s  W@_MM I:::T1f7=== gx%ݻwAe @`(t@p)3$g%gJ?@)@dbf8@555mu?}q?@Phe~ EEE%> J@,_aj|Q^^l "P -f 333͇?~d8 7 x!@iP]J)(0ρ r ((-3@.d~ j P!e6 @N&yC ka-@ /S,X x1Yy Q@̖h[J9`R-(2`BypA@,dJ R?Hѣammv׮],j044k6H=(܅<|̙3 >|g5ȵ@`)tp.\E.4%w^B.o7B1`ζCh){oe!LkMjj~x85'=5k/pop m(a(U(0*DDMi{J|* ˲y>k';焘:Zk9J{bCf԰(={ecFץ$PkMw?&9g1FED@lC)lsxqRA |t[r襧kVD@\CWb*B3_G)D#=%;]V.{ۺ5+` @x@_̘㊃["ts5  P 0aBQt4 D; 8FCbf{єno/k_X /\#$O! @K3f 汲7*,@X°g (ա@ Wm#]I r&0R@kb.!bƃ HgϞP\RA Y%Xʋl唒;\nRPQk*;aRP֫ٳg}$ǎ+UOi2J#ZU{ݻw zsX6n]`PiFzCZLR(CPtpսzCn`R(%k[@=Vl->X;6 j:4JX< ªl}kb(`Yrh G.3.R r,`*Q@n \t_P( u`ktّȖ<[` 71c P4m@ne/4yXFv84a lX D r ?3.$%^ [UȰ?"ct"Foޠ$ܮP LRk| w;!iV:? @,$P iͳ H-`Ѱr@;wl ֭[,@BIFPPAU4H,> ;`B zd`PaR2$̆XU{w,R 2P_iH< 6aPѠ !X(0pY(03 j@~ ,4bA9bA%, 9<RuyӧO`60h9ˁRS^ AfR-r2 rA{ypP[(,Pc( G{R S ,{P Tŗ.]@,6.)< g6% ;wAlX Y J '%X= a1,;  P>4q XKT`vP  XKJP 45/a (`l`ؚ @ Jja6آ e X@^TO ry4R  XRɁ$ __v@OA94Ml5`Av+(0Ab6 ~FXk Sv@#mx,t.7BS)yn1QLv`a :7w#Xo0pW?}G!u+ ^BmADeJd v}N%o;0lS@G9Lء#{FW̋X#Ve`ˎQA.>d9*iIT ԽB";}bE{>0,"@Yqc 8 ͖8ԧc\X}s!_ 3PFfQrDI(mذRF3Td C褵+R(c+8:-yk8KHK| 9~piw) E_frh8wh BϟR'vg%޽ĥ/JqRch,9R۰e=[3u:O 23^شc@?I)*D0 )fb DHJ@2V쳻$ìChܜ0iG@0EK:̺0D&1Ikbͬ0i}X=kG>|҈ tH| 'Dg.VP\1#0h,^e+{(dBOq+~02y.%̻܆2.js"WOA+UZm,<dá_=ru%kJ^WӠj T yV < +`1y7Tr <$MLyf?la >c3>8\K Ewp@ >wbl,š Bk<@e,~P@UogGgjoIv5B ݗA= 4 B rc)p`M7 qy 4: IENDB`flatnuke-2.7.2/images/news/graphics.png0000644000175000017500000001706710254335714017447 0ustar simonesimonePNG  IHDR@@iqgAMA7IDATxݛy]uo~5*Ui,T@L`؉It<"ɲWVLNbǎ:6 `bƒjTIU՛;Ҁ-p{{ow>}.&߽mOz'V̅~J'w轷1G|ూ Dm~%ؗX3%QG/wn︼u.븒Tt]VksJ~V)3- tƻ;*͝/+ϨÏIZ̗л;(JHgVc{l; 5n^S勛Tq0w5}g{p_#|[n kօB@ -j5M*9+Gslt]<+y޻Mf[<_CЪP(TD?#B`uck7p5?y J {W\F6P(!7E"j]?wHWabknU9"%g5]wS%M7~=ߎN[l1ڎXl](KCPm8g^#H,:Cl͇r+ZQIf7nܸhFߎa|[jl 555"`0!7bo?2ɣHU|ȪLS=h1FS+nuvz 뮻W]uU[}}+bغH$>BP| =dgWe 97 (ȃXT o]v= 8"k_tiG8XWW9Bk"Hu45. YSyh Ak A**r}_ ^G 00#NЩQ`04U!k;P $~iM6-ill\DVWW BP[4 u<0u@xpd@ӅLA6 VL_9 aFKB^)*!oY_ye˺6lx/.m+BЊH$RDϙ$òOTqH`tr>TΚk`UҕM]!3ǏLʫ1 %#/C< /;죢7n.,0<$ ۇr|@j``KX .E+{a~<ߩ+ 07L`1LN${)w2K@`lllbƍg~%`)N\h:;;5@[p,($W,tx<ǁ]D fS<0M1 gDq$}.Ktvvvtd2&1MO| *f `!@GE~3Q MS09IsQ_SoA'8?̗c4x5bU]sn$qU:.׾v"#G%I% 5`p5H9!JPlӦX5m0q2ӮS)|gbё9,oe%׳u ~t:hiiY"D% q"(% O}g~T|5V FF0ȑ83l_ ,.ຮ>p˗d]6A 08Y{[:i]~ r78#V-+iO$hj2A|dS94] i}ǎ pID`w4l/;Wt@bz^ V_R, %l%_te\$R)eۑg9Olرc{zSh"@Hs (?~T*Dh5$B J̶"dvjmaɓfK:NYò%VYQ* mb$JV]Cj̾tE,knTIy#TDb`SX1_{O:/7 ]ADAԗɣYFln$#'ɤ0b:]VEhFz|JQ,CI!,,\OŖ^zu\*4/%@޽{dvvvn1tulP|UOiRZ^ ɓsLٳyVʹ4ϑuyL}#PW-'iajjSUAPKin(˼2]é54޲eTrEe䲐V8yeJA.CwS@[T~hU8 NaI1fu28)I:Ϟg̟p/vDf┲%BApy*J13]NN&71q.~F.|zQV&^]߾{^\r6' (TFr9M@Xx O dưppRZi53.;MY]O勵4#y"Zm+6VAzX-wlG4)F&ISXE&q(Jvt+͎EZy涃cr__\.G4EHI\_Hē>5xJQvÑ)yuY,iStˬ\M_ŵ5Xg_gעc%dt۴U5q[Y~"N9:IΑE Nj fYBʰ(y" VsK<PxUj>O H@P6gC*"9+Hp0_Ϻ9D{ /͉ r,W%|B>(BDM5-(Qdç|X,ƦM˛,%@⋧˖-& sɉ4"X'āAKIY9~:WW@S|$9ǧاL#J|\ ݋;粒Q'OXO qSGȪEj(«@`+G4;;;7>~ kܹ=\r qGoz _$Ji7,#iN&YVMmP %fK)fi'8o^r wϿ/;_F%HYPtTK~T+@$UXlR2ɫ)&ރaZ\^ M7txq hBz|bb\###=:|`U|@XaT,m$m`&3OV9v+(MU 9 6T+7uMhfP@H.t[3qA|%</# ~.UaRB/4;aI&q饗^o~γ8y쁁L&Cmu mz ˙(́RN-sprW(ՙ2)r2iUZzLUP#Iؔ蚇}lߥK%kH#М]@Zy,ǣZ UB0G0L pٰ4֭[X .kY=?p :4JRuuu1#p";IGus%>PHtC. l\pHfSC'N=M@u T4B|+uJFYH At^PrKʣ$4f;ЂE0(IH1j%oIttt,CZƯɟ'@̤VZUg `]t|J0BbXxFՠVU!`+ _@ I0 {cS<MaA,QuSv\ J\:x}IG{tttm6׭ٱRʕ,4ԩ!J \;tr CFiW:JgFc a|>e|4\ޗSY M߿0$"A;p|؞+_{ښ*"f ̶.d%Wxח!hae u뼂u%^FXwjrv[WbFXB \0=ϰ^[i B&{Y7|;{ω-^bl2[N<9H$׮]`II@D&d/~ ב8r0}?KS\^@JOah.dپԮ⭿;/%75DmzX#RJPo,ÃF_/NF%K'kϿ)( [o+;-Ua>#o^cǎ Jhٜat_.(U$3(Z.헭Cnv]<דԩ<7|3)J ,Ʒ {)$2[+s |P54xh}Hǖ.W_}u8Hݷ[>m}044D0|è&$р,|e?O":$ӽbı#]+VK|aX믿qK rK|]!L'QeˋLy&B0;;;;.hhUmmm='QJaR7Q(;ă6mkFa~T TB)doBɫu,JeB*IbW|4 !4IF.vmu -r-Jc3LL,􀉒 %RjG,4;s?R ;f ~~|>?AePJ@p] ^f ,3h2 4i~]C7*5] Y"ζYBݧ@I ˊKW9RrdJ{x_}Tރ_[OQi0TrA؋Kyml2.BcYК!뺎EM kX0ӢBIPRBHDeXKTV/ gOyÅcZ:Ge %6gS780YhhZL εSG7Rbi!Mh4AhTΧʾTY/f= :\$xTzk2$SC)KPUuX` PM }0ut]E&ƉD >`h7sgv'M o_F< 59W;r"["hP* )΀ϱs?&LB@ #_1zCC9>=,Rw0w<TDd1GH fjg-8;[ 0t.Ӈ'1p[^P~U/j@ |Qct۶˫7n,h jLaQ1t ]?PJ)@)ʖd"as4s}/yRzPoiʯJ+mW߰ncg{|pkS}4.LLCC%5>SNK>RQ1qY_[ *[תF5hjm5UưW))8jRB.f <>AeUAe [ʛa:awa#3?o/?-^|p7~cM 2 <Y L \?K o>nUg+{[t2= FFH0 nfcȞPZ46A֢_~F6 hƫRЁ߻N?fəpCr4#'0Kn6iß?:Kb}xX a:FW|FFfff&<Ys3pU@χ#g71̨ e?C״ F n @ @D@O z1 =C󳙙؜8>{g?opZ?Q1<#`2be˰x[yQ{eGwc@ &j(fjVVqyy ٜT4-dddx9XYz9)\ CAb@E 3=]ϐl`o"U=-H'Pi &"c_ >O$~aaI" XmՕDݤ䤥a"!DF WV?zy`Ïۜ ?N`u~/߷1ZUS2+@UJ0=I^(Sr4{W  ,z<Tce`~.. 'a9KȘyf?B<τ< @aۇ ]y:P X}ebBB/}$8x}8yTՋ,,^13(11x[q0B=&@_.S` :fbe"G`gx ˯_#r@A`T0 "b?SN沵!ܗo~]G2b  nfl Frr +H.)(DG<`FH쁞p30p213,`fx/[SyI` HJZJ%Dž硞Ҩgc֊{ؽG癁 Yr|Q_\\evACܔw X$(;0> FhL ٺB;3qx%?&$32<~KboZݿL!*bE?g3`(Y20 3$֞fq9NSe` aN\ 6v 2 ||ځA8RH֚e&yH"ce{ |ohhcŌ&_wAnԘy϶0zG5g?}w+8x _PH31A _3|P6SALP!-%<O l[ V`j%Ϡ,0b }H=(`σ <{ yP?z^σ@a4.h}3CXϿf66V`0FPpwW^xðՌJ0 }Ldij@ ߀)AGcbXuؕΠ&\2Y&c0a`'/V F61" $ U,r=.)k'* Ot˰|ö 6 j&-;3^s1H63axء'yßoot$>&篾3 3c.38)?dx7l w^2:*1X[300+3<ۃ ~?FrJ HI:sβ&_Ke،-{. L ;Ḷ0gz?AI˷2c܎>}[>S??s&GxR3k30HCOBAGWATB_XKv`8 B`9^c/'Mev/>~ᗺۭǿUx޼} AHH o>Ccge, *^ Nn` q10|yx~g2{??`+Xdf8qaE.Hg5&6^`VvX/Br25ax6""4 pܼo+fd{0"+4l@gctlBEy0[p[\ȽK`@| XVVg\< 22 ?4pʒ`gd8p9Ò-y `$冴7ҎI W? ) e ){xe_Cz?m u,tB8O^avL[ز1yN<>eBrRz?˅ 5 Tdy_^ο@180|'`&A<@,ֹ -EPaـU_L꒏ LFͱ=12x: @V``8x?Â-__}3`X0`J3%|Tx_yQX]1|8|EK? NbxWX;02$zgАʰ/{ Z| `GysPɟ}~80~CFe`ip$칧2XI\9 u 4NzL0f 7T:~-7ی{td^r!bhf ػe`L|Vu~:?"AjB@r22`U%HMf '20tL:Pm`c.h_@,`>vր(< 3&5P1O z!7ٶo>>we6^I'3i1`k6Ȅy6HF<<eA.Hԣ4AXf|z v,xzf8x9Oh L%PG*:t1bdPMl V+;# hW4_;;|l?l >3ǻgp6.$/3?L 2=y ֆv T߁  *f < }S0gg3pji20@}Zop'А NZlLG} a9: , jE-:rQa1^s-`:: 1 gopk`CÛO폗>[~ߗF<G"8;uo-$ yߋL/p& >2-Π,yA[ .~,U;-`HV``c~vX s6` 7Uk_^l񡿯wj==  bAn ۠#h9,{%t M 1f6аz77"晑b?M} )톴0Az@Cs|}K)iM`3 xÜ-?^}{@c~w텎]V@FZ;v?~޸߾^?= 0+j g | ᄈAbSpA11B#'{Y eg^epXz _c30~SA=O@L "ܻ3o ~r|ͩo~`bp2f2Rge4v l%# '{硓N@σSI+Pڭg  2 ~ /ן ^(E5@Vܐ[qtܑV)dӖ6Z@A_.v 7aQg`f Fp@ypK+7_0ܾaU .\נ.H3!Y %Ozי76[D3_߾]yjaVO*0`0v3js0lޫ˰,VQ١d<'+M/_0;3 3x/< 0σb"{}_^㞘v`yƟsy?{/p-ásj _2D=bP}0u8]Vn?Q}y6DT(޹*}.y}@=Xσ@*0_߄+;(), jZf+3F V;=P`F4#<R3B{^2ؚ2}pKW/߃ _^dсovJKxBZi?@j+ #X_ wfwvklpσBaP]p(a8{5Ë?=Gx" <|ʠۗY_>}~`GѐHABZ ?28 ?BfAFF ;'WG/0J1(LO2P/3l9k싩1Kp3)?bܐ`8x`< σQ1\{L_=XCA eX;4扴J{?w3arl_h+2 ?9t^|c1c`)s22\[ bF/ë/@[hxöw>`6O֮osJɰ" Qn^1`}x^m/ lBq0xm㤖@Q=e`p2+&]=/!Ӧ 1r J ΰL[N 1\:>0 {`;OJH hwPIT/5ϯǍgYca %l!3~ XYM >? @eԓ'2|cPӢ/;.52ӔdP bx5÷2ǗW?19~.A:DQ0 IoE ű13XwNxHU/A:Ahs\!χ x^FFQaղe0fA8/FcٳN 7?!]׿$$M[[.:::hooxǃ((B^P(B.#ϓ4mʲ-EZ}ܹsŻfӧOG5M{$I&IAa~?^I4 FAVZX\\dzz)2 z}ܲwy'}'k8yd|U Ã<H$Fjy |4A N,#묮 ###\v|>,뻍Fw}w3_TU?>̱cHRqb(dv/_f~~RDRq6,Dbhh!$bHX$NGq% 4+m)ΖxBaeY_?pc100@GGŋ9<ׯ_R ("ⶢ4^T*9~8@t:{Fr/.\'#?~6$(pYc)I(v-7eYi$I}QN8%R,᭷baa!?ۿ;Ϟu{T*q)O{{;LMM_ Ap 00 ^}YxJ\l6˯~+\ioַZ}-W3 >׮]8g^r~s\E&''5KVcqqoDfnn]OD$Iy*x BvgZ2==J%) B>? ~t|)|^6y׸z% HTU,GRVcffƧ5M[SN=nYOGGRl6{H fd9ȃ>$I~ o&x;F$۳s\D"">^Q2R 't]#DQ =W^mV?99'@it~R! nApx1IBn7H .`.kWA$СCzIPᴽ9A| O&attb$mBo78~* |'D"qj~~O4N6+koo*A6uL^d&DÇF.6oIJ,t]w$h1nܸ%i=r,JD"Y;cvq\9N5MZ tV wuVVyVN@ @`0visEveYn7jzYbAì-y%4 m'e{(].,;Ki y^Eq~w oGbƖے :dzq `+ coN:L壪*@0 z`3MVxYOYieYvϷ+ ~V4vh46ĭ@h!aL!iYMw^oyB4뎩SUY[6؎6y<nޡeY~4Mh`_,`d0ft]h8R[˲(mV^;QjcFȲ#ih4TUGEAӴ (YӴzNV:\Z6=$nN\r\D+kSzIVuzhih,W*h4/X 0X\\djڎR`;Ob&;Fou-a|-,˸\.r+ JZ˗/O%t>o4M) At]6,,,8Rw($ \.׎Fa8R]֊,PwJ+ _[[sta<My+ ٳ+WlH~)300@{{;i$^L&C\FETUeqqZY]] J7__YY,Yz{{z[Fl[Q*buuI áCZR~ *쬣Ţ]n dhJH T*uRdgg H8a+.TU%:G Nɭ>7ɽ8qbCdSTE星w$bbb3(o$I_ B~LӤT* 7Mr…-9T*Lܰ@Y9z(?0~CV0 VWWE4A\.3>>΍7> pO#fXYYY>iYV AuRDGGnnۇ,˔J%jz=4MCUUv:t'x!ǙjE+WP*#111|ʕ+gEyXj>2^>N:vtr7wv$}W$;Ç ô!IR ʱ- ف&}gZEPT*qufffAPUΝi?TVժ\,{\ӴH(rNXZ 0MϷ3͞]ϲ#\.GP`rr)<0 ͪ###?VMNfZ,}\u-eJP:,rVV,T*2 +++:Βdx3 MzP|:i[[[cqq7 <v/(ϓdd2\|\.4#055u~bb >N(\n$=iq|\v\@ۮ ݊: i,o!( gܢQb;,tUerUeWu&RJ])˔et]wv7E gOs B94 rUrd(ͱdMMM1:[fiuНJr}s,KD=n7xD"A,#  ~Ktp4MTU^SVV-//(s2\bX{vvY49< pChQ|b1j'W옾촕5 * RRښm|Ro ;;p~7|("S=jb^ڜش=NUUQ,۹fjRD\RGoyi9jz~#'Nx|>`"f6n6MEQX]]R 2h~ᙕE` r?nۂ `UӴ{B R.jB p+fS3Hv(h4(SN}AbûV+ۓVVV~d2Ip%b*1A$(?0=ǎŋ,--}Yv!w._|.xr9-samqI58x ]]]r9^yfdpk.]cǎ}NCvC("8nsQzzylkkD 78UKKKKLLLiw&ɝ1I&O }3lhw|>n3<~ Zuf_att_~rOs2D"'9ommma`0H0$ 9l?a+Z^^׿5oL&7::ZX|8wm"UQt:}rɢ( h$I۾4s\4fffxw￯\xOko?n ͷ|@* >z}nooB0lH]]]Ni("aGpNbcyyV(&JG koks=纻 }n;,˲7.i0 r(J:tVȘb-{̺ z#Ht\QAܖe XzT*-z6H Aҽ~sTܬЧMs몬k40?k3_鯴o_IENDB`flatnuke-2.7.2/images/fn_denied.png0000644000175000017500000005142611176603325016603 0ustar simonesimonePNG  IHDRI6sBIT|d pHYs??zk?tEXtSoftwarewww.inkscape.org< IDATxyًvWNv p44QchL>G7>tSSX TہȘ1cYɓظqJWCP bIPyĉ̞1c0qD'g6TN9pA1jԨ,Ʌoڵkm&&z05ʃSIq@_gWqly)7nNRfٕ?~7URR㝲`8Ϸ]YYɰar`'O5l0*++iCv9kkks`'OKoÁHu0c |>oI4}]z{b(?<"jfO磺8`ˡOL ,̲OD ,-<_~`l=8ύfOML˶ OMyor`'i@Ӏ%hOJО+'9R,c֭e6oL$4M#;v,3ߋ-tZr%/2{RƎK}}=SNeΜ9TUUѻkVJ(6NZZZhii7`DQzzz2d_җ}:gK>c=4z+Wr9piD,C3!DUZWGgS}N<~ɓ'sʨRK.eҥ\x^Söi)bskj9\Fv׿ٳg3{r;N?;祿pcY5e kogן̪)SOnrN>Bo4޴iw}76l[nae4s|h==6"x}˖q-an6mTh A OנzժUݟ~ʏ.GeӦMx≅6O4(">i|Y3s怆9%KX3s&:d4MG-I}O`ɹЋ-" 2|2}w~ _`0ȢE mNN5`noogÆ ̪+ mNWW0 6J?O\uUlZ{ mNw/?O6'g@R]]MҥD-+9EȲe.]Juu5}t[Y5 ~G-7\hSN[n+xG mJNT@Xɓ'ǽ) o <8'Of_Ory?,)E?!wO>dMZE e˘={6;ﻯ-0mme}1{l9HQd{,BR3cYRKk72uT>~zFV|vL:7ڜU@Kq?TM0j)8 ^zB莎+)F{{vQƋ;w2zhڟyЦ 8? Gfg.-J_|EΝKt3̝;_|Цd!CZMpCVhS2RgxA}[UEt<,UUUٳV=W^aΜ9t|mKɰaxջk{xÐ3̹^yN?Yfz| mc﹇Y `Ujϛoc i/=… dU*!ilHlgF4M,~mi)^іɋ[wz@[zmi3]T@oݺ1cxʘ1cZd/*lB}}@іٲeKMq:/BzZ[++E͛;v@іƎ͛ m+ >h9ݼÇCh R(B2嫬$RZZ\ ѣGeJ mʀWi][laх6ŕ 1cJY}}M*51uWL**kkkiii"tjkk m+ɳn/B_eYbRQ]SSΝ;*cΝW**!|ԋWY}|EX}\t@{oTfOtp'N*lDl1Mջc%|DÇ]+>gϞ͋/̳fǯ~eض3 dRg/2{BZEOoM9ڔsf6ŵh߆5$dԨB2T2jC 3g7>B2T},MfΜYhS2RQ}qꫯRsم6eyW9 mJF*JKJJf詧LJz*ݔڜT@L2׬a詧ڔk0eʔBP(s=ǰK.))F.{P(ThS2V]YYIWWSNc mNѫcr ]]]T0hCQ V֪CqeڔT@9 lM

j3z!.B[Jjkk8t(}k6׾ơC-sRE4\?+//9E#_y9ϟ?\PhsrtII ӦMݭ[oڜшowneڴiE{!Ŭ49sxꩧy :{ :SO=Ŝ9s mN4` /~k-ZijQɨQ[_DP̙3Y{I|ee6WVƸ'd3sL8BS (!w~>@wSKD48Yd k-9F#SOeɒ%6'/@\}TϟO)ڜS?￟M蒒:y'  ꙏ!SR`3뮻nLщ4`.^ƿڠe3kq\pEh/@L4;[~/Bgu _'?cҤI6)@L0믿'rU?0B7**a"W]s3a„B'@TUUqm޸qd E0oAK޸qӠkXn[7C:fLC:7[uq5㼲:ڄ͛ǁ?W_e;_'Kƿ*w?0x +YѠca޼y|{ &^k-姾rF^{-W3fp3o<XZ~b׿Τ+ />]x!V`׿w݅?QþŋKcۋqܹŝ ϸrF! оhxi]5gE#oˈ#w[t?oyZ={#ɬYtGO["2sΡs(>W^7ߤK.d@"4Mwaٲe2yd8 *Rp}]b{de%CfHAo}YV\III 6Wα֮]/L$a̘1~ѻk͛ғxO}N U(;Һ:J(K?v,%Æs=G[[@/}KtA>%˽~zo,ϥiׯwAaZ_ٕسg---Yɓ;z"͛ٽ[Ójl޼)V:C>N==]w惡Y%/ eWZ4ٱc{+=yRЎ;hnnV9g{8)̅6l&LVO9POO֭c׮]*GB!5 MMM[Vψ#5j*Ea0WSS4RbuDoκuxy (P(TSSS)e,`p0޴iS=`-X< 2~~FV@TdQZ@LNBlQ?l\ ,6M 0:p0e+f>4(Ff؜|X< ,L'ĉ!>(+E}##p6ހ:l \J<"(9ģp〼|6nPh[:hӂ @ U(;R]& 9:ύbHiLP[ۣ#چt(GҕcgGncV6L'> j0{6fO[|z2}7Kb2`Tg𚣷YN09^64+_l¿͢'Ht&l5,ېw#ƿgZI/>IQ}|{jy:j*iP 5=|fPel,-5!r"4q;'MΛeyyum&<6|/ntʼ6|;=lUU/|7^GeY E2/>Nvk[u|ց;ۅon[|(b_ F2 7@ 2)Ρ-yʇycm!Xɡ i}j$D[ocYzv#'>,n|m\_&N2"'ba8-^_¿jcPs=5x:lm\:q7*$u\|3%@?f4\ AyM-Uõ>f:\՘n j"FW?+4B _^%jwpO("]:bFImJSmneeӏ) Akژv^5~|Gcn@aۂP%]GZʤ]j V V`^d]g0Oұ%C~<_m3l2VA(yori9%xqm4ʹ~7m>Q5G],mxuԄ@!e n@ ¢c?㵆%yH4|+E[B3vb1ۇ1]_e?>Ӏe`CF2Q6MgKq~{L iYmƋbyXq ߦCv6ǝ~>nqX_K4M,T}t ukiGQXX_eZ N3.NBSLϯ^]=f" sֆ2;6 7cV4ݔe>:>cU;f|UYˣ_M=0V똟䯭 &7Z˥u>v5w~C7|?l/7T}/pJƑ匭gu!|>k:@+X㳋WTgLTu2B$$ m)u%|{ 6@p7s7*e,jGv:ìD5gW3FG_IߘW~؍` @?}Črgׅ3LAvm=nغХ:x K4ZߑtTVd)cOP3&o[_cF v8[t7t|SdRG+udQzc}#'n| EE= _QhV6[eV3I'zm`}8TڠG ׀)¤6e퍎B`;G:;OQ<@J5sR6FΓ|aq䷇i+V\ [|a4ze6>NfuY 77ݎ</}Niu=#ze&p[}?~WepMO׃nkiûaSFQ9§ځjw|ȨMYRA U:]~zo GdL5ЉpWSx`F` †7mSƗ^X?atgEI_%m*aּ4>zEL)+}h3}qWuK"7g0lӀmMI#:0[/6LNjΗt>qWu5Y@8@a0)1h8zm v!-0c-Pb.((.@rf?Z_򶐀*J5>}'U5}c>_ zϜJ1!pf~Y R`3]d{V8] ~]IN`sz 0C%2Љs_=bSzI|)vF@p[Ͱb ~'e ,R$f9j~S:ѩ]tdєf{󔢴}S~OAP&8py ]@YhPMկXJ#ޡŽ$ݗ$hlK ?7lI @atH5 :ߙ|+O; q|q+ϪR *|q ǯL0O, \KH&J$ `YAe 1S~qlkf -x!;9fhDz e_K2Qu;-F& ƺuHnfI%PZԏ݌Eٛ<>1@m̏9EiI qI@ /:gBYJsqs*!^S,2JmZV>4@D,@6V ;,p_d=8a[ZL2Aʎ}'f-X.v6_I}Bmljqf'kj8O,' 3DAjrF> y.fSӻ-ap%e&:Z|t lmmQ:@J*`hU:|G r:&_QCYY`u/UFG'PEo}s8/9-]P.@yLrpaɣ:vE 郓8&4mҾ5>)i%mWVpzuM&24D]a(l8hN5vS3Q]^Sd+ 2l K=}"|'9I/r0vu6mbޅtۅ 'N}A6L">="U?yoM7:@zB牳F-mT"1~w+!\6ťOfiAglnJt67rk?MA'dOd4maDx4oGrÉ/UArX75|NgQ)mMI-%]'m4?_"i=\PV|>|h>knWqR Sd@j:e  M Y%d_^o8 ?_ia$@%+Anc7aui #tbC͎eWN>}V" L3(OI ԩsRw`ٶ8' c !N%':m~ME$w9[5Caº s6]qŜ|(aN0vBܡ;וeD:\F{bOK.,HVܘ"P ZjQ0trLnuHn`+ԾdYC9Oz e)/#?u]"tH7;B93[+"MtT{ WYr{hj*HN>Kɮĕi$kb~/\C;lXPfKP𭐊T%I<4o P:3"(on<~Pm+ Gjn$˫),e:OކRh0HIm"Nbڭ!3,3 6tcM1Fmfh,6u&›ک$f(|,YiT[WR&`Gk*z H!tY$ "ؖm4$0$ 7kzf$ǑH:޴r~tpپԓ|T[سG*w(]ߩl:I^WDCl_jԝ$>~u}F?e'vS&˭'}֏ ! A} :W6pŦ@eQ|hoWx"-ZRg4x8UȨ1}ArdwBS3W\Ws])zG>M',"<5 a75#2Ddsg4YF&mZ 2ڒyo;Let1 Х&ouXrC]vv LÏTf-VA=c$>~m*B0&+ 9-jeলlJҥ3%vLp2%ܣg4' p+ڟݗBwP!Y! \*"C~"J=Y>*}#*!!N8?DGG(Sgcs R_K{zJ26ȓl7s@{ڥ'{.M>bAur[[v=Ў+@:~+_֙F)@M/4b4I=E};mC }.G+5IwJQ:6fE)]ii7S93t;u }:k6ջX:#;;S LZ:,B!}N<,"5FZۑd.;o!vhSv j"Ԛ)RDæMf5ݻ$ЦR^u-\B_%r<<$y&$:m8)T TlݔAD|z)#6GX!#uHl |}{nln` AInv쉄޽בuVr^}": }XV&njkb5:m~M/J#qcu yj6&LhwfGw8X %0Y#Ҕ-tKvdѥhBhS,Y*R]WHדip@r*ѼCtu\ðN73z_As4)L.5t2!pm ?NSLE ͘MMY@Ub| ՠRATt ))IOZ!YlNR%jXJ0: 1/۩H™ao݂ 7vJt?00:H%+5-҈lHh# :$/Q5k̠j4yo,6K'Jqj Q6UA3v<Hp*gjkB+ ~6DB4]dA+v[t>v f,~&Z$zSToQD)%vL@`+fM"r.fBlj%]c-'ۗ)E‰pkէ`GWzVxBa2}%K1gՌ۬$M%aHO ml#XFgĚ6/ uYaw%zujzM@]rf:h:O@%Ih"t2n$)h@M Nn-0o4uU1om6 }dzK{%k> $,c,"(9Mlfd'k!fp0=ѵM H*V5ӶDkGIqБp,q*葖mֲKN'7z$ l[/;*Dn#fT;xBůL6ENKW'MNvb9̎ Kh⪄i:dP ^l;}vdV6m,:ԡ*Y˼¢];%Ljxk?ٍL.ss4!\eiLL('ض2ɺv ,ƴ+yA]C'@SΑpcmK?Zj5OUcNzSIatT  #iHH;V*1KP^`ք6}e~K6txK)mQCq-`J)8JYD hؿ)]D@ d, 1:۬0'Mp<6[>m|2K1BFUMjyy 8>hˁ;eɕݽcY>@M 7v-C [!]߲vM8{%Ě'TZes5ŅNq K.Ju{IDATد*{,`ق;i*Q(]kKHŘnw njޟm]Ns$:k*$nl Ћhݯ(FGi}lK6|=Xl%`:MفGv v)vp}t$ܸx)kGM#lz#2qZ2"u.LȚLswC +/o~Ռ, @4yV`A9S^wFi4ɬlRvz1=FtgGDeĠZӭmT#-vN)5yXpHCPmL\Th.n26~81{4~RtvʤIT&*R NTAفQ^8,iZ&W2.'C}`,c4]m,NI12Бp&f<^h5KۥI^Uo]Eb.r( v|![^.m29UȻI1g*M&Bmu?WtB9:EL$KqmI$ƣ^,JO, ` o`Op#6%Бp* |kvJP\?d"Ԗh\FOE}W^NmTHBd)i/AZRpUߩm QWYs(eEL=<6UZ}N9C:~e_(-`&FϲqǒCDH=Ֆq t▗틖pS =9_0PPorng9g:l:9}+mW9}Ђ2v%pu"T\$B9ezyum ViD'v6S۔\8@h)8Yuk2 oDٴ$ oA^c4z͏w맑p7MБpc;pJ럟 d™mfey-a#`_Q[%u 4q Y ?40.fv=^&.@j&> JFh"ǀW}o>} 1l{6)PKSV" &l|tenp+f?a xM̖ףoqܭ Hqۖ脾C o_;$ݫ=[B x}#I;BJ֣rՐAqe !Pca$b&MЉ,R%/M/1ՏEU8j qu6GWJ'0:Va RȅѶ~Z4Nǟf˴iq!?gf{W9BL hێq0`plHezo7B8nxyuw 7d4Y 7Fˉ_Ֆ!\hљ\Bap\hg}lVRYޙequyRIO_f_nW:ulZ&Hxv5RʣiɧRF[NsHN-˟C3lKEKMr.?I4~C oN$ (蝖蒄U4m]$@Șe9J:ĐK20۶3RƼǏUy>]ңH,J9:n m,dZC U:[ :R UKmTtxm,tYTX#oFh"6P;5\ƹADrrP]/9N!KޫF.}jQx 5F+@D;TFc>Ifr:LV`e2>v1ld.̋i?n43xI}F#9n}nGq< 8OVMځt2P `A smxҪGp"}y;|XSC!-Hqc.Z$O|2>zz n|8LLOϭ/EOd瞲4Tn(GPH=s04SoNJ1\Njpf$ܨ4+hH  }eGD ';K9EIXYj63h|5W9m]e ?O~{z~kȧ 4@$1pM֎Jxh#e2|>t'UNb1xiHp,^Y5’We^Ok%I 7^Z*(k'ݔӀ?8?x2|gc#VeVmGX-{h~$zzld[D+#FiRHdpͮe|xF, 9B'ms |p$jDX}V)-foNR}Y/F˅kQ n쉄v-VpB^J[{3 J_BjQ?&e?f ,`FMO$w,9ђL,0#nt /t$Sođ|>? *%-[ Z|+v+劧fߋӹT=K~U8! |+Bɗ1e6QUL>ذ+Oʶ]:G}?YH3ěNYX~gX۽qV;m.TTb]lw6V417'Q|-%jdмI8P8,a^D|`(-N ֗Ai>q=#X$ʍV -7Q3&h53&Hqav W$ܸ=nl(?ZdoF*z/U}YˋKF:\PQ0 E G}9ҧÚh ϛ+Yz4 >876̥߉n'N  \׷pNӨ"PNvT,]7Fn N |/ntճ:@$ }W.aù;#e۫O~,]7\ܪ5';{TT 0KNJ1aN:4n{*(y׹OgwiY۫XU;)@|}}Vc[s8|(UQ+ -ғc_r6M_/̗I 7]Z1n[`[r tR`xK>xHQbӀZ@a&q/~wh`AU4N*NdqJ?QDj&__kPW 0 !9I\Ai'k'~iPjmV 088!@BP]į5ꖧ&h%H B2>vX>M 3PO겕t |!D"(n`-ix{םخZIENDB`flatnuke-2.7.2/images/useronline/0000755000175000017500000000000011177641445016343 5ustar simonesimoneflatnuke-2.7.2/images/useronline/usr-user.gif0000644000175000017500000000161510254762007020613 0ustar simonesimoneGIF89akkk{{{JJJ.!!)MŔ!!w {sobkMg.N!D!D)LMZE!K?5B!N -7/)'!.!!)M!! .x!r!r)zMs!zlbr!| YbZSHR8K.!!)M!!ܙ ޝ֕Ώ΍eƇ.!!)M!! γ΋.!!)M!! ƿ.!!)M!! }b!,jHP` `(`!ā@`" BvH %LLH'P,H 'S$H+.w$@(D=~̢ŊP[`y: -T ;flatnuke-2.7.2/images/useronline/usr-admin.gif0000644000175000017500000000161510254762007020725 0ustar simonesimoneGIF89akkk{{{JJJ.!!)MŔ!!w {sobkMg.N!D!D)LMZE!K?5B!N -7/)'!.!!)M!! .x!r!r)zMs!zlbr!| YbZSHR8K.!!)M!!ܙ ޝ֕Ώ΍eƇ.!!)M!! γ΋.!!)M!! ƿ.!!)M!! }b!,jHP` `(`!ā@`" BvH"FLH&L,H )T$H`.w$@D=~|P1dx:tT ;flatnuke-2.7.2/images/useronline/group-guests.gif0000644000175000017500000000174410254762007021475 0ustar simonesimoneGIF89akkk{{{JJJ.!!)MŔ!!w {sobkMg.N!D!D)LMZE!K?5B!N -7/)'!.!!)M!! .x!r!r)zMs!zlbr!| YbZSHR8K.!!)M!!ܙ ޝ֕Ώ΍eƇ.!!)M!! γ΋.!!)M!! ƿ.!!)M!! }b!,@P   ` BlH`a\̸~ `dE$re $Q D-bD`X:q F=zDXFd HID` XVr J,!%pÃ, `JXf %,ZĔK .$ 6]bɡC]lai&:pXK+;flatnuke-2.7.2/images/useronline/level_n.gif0000644000175000017500000000154410367234132020451 0ustar simonesimoneGIF89a   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~!, A;H0MziH [TIhaG2f|d1YdOMZҔP0cz(;flatnuke-2.7.2/images/useronline/group-admins.gif0000644000175000017500000000174410254762007021436 0ustar simonesimoneGIF89akkk{{{JJJ.!!)MŔ!!w {sobkMg.N!D!D)LMZE!K?5B!N -7/)'!.!!)M!! .x!r!r)zMs!zlbr!| YbZSHR8K.!!)M!!ܙ ޝ֕Ώ΍eƇ.!!)M!! γ΋.!!)M!! ƿ.!!)M!! }b!,@P   ` BlH`a\̸~ `dE$re (X @A QEX>x!$J0AGXJ(HPA R#IXZ,Z %PRF, d 'X^%J .|KL*$C1d`iӥ:p`9CF 6iZK+;flatnuke-2.7.2/images/useronline/level_y.gif0000644000175000017500000000017510367234132020463 0ustar simonesimoneGIF89a Agnxm`sf؄o`pZfl!, *Iz L!(G*f3oc:F];"b`#L.;flatnuke-2.7.2/images/useronline/im_msn.png0000644000175000017500000000165711027476475020347 0ustar simonesimonePNG  IHDRa pHYs  gAMA|Q cHRMz%u0`:o_F%IDATxbd ,+LPPUtև{ 1|_0 @a5[>8N 2@}|wW 30˱3 K~zokyRzhd%@[Y@-@1ɳ0,]`9͟=70d~b`Afb`PUe h&\ /Rcv518h3#F^!bz 8003<3"*bbÿ> bjezF!n&1f gxc.Ndv4Þ'  h o!J& 䬪b7edx!oFqvߏ1|p)vf@Cɨ ~ `GpfNnp% i`Q@ʱ{b;bõd?30 m?c#!ݿxPU $2|A\+ 10?oU.3lxi N7'o0|?AK:? ?1|ŰcW!@1aM/_ ;Nj*#~ T<6P>@1J;^Z5-{ˁ˂+A K $| 3P 4"V'IENDB`flatnuke-2.7.2/images/useronline/im_jabber.png0000644000175000017500000000155511027476475020774 0ustar simonesimonePNG  IHDRa pHYs  gAMA|Q cHRMz%u0`:o_FIDATxb?022; E~ ??FNO u0}f8_60$|Ǜ _WY@11@Ǖ Z~u01030r3`< gWgQ`#3<#3?~{)8a /o?_30smfcа; =f`d4/?&&. E/ T ČXmfbV0ff```ic Mo+sh]@VK?P98Ï>_.~#a7;[pe`dq ïg a9ܩc*PjV:_ (? omB `% քk/LwfX߿\b5> M*?, /cá Ϟs]=@a$'jPQ렡"p嫷0} X@af&F?xؾ3{ lÀ><[@/nܸp,@L>>?0  &l?Y0} ? 1gm0\>Q`:IENDB`flatnuke-2.7.2/images/useronline/group-users.gif0000644000175000017500000000174410254762007021324 0ustar simonesimoneGIF89akkk{{{JJJ.!!)MŔ!!w {sobkMg.N!D!D)LMZE!K?5B!N -7/)'!.!!)M!! .x!r!r)zMs!zlbr!| YbZSHR8K.!!)M!!ܙ ޝ֕Ώ΍eƇ.!!)M!! γ΋.!!)M!! ƿ.!!)M!! }b!,@P   ` BlH`a\̸~ `dE$re ̡C$J0iBF8XG'N@B ;Xყ(RLBG?X*V %DH, %+QX ƒ%A̢ K"E$PȐ [`aiȐŇ bمHYK+;flatnuke-2.7.2/functions.php0000644000175000017500000051000211177637544015437 0ustar simonesimone * @license http://opensource.org/licenses/gpl-license.php GNU General Public License */ /** * Contiene funzioni condivise tra il forum e il core di FlatNuke */ include_once("shared.php"); /** * Incrementa il contatore delle visite di una news * * Incrementa di una unita' il contatore delle visite di una news. * * @author Simone Vellei * * @param string $news Nome assoluto del file della news da elaborare */ function add_read($news){ //se sono amministratore non incremento if (is_admin()) return; $news = getparam($news,PAR_NULL,SAN_FLAT); $lockfile = "news/$news.xml"; // check file existance if(!file_exists($lockfile)) { OpenTable(); print("

"._NORESULT."
"); CloseTable(); return; } $sem = lock($lockfile); $string = get_file($lockfile); $reads = get_xml_element("fn:reads",$string); //solo se non sono amministratore $reads += 1; $string = ereg_replace(".*","$reads",$string); fnwrite($lockfile, $string, "w", array("nonull")); unlock($sem); } /** * Visualizza il dettaglio di una news * * Stampa a video il dettaglio di una news compreso di titolo, intestazione, * corpo e commenti. * * @author Simone Vellei * * @param string $news Nome assoluto del file della news da visualizzare */ function read_news($news){ global $theme, $mesi, $giorni, $fuso_orario, $newspp; $news = getparam($news, PAR_NULL, SAN_FLAT); // check if the news really exists if(!file_exists("news/$news.xml")) { print("
"._NORESULT."
"); return; } // add 1 visit to the news (if you aren't admin) add_read($news); // read news contents $fd = get_file("news/$news.xml"); $title = get_xml_element("fn:title",$fd); $avatar = get_xml_element("fn:avatar",$fd); $header = get_xml_element("fn:header",$fd); $body = get_xml_element("fn:body",$fd); $comments = get_xml_element("fn:comments",$fd); $comment = get_xml_array("fn:comment",$comments); // print news if(defined('_THEME_VER')) { if(_THEME_VER > 0) OpenTableTitle($title); } else OpenTableTitle("Read ".$title); // topic $w3c_title = _ARGOMENTO.": ".eregi_replace("\.png$|\.gif$|\.jpeg$|\.jpg$","",$avatar); echo ""; echo "$avatar"; print stripslashes($header)."

".stripslashes($body); // footer echo "
\n"; $news_link = get_news_link_array($news); echo $news_link['news_infos']."
"; echo $news_link['link_comment']." "; echo $news_link['link_print']." "; if (is_admin()) echo $news_link['link_modify']." "; if (is_admin()) echo $news_link['link_delete']." "; echo "
\n"; // comments for($j=0;$j"; $user=get_xml_element("fn:by",$comment[$j]); print "
"; // avatar into the comment if(file_exists(get_fn_dir("users")."/$user.php")){ $userdata = array(); $userdata = load_user_profile($user); $img=$userdata['avatar']; if($img!=""){ if(!stristr($img,"http://")) echo "avatar"; else echo "avatar"; } else echo "avatar"; } else echo "avatar"; // comment author print ""._DA." $user "; // comment time $date_comment = get_xml_element("fn:date",$comment[$j]); if(is_numeric($date_comment)){ print ""._DATA.": "; echo $giorni[date("w",$date_comment+(3600*$fuso_orario))].date(" d ",$date_comment+(3600*$fuso_orario)); $tmp_c = date("m",$date_comment+(3600*$fuso_orario)); if ($tmp_c<10) $tmp_c = str_replace("0","",$tmp_c); print $mesi[$tmp_c-1]; $date_comment = date(" Y - ",$date_comment+(3600*$fuso_orario)).date("H:",$date_comment+(3600*$fuso_orario)).date("i",$date_comment+(3600*$fuso_orario)); } else $date_comment = "/"; print "$date_comment

"; // comment print stripslashes(get_xml_element("fn:post",$comment[$j])); // link to delete the current comment if(is_admin()) { echo "
"; echo "Delete comment "; $delcomment_param = "&file=news/$news.xml&comment_date=".get_xml_element("fn:date",$comment[$j]); echo ""._ELIMINA.""; echo "
"; } print "
"; } echo "

"; // search previous and next news $array_news = array(); $handle = opendir("news"); while ($file = readdir($handle)) { if (!( $file=="." OR $file==".." ) AND eregi("xml$",get_file_extension($file))) { array_push($array_news, $file); } } closedir($handle); if(count($array_news)>0) sort($array_news); while ($cur_news = current($array_news)) { if ($cur_news == "$news.xml") { $current = current($array_news); $key = key($array_news); if($key-1 < 0) $prev = _NOPREVNEWS; else $prev = "« "._PREVNEWS.""; if($key+1 > count($array_news)-1) $next = _NONEXTNEWS; else $next = ""._NEXTNEWS." »"; echo "
$prev | $next
"; } next($array_news); } // list of last news about the same topic echo "
"._RELATEDNEWSLAST."

"; argument_search("news", $avatar, $newspp); // link to read all the news for the same topic echo "
"; echo ""._RELATEDNEWSALL."
"; echo ""; echo "$avatar"; echo "
"; CloseTableTitle(); } /** * Ricerca una determinata stringa all'interno delle news o dei topics del forum * * Esegue una ricerca di una stringa all'interno dei files presenti nella directory * delle news o dei topics del forum, stampandone un elenco * * @author Marco Segato * @since 2.5.7 * * @param string $where Sezione di ricerca, 'news' oppure 'forum/topics' * @param string $find Stringa da ricercare * @param number $max_news Indica il numero massimo di news da stampare; se 0 le stampa tutte */ function argument_search($where, $find, $max_news=0) { global $theme; $where=getparam($where,PAR_NULL, SAN_FLAT); $find=getparam($find,PAR_NULL, SAN_FLAT); if($where=="") $find=""; $haveresult = 0; $num_news = 0; if((trim($find)!="") and file_exists($where)) { $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); //fnlog("Search", $addr."||".get_username()."||Search done in $where about \"$find\"."); // too verbose, produces too big logs $modlist = array(); $handle = opendir($where); while ($file = readdir($handle)) { if (!( $file=="." OR $file==".." ) AND eregi("xml$",get_file_extension($file))) { array_push($modlist, $file); } } closedir($handle); if(count($modlist)>0) rsort($modlist); // se num. massimo di news da stampare ($max_news) e' 0, le stampo tutte if($max_news==0) $max_news = count($modlist); // stampa la lista delle ultime news con stesso argomento for ($i=0; $i $title "; echo "(".date("d/m/Y - H:i", $id).") "._LETTO."$reads "._VOLTE."
"; } if($where=="forum/topics") { $title = get_xml_element("ff:topic", $string); if($title=="") $title = _LEGGITUTTO; $id = str_replace(".xml", "", $modlist[$i]); echo "Read $title "; echo "(".date("d/m/Y - H:i", $id).")
"; } } } if($haveresult==0) { echo _NORESULT."
<< "._INDIETRO.""; } } else { ?>


News Forum


* * @param string $news Nome assoluto del file della news da elaborare * @return number Numero dei commenti */ function count_comment($news){ $news=getparam($news,PAR_NULL,SAN_FLAT); $com=0; $fd=file("news/$news.xml"); for($j=1; $j")) $com+=1; } return $com; } /** * Visualizza una sezione * * Visualizza il contenuto della sezione passata come parametro. * * @author Simone Vellei * * @param string $section Nome assoluto della sezione da visualizzare */ function view_section($section){ if (file_exists("include/redefine/view_section.php")){ include("include/redefine/view_section.php"); return; } global $theme; // security checks $section = getparam($section,PAR_NULL,SAN_FLAT); $file = get_file_var(); $mode = getparam("mode", PAR_GET, SAN_FLAT); // prevents to go up/down to other directories if(stristr($section,"..")) die(_NONPUOI); if(stristr($file,"..")) die(_NONPUOI); // check if section really exists if(!file_exists("sections/$section")) { OpenTable(); print("
"._SECTNOTEXIST."


"); if (file_exists("themes/$theme/fn_404.php")) { include(stripslashes("themes/$theme/fn_404.php")); } else { echo "
\""._SECTNOTEXIST."\"
"; } CloseTable(); return; } // CHECKING SECTION PERMISSIONS --> if (!user_can_view_section($section,get_username())){ OpenTable(); print("
"._NOLEVELSECT."


"); if (file_exists("themes/$theme/fn_denied.php")) { include(stripslashes("themes/$theme/fn_denied.php")); } else { echo "
\""._NOLEVELSECT."\"
"; } CloseTable(); return; } // <-- END CHECKING SECTION PERMISSIONS if($file!="") $sect = $section."/$file"; else $sect = $section; // Build navigation bar of the section $tit = ""; $albero = explode("/",$sect); for($i=0;$i0 and ($j!=$i)){ $mypath .= $albero[$j]."/"; } else { $mypath .= $albero[$j]; } } $tmp = str_replace("none_","",$albero[$i]); $tmp = eregi_replace("^[0-9]*_","",$tmp); if($i!=(sizeof($albero)-1)){ $accesskey=""; if (get_access_key($mypath)!=""){ $accesskey = "accesskey=\"".get_access_key($mypath)."\""; } $tit .= "".str_replace("_"," ",$tmp)."/"; } else { $tit .= str_replace("_"," ",$tmp); $tit = ereg_replace("\.[a-z0-9]{1,4}$","",$tit); // delete file extension } } // Find the image that identifies the current section; if not find, it takes the default one by the theme if(file_exists("sections/$section/section.png")) { $section_image = "sections/$section/section.png"; } else $section_image = "themes/$theme/images/section.png"; // Start printing section if(defined('_THEME_VER')) { if(_THEME_VER > 0) { OpenTableTitle("".stripslashes($tit)); } } else { OpenTableTitle("Section ".stripslashes($tit)); } // Include code for section's header load_php_code("include/section/header"); if($file==""){ if(file_exists("sections/$section/section.php")){ include("sections/$section/section.php"); echo "
"; } /* Main download section with Fdplus */ if(file_exists("sections/$section/download") and is_file("sections/$section/download")) { echo "
"; include_once("download/fd+.php"); fd_overview(); } /* Single download section with Fdplus */ if(file_exists("sections/$section/downloadsection") and is_file("sections/$section/downloadsection")) { echo "
"; include_once("download/fd+.php"); fd_view_section(); } /* Forum section with Flatforum */ if(file_exists("sections/$section/forum") and is_file("sections/$section/forum")) { echo "
"; include_once("forum/flatforum.php"); } /* Gallery section */ if(file_exists("sections/$section/gallery") and is_file("sections/$section/gallery")) { echo "
"; include("gallery/gallery.php"); } } else { include(stripslashes('sections/'.$section.'/'.$file)); } // Include code for section's footer load_php_code("include/section/footer"); // link to print current section $options = "?"; foreach ($_GET as $key => $value) { $value .= getparam($value, PAR_GET, SAN_FLAT); $options .= "$key=$value&"; } echo "
print
"; // Administration of the section (visible only to administrtaors) echo "
"; if(is_admin() AND is_writeable("sections/$section") AND !fn_is_system_dir($section)) { section_admin_panel(); } if(user_can_edit_section($section,get_username()) AND is_writeable("sections/$section") AND !fn_is_system_dir($section)) { section_user_edit_panel(); } CloseTableTitle(); } /** * Elenca le sezioni ed i link ad esse associati * * Restituisce un array contenente le sezioni ed un secondo * array contenente i link preformattati alle sezioni stesse. * * @author Simone Vellei * @since 2.5.8 * * @param string $path Directory delle sezioni da scorrere * @param string $result Specifica se restituire i nomi delle sezioni ('names') oppure i loro link ('links') * @return array Lista dei nomi o lista dei link delle sezioni trovate */ function list_sections($path, $result){ $path = getparam($path, PAR_NULL, SAN_FLAT); $result = getparam($result, PAR_NULL, SAN_FLAT); $modlist = array(); $link_list = array(); $handle = opendir($path); while ($file = readdir($handle)) { if (!( $file=="." or $file==".." ) and (!ereg("^\.",$file) and ($file!="CVS") and !stristr($file,"none_") )) { if (!user_can_view_section(eregi_replace("^sections/","","$path/$file"))) continue; array_push($modlist, $file); } } closedir($handle); if(count($modlist)<=0){ return(null); } sort($modlist); $j=0; for ($item_num=0; $item_num < count($modlist); $item_num++) { if(!stristr($modlist[$item_num],"none_")){ if(stristr($modlist[$item_num],"_")){ $tmp=eregi_replace("^[0-9]*_","",$modlist[$item_num]); $tmp=str_replace("_"," ",$tmp); } else $tmp=$modlist[$item_num]; $link_list[$j] = "$tmp"; $j++; } } switch($result) { case "names": return($modlist); break; case "links": return($link_list); break; } } /** * Crea il menu principale * * Crea un blocco contenente il menu principale elencando tutte le directories * che in /sections/ non iniziano con "none_": * - prima vengono, in ordine alfabetico, le directories che iniziano * con un carattere (es: Prova); * - di seguito, in ordine crescente, quelle che iniziano con una coppia * di numeri (es: 03_Prova). * * @author Simone Vellei * * //-> DEPRECATED! USE list_sections() AND BUILD THE MENU FROM THE THEME */ function create_menu(){ } /** * Visualizza i blocchi laterali * * Visualizza il contenuto dei blocchi laterali presenti nelle directories * /blocks/dx/ oppure /blocks/sx/ a seconda del parametro passato; * non vengono stampati i blocchi che iniziano per "none_". * * @author Simone Vellei * * @param string $edge Lato dei blocchi da stampare */ function create_blocks($edge){ global $theme; if (file_exists("include/redefine/create_blocks.php")){ include("include/redefine/create_blocks.php"); return; } $edge=getparam($edge,PAR_NULL,SAN_FLAT); $modlist = array(); $handle=opendir('blocks/'.$edge); while ($file = readdir($handle)) { if (!is_dir("blocks/$edge/$file") and (!ereg("^\.",$file)) and !stristr($file,"none_")) { array_push($modlist, $file); } } closedir($handle); if(count($modlist)>0) sort($modlist); for ($item_num=0; $item_num < count($modlist); $item_num++) { $tmp=eregi_replace("^[0-9]*_","",$modlist[$item_num]); $title=str_replace("_"," ",str_replace(".php","",$tmp)); // backward theme compatibility if(function_exists("OpenBlock")){ OpenBlock("themes/$theme/images/block.png",$title); } else { OpenTableTitle("\"$title\" $title"); } include ("blocks/$edge/$modlist[$item_num]"); if(function_exists("CloseBlock")) CloseBlock(); else CloseTableTitle(); } } /** * Visualizza la sezione dedicata alle news * * Visualizza nella sezione un numero di news (a partire dalla piu' recente) * secondo quanto indicato in fase di configurazione. * * @author Simone Vellei */ function create_news(){ // security checks $pag = getparam("pag",PAR_GET,SAN_FLAT); global $newspp, $theme; // redefine this function if (file_exists("include/redefine/create_news.php")){ include("include/redefine/create_news.php"); return; } // load news array $modlist = array(); $handle = opendir('news'); while ($file = readdir($handle)) { if (!( $file=="." or $file==".." ) and (!ereg("^\.",$file) and ($file!="CVS")) and eregi("xml$",get_file_extension($file)) ) { array_push($modlist, $file); } } closedir($handle); if(count($modlist)>0) rsort($modlist); // calculate current page limits $totpages = (count($modlist)%$newspp!=0) ? (intval(count($modlist)/($newspp)+1)) : (intval(count($modlist)/$newspp)); if( !is_numeric($pag) OR $pag<1 OR $pag>$totpages ) { $pag = 1; $first = 0; } else $first = ($pag * $newspp) - ($newspp); //echo "
Pag $pag/$totpages. First file is modlist[$first].
"; //-> TEST // print news of current page for ($i=$first; $i"; $title = get_xml_element("fn:title",$string); $header = ereg_replace(".*","",$string); $header = ereg_replace(".*","",$header); $avatar = get_xml_element("fn:avatar",$string); if(defined('_THEME_VER')) { if(_THEME_VER > 0) $ntitle = $title; } else $ntitle = "\"News\" $title"; OpenTableTitle($ntitle); $w3c_title = _ARGOMENTO.": ".eregi_replace("\.png$|\.gif$|\.jpeg$|\.jpg$","",$avatar); echo ""; if(file_exists("images/news/$avatar")) { echo "\"$w3c_title\""; } else echo "
$w3c_title
"; echo "
"; echo stripslashes($header); if(defined('_THEME_VER')) { // compatibilita' vecchi temi if(_THEME_VER > 0) { CreateFootNews(str_replace(".xml","",$modlist[$i])); } } else { CloseTableTitle2(str_replace(".xml","",$modlist[$i])); } } // print links to other pages if($totpages > 1) { echo "
"; if($pag > 1) { echo "
"; echo "« "._GOTOTHEPREVIOUSPAGE.""; echo "
"; } if($pag < $totpages) { echo "
"; echo ""._GOTOTHENEXTPAGE." »"; echo "
"; } echo "
"; } } /** * Visualizza una textarea per commentare una news * * Permette di inserire un commento alla notizia passata come parametro, * tramite una comoda textarea. * * @author Simone Vellei * * @param string $news Nome assoluto del file della news da modificare */ function insert_comment($news){ // security checks global $sitename,$guestcomment; $news = getparam($news,PAR_NULL,SAN_FLAT); $req = getparam("REQUEST_URI", PAR_SERVER, SAN_FLAT); // load news array $modlist = array(); $handle = opendir('news'); while ($file = readdir($handle)) { if (!($file == "." or $file == "..") and eregi("xml$",get_file_extension($file))) { array_push($modlist, $file); } } closedir($handle); // verify news exists if(!in_array($news.".xml", $modlist)) { OpenTable(); echo "
"._NORESULT."
"; CloseTable(); return; } // verify guests can post if(strstr($req,"guestcomment=")) $guestcomment = 0; // print interface OpenTableTitle(_ADDCOMM); if((get_username()!="") or ($guestcomment==1)){ echo "
"; // bbcodes panel bbcodes_panel("body", "home", "formatting"); echo "
"; bbcodes_panel("body", "home", "emoticons"); echo "
"; bbcodes_panel("body","home","images"); echo "
"; echo "


"; read_news($news); } else{ print _DEVIREG." ".$sitename." "._DEVIREG2; } CloseTableTitle(); } /** * Add a comment to the news * * This function add a comment to the news selected. * * @author Marco Segato * @since 2.7.2 */ function fn_save_news_comment() { // define variables $myforum = get_username(); $id = getparam("id", PAR_POST, SAN_FLAT); $ip = getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $newsfile = get_fn_dir("news")."/$id.xml"; $guest_get = trim(getparam($guestcomment, PAR_GET, SAN_FLAT)); $guest_post = trim(getparam($guestcomment, PAR_POST, SAN_FLAT)); global $guestcomment; // security checks if(!file_exists($newsfile)) { header("Location: index.php"); return; } if ($guest_get!="" OR $guest_post!="") die(); if ($guestcomment!=1 AND is_guest()) die(); // retrieve news contents $name = ($myforum=="") ? (_SCON) : ($myforum); $body = (isset($_POST['body'])) ? ($_POST['body']) : (""); // spam checks if ( (is_spam($body,"words") AND !is_admin()) OR $body=="" ){ echo _SPAMALERT."

"; echo ""._INDIETRO.""; die(); } // build news contents $myname = stripslashes(htmlspecialchars($name)); $body = str_replace("\n", "
", $body); $mybody = tag2html($body, "home"); // start writing the comment $string = get_file($newsfile); if(!stristr($string,"")) { // first comment $string = str_replace("","\t\n\t\t\n\t\t\t$myname\n\t\t\t".time()."\n\t\t\t".$mybody."\n\t\t\n\t\n",$string); } else { // there is one or more comment $string = str_replace("","\t\n\t\t\t$myname\n\t\t\t".time()."\n\t\t\t".$mybody."\n\t\t\n\t",$string); } // save news comment fnwrite($newsfile, $string, "w", array("nonull")); fnlog("News", $ip."||".$myforum."||Comment added to the news $id."); header("Location: index.php?mod=read&id=$id"); } /** * Visualizza una textarea per la modifica di un file * * Permette di modificare direttamente online il file passato come parametro, * tramite una comoda textarea che ne visualizza il contenuto. * * @author Simone Vellei * * @param string $filename Nome del file da modificare * @param string $editor l'editor da usare (attualmente solo "fckeditor") */ function edit_content($filename,$editor="html"){ if (file_exists("include/redefine/edit_content.php")){ include("include/redefine/edit_content.php"); return; } $filename=getparam($filename,PAR_NULL,SAN_FLAT); $from=getparam("from",PAR_GET,SAN_FLAT); $from=stripslashes($from); $editor = getparam($editor,PAR_NULL,SAN_FLAT); $editor= trim($editor); if(stristr($filename,"..") or !file_exists($filename)) { OpenTable(); print("
"._NORESULT."
"); CloseTable(); return; } OpenTableTitle(_MODIFICA." ".$filename); echo "
"; //Testo da modificare $text = get_unprotected_text(file_get_contents($filename)); // echo "EDITOR: $editor"; if ($editor=="fckeditor"){ if (file_exists("include/plugins/editors/FCKeditor/fckeditor.php")){ include("include/plugins/editors/FCKeditor/fckeditor.php"); $oFCKeditor = new FCKeditor('body') ; $oFCKeditor->BasePath = "include/plugins/editors/FCKeditor/" ; $oFCKeditor->Value= $text; $oFCKeditor->Width="100%"; $oFCKeditor->Height="800"; $oFCKeditor->ToolbarSet= "Default"; $oFCKeditor->Create() ; } else { echo ""; } } else { echo ""; } echo "

"; CloseTableTitle(); } /** * Visualizza una textarea per la modifica di un file da parte di un utente * * Permette di modificare direttamente online il file passato come parametro, * tramite una comoda textarea che ne visualizza il contenuto. * * @author Aldo Boccacci * * @param string $filename Nome del file da modificare * @param string $editor l'editor da usare (attualmente solo "fckeditor") */ function user_edit_content($filename,$editor="html"){ $filename=getparam($filename,PAR_NULL,SAN_FLAT); $from=getparam("from",PAR_GET,SAN_FLAT); $from=stripslashes($from); $editor = getparam($editor,PAR_NULL,SAN_FLAT); $editor= trim($editor); $username = get_username(); if (!check_path($filename,"sections/","true")) fn_die("USERMODCONT","Error: The path ".strip_tags($filename)." is not valid!",__FILE__,__LINE__); $mod = get_mod(); if (trim($mod)!="usermodcont") fn_die("USERMODCONT","Error: \$mod must be \"usermodcont\"",__FILE__,__LINE__); $sectmod = eregi_replace("sections\/","",dirname($filename)); if (!user_can_view_section($sectmod)) fn_die("USERMODCONT","Error: the user ".strip_tags($username)." cannot view the section ".strip_tags($sectmod)."",__FILE__,__LINE__); if (!user_can_edit_section($sectmod)) fn_die("USERMODCONT","Error: the user ".strip_tags($username)." cannot edit the section ".strip_tags($sectmod)."",__FILE__,__LINE__); //Testo da modificare $text = get_unprotected_text(file_get_contents($filename)); if (eregi("\<\?|\?\>",$text)) fn_die("USERMODCONT","Error, user".strip_tags($username)." cannot edit the section ".strip_tags($sectmod)." because contains php code",__FILE__,__LINE__); if(stristr($filename,"..") or !file_exists($filename)) { OpenTable(); print("
"._NORESULT."
"); CloseTable(); return; } OpenTableTitle(_MODIFICA." ".$filename); echo "
"; //Testo da modificare $text = get_unprotected_text(file_get_contents($filename)); // echo "EDITOR: $editor"; if ($editor=="fckeditor"){ if (file_exists("include/plugins/editors/FCKeditor/fckeditor.php")){ include("include/plugins/editors/FCKeditor/fckeditor.php"); $oFCKeditor = new FCKeditor('body') ; $oFCKeditor->BasePath = "include/plugins/editors/FCKeditor/" ; $oFCKeditor->Value= $text; $oFCKeditor->Width="100%"; $oFCKeditor->Height="800"; $oFCKeditor->ToolbarSet= "Default"; $oFCKeditor->Create() ; } else { echo ""; } } else { echo ""; } echo "

"; CloseTableTitle(); } /** * Effettua il parsing di un feed RSS esterno * * Legge il file di un feed RSS esterno al sito e ne genera una stampa * leggibile e ordinata con le notizie segnalate, completa di link * per raggiungerle sul sito di origine. * * @author Simone Vellei * * @param string $url Indirizzo del feed RSS * @return null|string Nulla se non trova il file, oppure il contenuto del feed RSS */ function parse_RSS($url){ $url=getparam($url,PAR_NULL,SAN_FLAT); if ($url != "") { if (!ereg("http://",$url)) { $url = "http://$url"; } $rdf = parse_url($url); $fp = fsockopen($rdf['host'], 80, $errno, $errstr, 15); if (!$fp) { print(_NORSS); return; } if ($fp) { @fputs($fp, "GET " . $rdf['path'] . "?" . $rdf['query'] . " HTTP/1.0\r\n"); @fputs($fp, "HOST: " . $rdf['host'] . "\r\n\r\n"); $string = ""; while(!feof($fp)) { $pagetext = fgets($fp,228); $string .= chop($pagetext); } fputs($fp,"Connection: close\r\n\r\n"); fclose($fp); $items = explode("",$string); $content = ""; $cont = 0; for ($i=0;$i","",$items[$i]); $link = ereg_replace(".*","",$link); $title2 = ereg_replace(".*","",$items[$i]); $title2 = ereg_replace(".*","",$title2); // some feeds are exposed with CDATA format $title2 = str_replace("","",trim($title2)); if ($items[$i] == "" AND $cont != 1) { $content = ""; } else { if (strcmp($link,$title2) AND $items[$i] != "") { $cont = 1; $content .= "· $title2
\n"; } } } } } return $content; } /** * Genera il feed RSS * * Genera il file /misc/backend.xml che contiene le news presenti in * homepage; il file XML e' strutturato per essere letto con un normale aggregator * RSS, ed e' compatibile con le {@link http://feedvalidator.org/docs/rss2.html specifiche RSS 2.0}. * * @author Simone Vellei * @author Marco Segato | 20050206: RSS 2.0 support */ function generate_RSS() { include "config.php"; switch($lang) { case "de" OR "es" OR "fr" OR "it" OR "pt": include_once ("languages/$lang.php"); break; default: include_once ("languages/en.php"); } $url = "http://".getparam("HTTP_HOST", PAR_SERVER, SAN_FLAT).getparam("PHP_SELF", PAR_SERVER, SAN_FLAT); $url = str_replace(basename($url),"",$url); // tag apertura del feed $body = "\n\n\t\n"; // informazioni generali sul feed $body .= "\t\t$sitename\n\t\t$url\n\t\t\n"; $body .= "\t\t$admin_mail\n\t\tFlatNuke RSS Generator - http://www.flatnuke.org\n"; $body .= "\t\t".date("D, d M Y H:i:s",time())." GMT\n"; // carico array con le news ordinate per data $handle = opendir('news'); $modlist = array(); while ($file = readdir($handle)) { if (!( $file=="." or $file=="..") and (!ereg("^\.",$file) and ($file!="CVS")) AND eregi("xml$",get_file_extension($file))) { array_push($modlist, $file); } } closedir($handle); if(count($modlist)>0) rsort($modlist); // creazione tag per ognuna delle news for ($i=0; $i < count($modlist); $i++) { if ($i>=$newspp) break; $string = get_file("news/$modlist[$i]"); $mytitle = get_xml_element("fn:title",$string); $mydesc = stripslashes(str_replace("
","
",get_xml_element("fn:header",$string))); $id = str_replace(".xml","",$modlist[$i]); $body .= "\t\t\n"; $body .= "\t\t\t$mytitle\n"; $body .= "\t\t\t$url"."index.php?mod=read&id=$id\n\t\t\t\n"; $body .= "\t\t\t".date("D, d M Y H:i:s",$id)." GMT\n"; $body .= "\t\t\n"; } // tag chiusura del feed $body.="\t
\n
"; // scrittura del feed fnwrite("misc/backend.xml", $body, "w", array("nonull")); } /** * Restituisce il livello di una sezione * * Restituisce il livello della sezione passata come parametro, leggendolo dal * file /section/nomesezione/level.php: * - -1 se non esiste il file level.php, la sezione sara' visibile da tutti; * - 0 per una sezione visibile solo da utenti registrati; * - da 1 a 9 per una sezione visibile solo da utenti di livello intermedio; * - 10 per una sezione visibile solo da utenti amministratore. * * @author Simone Vellei * * @param string $section Nome della sezione * @return int -1 se la sezione non ha livello, oppure un numero di livello da 0 a 10 */ function getsectlevel($section){ $section=getparam($section,PAR_NULL,SAN_FLAT); if(!file_exists("sections/$section/level.php")) return(-1); $fp=file("sections/$section/level.php"); return((int)str_replace("\n","",$fp[0])); } /** * Funzione alternativa a html_entity_decode() * * Rimpiazza la funzione nativa di PHP html_entity_decode() per gli utenti * che utilizzano una versione di PHP piu' vecchia della 4.3.0. * * @author Documentazione ufficiale PHP - {@link http://it.php.net/manual/en/function.html-entity-decode.php} * * @param string $string * @return string Una stringa che preserva i caratteri speciali HTML */ function unhtmlentities($string) { /*$trans_tbl = get_html_translation_table(HTML_ENTITIES); $trans_tbl = array_flip($trans_tbl); return strtr($string, $trans_tbl);*/ } /** * Genera un log di attivita' * * Aggiunge al file /misc/log/log.php una riga che contiene * la data e l'ora di produzione della segnalazione di log, la zona * di origine e una descrizione dell'attivita' effettuata. * * @author Simone Vellei * @since 2.5.4 * * @param string $zone Nome della sezione cui si riferisce il log * @param string $txt Testo del log da salvare */ function fnlog($zone, $txt){ $zone=getparam($zone,PAR_NULL,SAN_FLAT); $txt=getparam($txt,PAR_NULL,SAN_FLAT); if($zone == "Forum") { $pref="../"; $flog = $pref."misc/log"; } else { $pref =""; $flog = "misc/log"; } // prepare environment if not present if(!is_dir($flog)) mkdir($flog, 0777); // log rotate every 0.5 MB if(file_exists("$flog/log.php") AND (filesize("$flog/log.php") >= 524288)) { rename("$flog/log.php",$pref."misc/log/log-".time().".php"); $fp=fopen("$flog/log.php","a"); fwrite($fp, "\n"); fclose($fp); } // check file existance and write an empty file if(!file_exists("$flog/log.php")) { $fp=fopen("$flog/log.php","a"); fwrite($fp, "\n"); fclose($fp); } // write log file if (file_exists("$flog/log.php")){ $fp=fopen("$flog/log.php","a"); $string = date ("d/m/Y H:i:s"); $string = $string." $zone: $txt\n"; fwrite($fp,$string); fclose($fp); } } /** * Mostra le informazioni sul copyright di un modulo * * Crea un link da cui e' possibile visualizzare una finestra popup * con informazioni dettagliate sul copyright del modulo corrente. * * @author Simone Vellei * @since 2.5.4 * * @param string $modulo Nome del modulo installato * @param string $versione Versione del modulo installato * @param string $autore Nome dell'autore del modulo * @param string $email E-mail dell'autore del modulo * @param string $homepage Homepage dell'autore del modulo * @param string $licenza Licenza di rilascio del modulo */ function module_copyright($modulo, $versione, $autore, $email, $homepage, $licenza) { $modulo = getparam($modulo, PAR_NULL, SAN_FLAT); $versione = getparam($versione, PAR_NULL, SAN_FLAT); $autore = getparam($autore, PAR_NULL, SAN_FLAT); $email = getparam($email, PAR_NULL, SAN_FLAT); $email = email_mask($email); $homepage = getparam($homepage, PAR_NULL, SAN_FLAT); $licenza = getparam($licenza, PAR_NULL, SAN_FLAT); // preview link echo "

"; // preview box echo "
"; echo "

Copyright informations

Module developed for the Flatnuke CMS

"; echo "Module name: $modulo
Version: $versione
License: $licenza
"; echo "Author: $autore
E-mail: ".str_replace("%20"," ",$email)."
Home page: $homepage
"; echo "

Close

"; } /** * Gestione tag per codice html * * Rimpiazza i pseudo-tag ([b], [i], ecc) con i tag html) * * @author Simone Vellei * @author Marco Segato | 20050916: Unificato la funzione per l'uso nel sito e nel forum * @since 2.5.7 * * @param string $string Stringa da verificare * @param string $where Riferimento alla root per l'esecuzione del codice: 'home' per le news, 'forum' per il forum * @return string Codice HTML */ function tag2html($string, $where) { // verifico provenienza della chiamata e adatto i richiami alle directories $string=getparam($string,PAR_NULL,SAN_FLAT); $where=getparam($where,PAR_NULL,SAN_FLAT); $prepath="forum/"; // solo l'amministratore puo' usare codice HTML $myforum=getparam("myforum", PAR_COOKIE, SAN_FLAT); if(getlevel($myforum,$where) < 10) { $string = str_replace("<", "<", $string); $string = str_replace(">", ">", $string); } // formatting fixes $string = str_replace("<br/>", "
", $string); $string = str_replace("<br />", "
", $string); $string = str_replace("<br>", "
", $string); $string = str_replace("
", "
", $string); $string = str_replace("[", "[", $string); $string = str_replace("]", "]", $string); $string = str_replace("|", "", $string); // emoticons $string = str_replace("[:)]", ":)", $string); $string = str_replace("[:(]", ":(", $string); $string = str_replace("[:o]", ":o", $string); $string = str_replace("[:p]", ":p", $string); $string = str_replace("[:D]", ":D", $string); $string = str_replace("[:!]", ":!", $string); $string = str_replace("[:O]", ":O", $string); $string = str_replace("[8)]", "8)", $string); $string = str_replace("[;)]", ";)", $string); $string = str_replace("[rolleyes]", ":rolleyes:", $string); $string = str_replace("[neutral]", ":|", $string); $string = str_replace("[:x]", ":x", $string); $string = str_replace("[O:)]", "O:)", $string); $string = str_replace("[whistle]", "whistle", $string); $string = str_replace("[eh]", "whistle", $string); $string = str_replace("[evil]", ":evil:", $string); $string = str_replace("[idea]", ":idea:", $string); $string = str_replace("[bier]", ":bier:", $string); $string = str_replace("[flower]", ":flower:", $string); $string = str_replace("[sboing]", ":sboing:", $string); // formattazione testo $string = str_replace("\n", "
", $string); $string = str_replace("\r", "", $string); $string = str_replace("[b]", "", $string); $string = str_replace("[u]", "", $string); $string = str_replace("[/u]", "", $string); $string = str_replace("[/b]", "", $string); $string = str_replace("[i]", "", $string); $string = str_replace("[/i]", "", $string); $string = str_replace("[strike]","",$string); $string = str_replace("[/strike]","",$string); $string = preg_replace("/\[quote\=(.+?)\](.+?)\[\/quote\]/s",'
$1 '._HASCRITTO.':
$2
',$string); $string = str_replace("[quote]", "
", $string); $string = str_replace("[/quote]", "
", $string); $string = str_replace("[code]", "
", $string);
	$string = str_replace("[/code]", "
", $string); $string = preg_replace("/\[url\=(.+?)\](.+?)\[\/url\]/s",'$2',$string); if (is_guest()){ $string = eregi_replace("\[mail\].*\[\/mail\]","[e-mail]",$string); } else { $string = preg_replace("/\[mail\](.+?)\[\/mail\]/s",'$1',$string); } // solo l'amministratore puo' inserire immagini switch($where) { case "home": if(is_admin()) { $string = str_replace("[img]", "
\"uploaded_image\"
", $string); } break; case "forum": $string = str_replace("[img]", "
\"uploaded_image\"
", $string); break; } //posizione $string = str_replace("[left]", "
", $string); $string = str_replace("[right]", "
", $string); $string = str_replace("[center]", "
", $string); $string = str_replace("[justify]", "
", $string); $string = str_replace("[/left]", "
", $string); $string = str_replace("[/right]", "
", $string); $string = str_replace("[/center]", "
", $string); $string = str_replace("[/justify]", "
", $string); // colori del testo $string = str_replace("[red]", "", $string); $string = str_replace("[green]", "", $string); $string = str_replace("[blue]", "", $string); $string = str_replace("[pink]", "", $string); $string = str_replace("[yellow]", "", $string); $string = str_replace("[cyan]", "", $string); $string = str_replace("[/red]", "", $string); $string = str_replace("[/blue]", "", $string); $string = str_replace("[/green]", "", $string); $string = str_replace("[/pink]", "", $string); $string = str_replace("[/yellow]", "", $string); $string = str_replace("[/cyan]", "", $string); //dimensione $string = str_replace("[size=50%]", "", $string); $string = str_replace("[size=75%]", "", $string); $string = str_replace("[size=100%]", "", $string); $string = str_replace("[size=150%]", "", $string); $string = str_replace("[size=200%]", "", $string); $string = str_replace("[/size]", "", $string); //elenchi $string = str_replace("[ol]
", "
    ", $string); $string = str_replace("[ol]", "
      ", $string); $string = str_replace("[/ol]", "
    ", $string); $string = str_replace("[*]", "
  1. ", $string); //per risolvere il problema dell'"a capo" $string = eregi_replace("\[\/\*\]\
    ", "
  2. ", $string); $string = eregi_replace("\[\/\*\]\n", "", $string); $string = str_replace("[/*]", "", $string); $string = str_replace("[ul]
    ", "
      ", $string); $string = str_replace("[ul]", "
        ", $string); $string = str_replace("[/ul]", "
      ", $string); // WIKIPEDIA $items = explode("[/wp]",$string); for ($i = 0; $i < count($items); $i++) { $wp=""; if(stristr($items[$i],"[wp")){ $wp_lang = ereg_replace(".*\[wp lang=","",$items[$i]); $wp_lang = ereg_replace("\].*","",$wp_lang); $wp = ereg_replace(".*\[wp.*\]", "", $items[$i]); $wp = ereg_replace("\[/wp\].*", "", $wp); if ($wp != "") { $nuovowp="$wp"; $string=str_replace("[wp lang=$wp_lang]".$wp."[/wp]", $nuovowp, $string); } } } $items = ""; // URLs $items = explode("[/url]",$string); for ($i = 0; $i < count($items); $i++) { $url=""; if(stristr($items[$i],"[url]")){ $url = ereg_replace(".*\[url\]", "", $items[$i]); $url = ereg_replace("\[/url\].*", "", $url); if ($url != "") { if (stristr($url, "http://") == FALSE) { $nuovourl="$url"; } else { $nuovourl="$url"; } $string=str_replace("[url]".$url."[/url]", $nuovourl, $string); } } } return ($string); } /** * Crea il pannello dei pulsanti BBCODES * * Crea il pannello dei pulsanti BBCODES per inserire il testo corretto * nell'area di testo indicata come parametro. * * @author Simone Vellei * @author Marco Segato | 20050906: added parameter 'area' in JS function * @author Bjorn Splinter | 20050912: added variable 'prepath', changed some '' to "" to prevent IE script errors * @since 2.5.7 * * @param string $area Area di testo in cui inserire i BBCODES * @param string $where Riferimento alla root per l'esecuzione del codice: 'home' per le news, 'forum' per il forum * @param string $what 'formatting' per creare il pannello con i tasti di formattazione testo, 'emoticons' per le emoticons */ function bbcodes_panel($area, $where, $what) { $area = getparam($area,PAR_NULL,SAN_FLAT); $where = getparam($where,PAR_NULL,SAN_FLAT); $what = getparam($what,PAR_NULL,SAN_FLAT); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) $mod=""; global $lang; // verifico provenienza della chiamata e adatto i richiami alle directories switch($where) { case "home": $prepath = "forum/"; break; case "forum": $prepath = ""; break; } // stampo la parte di pannello selezionata switch($what) { case "emoticons": ?>Happy Triste sorpresa linguaccia risata indifferente sbalordito fighetto occhiolino rolleyes eh neutral mad angel evil idea bier whistle flower sboing bold italic underscore strike left center right justify quote code image mail url wikipedia
      red green blue pink yellow cyan olist ulist \"help\""; break; case "images": if (!is_admin()) return; if (!is_dir("sections/none_Images/")) return; $file = ""; $images = array(); $dir=""; $dir = opendir("sections/none_Images/"); while (($file = readdir($dir)) !== false) { if (eregi("\.png$|\.gif$|\.jpeg$|\.jpg$|\.bmp$",trim($file))) array_push($images, $file); } // print_r($images); if (count($images)>0){ ?>Carica delle immagini"; break; } } /** * Verifica se l'utente e' amministratore * * Funzione che verifica se l'utente che sta visualizzando la pagina e' * in possesso o meno delle credenziali di amministratore del sito. * * @author Aldo Boccacci * @since 2.5.8 * * @return boolean VERO o FALSO */ function is_admin(){ $myforum = getparam("myforum", PAR_COOKIE, SAN_FLAT); if ($myforum == "") { return FALSE; } if ((getlevel($myforum, "home"))=="10" AND versecid($myforum)) { return TRUE; } else return FALSE; } /** * Restituisce TRUE se il visitatore e' un utente regolarmente loggato * * Funzione che restituisce TRUE se il visitatore collegato al portale e' un utente regolarmente * registrato. Restituisce FALSE in caso contrario * * @author Aldo Boccacci * @since 2.5.8 * * @return TRUE se l'utente collegato e' un utente normale, FALSE se e' un ospite o un amministratore */ function is_user(){ $myforum = getparam("myforum", PAR_COOKIE, SAN_FLAT); if ($myforum == "") { return FALSE; } if (getlevel($myforum, "home")>"-1" AND getlevel($myforum, "home")<"10" AND versecid($myforum)) { return TRUE; } else return FALSE; } /** * Restituisce TRUE se l'utente collegato e' un ospite non loggato * * Questa funzione restituisce TRUE se il visitatore collegato al sito e' un semplice ospite. * Restituisce FALSE se si tratta di un utente o un amministratore regolarmente loggati. * * @author Aldo Boccacci * @since 2.5.8 * * @return TRUE se l'utente collegato e' un ospite, FALSE se e' un utente normale o un amministratore */ function is_guest(){ if (is_admin() or is_user()) return FALSE; else return TRUE; } /** * Restituisce lo username dell'utente collegato (se valido) * * Funzione che restituisce lo username dell'utente collegato al portale. (se valido e regolarmente loggato) * Se l'utente collegato e' in realta' un ospite o se non e' regolarmente loggato restituisce * una stringa vuota. * * @author Aldo Boccacci * @since 2.5.8 * * @return lo username dell'utente collegato */ function get_username(){ if (is_guest()) return ""; $myforum = getparam("myforum", PAR_COOKIE, SAN_FLAT); if (is_alphanumeric($myforum)) return $myforum; else return ""; } /** * Restistuisce TRUE se l'utente collegato puo' vedere la sezione specificata da $mod * * Questa funzione restituisce TRUE se l'utente collegato al portale ha i permessi per visualizzare la sezione * richiesta. * Indicando anche il secondo parametro si possono verificare i permessi di un determinato utente. * * @author Aldo Boccacci * @since 2.5.8 * * @param string $mod il mod della sezione di cui verificare i permessi di visione * @param string $user l'utente di cui verificare i permessi. Se non viene specificato questo parametro, * o se la stringa e' vuota si verifica l'utente attualmente collegato al portale * @return TRUE se l'utente puo' vedere la sezione, FALSE in caso contrario */ function user_can_view_section($mod,$user=""){ $mod = getparam($mod,PAR_NULL,SAN_FLAT); if (!check_path($mod,"","false")) return FALSE; if ($user==""){ $user = getparam("myforum", PAR_COOKIE, SAN_FLAT); } else $user = getparam($user,PAR_NULL,SAN_FLAT); if (!check_username($user) and trim($user)!="") return FALSE; if (!is_dir("sections/$mod")) return FALSE; $sectlevel = getsectlevel($mod); $userlevel = getlevel($user,"home"); if ($userlevel=="10") return TRUE; //sara' settata a true se viene rispettato il livello $level_ok = ""; //sara' settata true se viene rispettato il nome utente $user_ok =""; //se non esistono ne' il file view.php ne' il file level.php //e la funzione load_user_view_permissions() restituisce NULL //allora non esistono restrizioni alla visione e l'utente puo' visualizzare //la sezione indicata da $mod if (!file_exists("sections/$mod/view.php") and !file_exists("sections/$mod/level.php")) return true; //se il primo if restituisce false, ovvero se esistono restrizioni, allora devo //controllare i permessi a livello utente. //VERIFICARE BENE! //controllo il livello if (!file_exists("sections/$mod/level.php")) $level_ok = true; else if (file_exists("sections/$mod/level.php") and $userlevel >= $sectlevel and versecid(get_username())) $level_ok = true; else $level_ok = false; //controllo il permesso a livello utente if (!file_exists("sections/$mod/view.php")) $user_ok = true; else if (in_array($user,load_user_view_permissions($mod))) $user_ok = true; else $user_ok = false; //tiro le somme... if ($level_ok == true and $user_ok == true) return true; else return false; return false; } /** * Restistuisce TRUE se l'utente collegato puo' vedere la sezione specificata da $mod * * Questa funzione verifica se l'utente collegato ha i permessi di scrittura nella sezione * passata come parametro. * Indicando anche il secondo parametro si possono verificare i permessi di un determinato utente. * La funzione non controlla i permessi di scrittura sui file a livello di filesystem: questi andranno * controllati a parte. * * @author Aldo Boccacci * @since 2.5.8 * * @param string $mod il mod della sezione di cui verificare i permessi di scrittura * @param string $user l'utente di cui verificare i permessi. Se non viene specificato questo parametro, * o se la stringa e' vuota si verifica l'utente attualmente collegato al portale * @return TRUE se l'utente puo' modificare la sezione, FALSE in caso contrario * NOTA: attualmente restituisce TRUE soltanto se l'utente interessato e' un amministratore */ function user_can_edit_section($mod,$user=""){ $mod = getparam($mod,PAR_NULL,SAN_FLAT); if (!check_path($mod,"","false")) return FALSE; if ($user==""){ $user = get_username(); } // else $user = get_username(); if (!check_username($user)) return FALSE; if (!is_dir("sections/$mod")) return FALSE; if (is_admin()) return TRUE; if (!file_exists("sections/$mod/edit.php")) return FALSE; else if (in_array($user,load_user_edit_permissions($mod))) return TRUE; else return FALSE; return FALSE; } /** * Restituisce l'accesskey della sezione specificata * * Funzione che restituisce l'accesskey della sezione specificata come parametro. * L'accesskey deve essere un singolo carattere alfanumerico e deve essere specificato nel file * accesskey.php eventualmente presente nella sezione specificata. * * @author Aldo Boccacci * @since 2.5.8 * * @param string $mod il mod della sezione di cui restituire l'accesskey * @return l'accesskey della sezione specificata */ function get_access_key($mod){ $mod = getparam($mod,PAR_NULL,SAN_FLAT); if (!check_path($mod,"","false")) return ""; if (!is_dir("sections/$mod")) return ""; if (!file_exists("sections/$mod/accesskey.php")) return ""; $accesskey=""; $accesskey = trim(get_file("sections/$mod/accesskey.php")); if (strlen($accesskey)!=1) return ""; if (!is_alphanumeric($accesskey)) return ""; return $accesskey; } /** * carica il profilo dell'utente specificato * * Carica il profilo dell'utente specificato e restituisce un array con i dati. * La struttura dell'array restituito e': * $userprofile['password'] = la password codificata in md5 dell'utente * $userprofile['name'] = il nome scelto dal'utente * $userprofile['mail'] = l'indirizzo e-mail specificato * $userprofile['homepage'] = l'home page * $userprofile['work'] = il lavoro * $userprofile['from'] = la provenienza geografica * $userprofile['avatar'] = l'avatar scelto dall'utente * $userprofile['hiddenmail'] = se impostato a "1" (default) * nasconde la mail agli altri utenti (non agli amministratori) * $userprofile['regdate'] = la data di registrazione sul portale * $userprofile['regcode'] = il codice di registrazione generato dal portale per la registrazione via mail * $userprofile['regmail'] = la mail utilizzata per registrarsi sul portale * $userprofile['lastedit'] = la data di ultima modifica del profilo * $userprofile['lasteditby'] = l'utente che ha fatto l'ultima modifica al profilo * $userprofile['sign'] = la firma che sara' accodata ai messaggi * $userprofile['jabber'] = il nome-utente jabber * $userprofile['skype'] = il nome-utente skype * $userprofile['icq'] = il contatto icq * $userprofile['msn'] = il nome-utente msn * $userprofile['presentation'] = la presentazione dell'utente * $userprofile['level'] = il livello dell'utente * * @author Aldo Boccacci * @since 2.5.8 * * @param string $user il nome dell'utente di cui caricare il profilo * @return array $userprofile un array con i dati dell'utente */ function load_user_profile($user, $mail_activation=0){ $user = getparam($user,PAR_NULL, SAN_FLAT); $addr = getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); if (!is_alphanumeric($user)){ if (trim($user)=="") return NULL; fnlog("load_user_profile", "$addr||".get_username()."||Username not valid!"); return NULL; } if ($mail_activation!=0 and $mail_activation!=1) $mail_activation=0; if ($mail_activation==0){ $filetoload = get_fn_dir("users")."/$user.php"; } else if ($mail_activation==1){ $filetoload = get_waiting_users_dir()."/$user.php"; } else return NULL; $userprofile = array(); if (file_exists($filetoload)){ $xmltring = get_file($filetoload); //la password if (ctype_alnum(trim(get_xml_element("fn:password",$xmltring)))){ $userprofile['password'] = trim(get_xml_element("fn:password",$xmltring)); } else { fnlog("load_user_profile", "$addr||".get_username()."||MD5 password not valid!"); die("md5 password is not valid!"); } //il nome $userprofile['name'] = strip_tags(get_xml_element("fn:name",$xmltring)); //la mail $userprofile['mail'] = strip_tags(get_xml_element("fn:mail",$xmltring)); //home page $userprofile['homepage'] = strip_tags(get_xml_element("fn:homepage",$xmltring)); //lavoro $userprofile['work'] = strip_tags(get_xml_element("fn:work",$xmltring)); //provenienza $userprofile['from'] = strip_tags(get_xml_element("fn:from",$xmltring)); //avatar $userprofile['avatar'] = strip_tags(get_xml_element("fn:avatar",$xmltring)); //avatar $userprofile['hiddenmail'] = strip_tags(trim(get_xml_element("fn:hiddenmail",$xmltring))); if (!eregi("0|1",$userprofile['hiddenmail'])) $userprofile['hiddenmail'] = "1"; //regdate $userprofile['regdate'] = strip_tags(trim(get_xml_element("fn:regdate",$xmltring))); if (!check_var($userprofile['regdate'],"digit")) $userprofile['regdate'] = "0"; //regcode $userprofile['regcode'] = strip_tags(trim(get_xml_element("fn:regcode",$xmltring))); if (!check_var($userprofile['regcode'],"digit")) $userprofile['regcode'] = "0"; //la mail utilizzata per registrarsi $userprofile['regmail'] = strip_tags(get_xml_element("fn:regmail",$xmltring)); //lastedit $userprofile['lastedit'] = strip_tags(trim(get_xml_element("fn:lastedit",$xmltring))); if (!check_var($userprofile['lastedit'],"digit")) $userprofile['lastedit'] = "0"; //lasteditby $userprofile['lasteditby'] = strip_tags(trim(get_xml_element("fn:lasteditby",$xmltring))); if (!is_alphanumeric($userprofile['lasteditby'])) $userprofile['lasteditby'] = ""; //firma (ora bbcode) $userprofile['sign'] = strip_tags(stripslashes(get_xml_element("fn:sign",$xmltring))); //jabber $userprofile['jabber'] = strip_tags(get_xml_element("fn:jabber",$xmltring)); //skype $userprofile['skype'] = strip_tags(get_xml_element("fn:skype",$xmltring)); //icq $userprofile['icq'] = strip_tags(get_xml_element("fn:icq",$xmltring)); //msn $userprofile['msn'] = strip_tags(get_xml_element("fn:msn",$xmltring)); //presentazione utente $presentation = trim(get_xml_element("fn:presentation",$xmltring)); $presentation = strip_tags($presentation); if (strlen($presentation)<500) { $presentation = str_replace("[img]","",$presentation); $presentation = str_replace("[/img]","",$presentation); $userprofile['presentation']=$presentation; } else $userprofile['presentation']=""; //livello $check_level = trim(get_xml_element("fn:level",$xmltring)); if (ctype_digit($check_level) and ($check_level>=0) and ($check_level<=10)){ $userprofile['level'] = strip_tags(get_xml_element("fn:level",$xmltring)); } else $userprofile['level'] = "-1"; } else return NULL; return $userprofile; } /** * Salva il profilo dell'utente indicato con i dati passati * * L'array ha la seguente struttura: * $data['password'] = password; * $data['name'] = nome; * $data['mail'] = mail; * $data['homepage'] = url del sito web; * $data['work'] = lavoro; * $data['from'] = provenienza; * $data['avatar'] = avatar; * $data['hiddenmail'] = se impostato a "1" (default) * nasconde la mail agli altri utenti (non agli amministratori) * $data['regdate'] = la data di registrazione sul portale * $data['regcode'] = il codice di registrazione generato dal portale per la registrazione via mail * $data['regmail'] = la mail utilizzata per registrarsi sul portale * $data['lastedit'] = la data di ultima modifica del profilo * $data['lasteditby'] = l'utente che ha fatto l'ultima modifica al profilo * $data['sign'] = firma; * $data['jabber'] = il nome-utente jabber * $data['skype'] = il nome-utente skype * $data['icq'] = il contatto icq * $data['msn'] = il nome-utente msn * $data['presentation'] = la presentazione dell'utente * $data['level'] = livello; * * @author Aldo Boccacci * @since 2.6 * * @param string $user l'utente di cui salvare il profilo * @param array $data_array l'array contenente i dati dell'utente */ function save_user_profile($user, $data_array,$mail_activation=0){ $user = getparam($user,PAR_NULL, SAN_FLAT); if ($mail_activation!=0 and $mail_activation!=1) $mail_activation=0; //per salvare il log $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); if (!is_alphanumeric($user)){ fnlog("save_user_profile", "$addr||".get_username()."||Username not valid!"); die("username is not valid!"); } if (!is_array($data_array)){ fnlog("save_user_profile", "$addr||".get_username()."||The second argument must be an array!"); die("the second argoment of the function save_user_profile is not valid!"); } if (!is_dir(get_fn_dir("users"))){ mkdir(get_fn_dir("users"),0777); } //controllo tutti i parametri $clean_data = array(); //password if (isset($data_array['password'])){ if (ctype_alnum(trim($data_array['password']))){ $clean_data['password'] = trim($data_array['password']); } else { fnlog("save_user_profile", "$addr||".get_username()."||The password isn't valid!"); // echo "password: ".$data_array['password']; die("the password passed to the function save_user_profile is not valid!"); } } else { fnlog("save_user_profile", "$addr||".get_username()."||The password isn't set!"); die("the password passed to the function save_user_profile is not set!"); } //nome if (isset($data_array['name'])){ if (strlen($data_array['name'])>30) $data_array['name'] = substr($data_array['name'],0,31); $clean_data['name'] = strip_tags(fnsanitize($data_array['name'])); $clean_data['name'] = str_replace("\n","",$clean_data['name']); $clean_data['name'] = str_replace("\r","",$clean_data['name']); if (is_spam($clean_data['name'],"words")){ echo ""._FNOME." "._ISSPAM; echo ""; die(); } } else $clean_data['name'] = ""; //mail if (isset($data_array['mail'])){ $clean_data['mail'] = strip_tags(fnsanitize($data_array['mail'])); $clean_data['mail'] = str_replace("\n","",$clean_data['mail']); $clean_data['mail'] = str_replace("\r","",$clean_data['mail']); //Spam check if (is_spam($clean_data['mail'],"emails")){ echo ""._FEMAIL." "._ISSPAM; echo ""; die(); } } else $clean_data['mail'] = ""; //mail if (isset($data_array['regmail'])){ $clean_data['regmail'] = strip_tags(fnsanitize($data_array['regmail'])); $clean_data['regmail'] = str_replace("\n","",$clean_data['regmail']); $clean_data['regmail'] = str_replace("\r","",$clean_data['regmail']); //Spam check if (is_spam($clean_data['regmail'],"emails")){ echo ""._FEMAIL." "._ISSPAM; echo ""; die(); } } else $clean_data['regmail'] = ""; //homepage if (isset($data_array['homepage'])){ if (strlen($data_array['homepage'])>50) $data_array['homepage'] = substr($data_array['homepage'],0,51); $clean_data['homepage'] = strip_tags(fnsanitize($data_array['homepage'])); //Spam check if (is_spam($clean_data['homepage'],"words")){ echo ""._FHOME." "._ISSPAM; echo ""; die(); } } else $clean_data['homepage'] = ""; //work if (isset($data_array['work'])){ if (strlen($data_array['work'])>40) $data_array['work'] = substr($data_array['work'],0,41); $clean_data['work'] = strip_tags(fnsanitize($data_array['work'])); $clean_data['work'] = str_replace("\n","",$clean_data['work']); $clean_data['work'] = str_replace("\r","",$clean_data['work']); //Spam check if (is_spam($clean_data['work'],"words")){ echo ""._FPROFES." "._ISSPAM; echo ""; die(); } } else $clean_data['work'] = ""; //from if (isset($data_array['from'])){ if (strlen($data_array['from'])>40) $data_array['from'] = substr($data_array['from'],0,41); $clean_data['from'] = strip_tags(fnsanitize($data_array['from'])); $clean_data['from'] = str_replace("\n","",$clean_data['from']); $clean_data['from'] = str_replace("\r","",$clean_data['from']); //Spam check if (is_spam($clean_data['from'],"words")){ echo ""._FPROV." "._ISSPAM; echo ""; die(); } } else $clean_data['from'] = ""; //avatar if (isset($data_array['avatar'])){ if (eregi("jpg$|jpeg$|png$|gif$",get_file_extension($data_array['avatar']))){ $clean_data['avatar'] = strip_tags(fnsanitize($data_array['avatar'])); $clean_data['avatar'] = str_replace("\n","",$clean_data['avatar']); $clean_data['avatar'] = str_replace("\r","",$clean_data['avatar']); //Spam check if (is_spam($clean_data['avatar'],"words")){ echo ""._FAVAT." "._ISSPAM; echo ""; die(); } } else $clean_data['avatar'] = "images/blank.png"; } else $clean_data['avatar'] = "images/blank.png"; if (isset($data_array['hiddenmail'])){ if (eregi("0|1",strip_tags(trim($data_array['hiddenmail'])))) $clean_data['hiddenmail'] = strip_tags(trim($data_array['hiddenmail'])); else $clean_data['hiddenmail'] = 1; } else $clean_data['hiddenmail'] = 1; //regdate if (isset($data_array['regdate'])){ if (check_var(trim($data_array['regdate']),"digit")){ $clean_data['regdate'] = strip_tags(trim($data_array['regdate'])); } else $clean_data['regdate'] = "0"; } else $clean_data['regdate'] = "0"; //regdate if (isset($data_array['regcode'])){ if (check_var(trim($data_array['regcode']),"digit")){ $clean_data['regcode'] = strip_tags(trim($data_array['regcode'])); } else $clean_data['regcode'] = "0"; } else $clean_data['regcode'] = "0"; //lastedit if (isset($data_array['lastedit'])){ if (check_var(trim($data_array['lastedit']),"digit")){ $clean_data['lastedit'] = strip_tags(trim($data_array['lastedit'])); } else $clean_data['lastedit'] = "0"; } else $clean_data['lastedit'] = "0"; //lasteditby if (isset($data_array['lasteditby'])){ if (is_alphanumeric(trim($data_array['lasteditby']))){ $clean_data['lasteditby'] = strip_tags(trim($data_array['lasteditby'])); } else $clean_data['lasteditby'] = ""; } else $clean_data['lasteditby'] = ""; //sign if (isset($data_array['sign'])){ if (strlen($data_array['sign'])>120) $data_array['sign'] = substr($data_array['sign'],0,121); $clean_data['sign'] = strip_tags($data_array['sign']); //Spam check if (is_spam($clean_data['sign'],"words")){ echo ""._FFIRMA." "._ISSPAM; echo ""; die(); } } else $clean_data['sign'] = ""; //jabber if (isset($data_array['jabber'])){ if (strlen($data_array['jabber'])<30){ $clean_data['jabber'] = trim(strip_tags($data_array['jabber'])); } else $clean_data['jabber'] = ""; } else $clean_data['jabber'] = ""; //skype if (isset($data_array['skype'])){ if (6"._FNPRESENTATION."
      "._ISSPAM; echo ""; die(); } } else $clean_data['presentation']=""; } else $clean_data['presentation']=""; //level if (isset($data_array['level'])){ $data_array['level'] = trim($data_array['level']); if (ctype_digit($data_array['level']) and ($data_array['level']>=0) and ($data_array['level']<=10)){ $clean_data['level'] = strip_tags(fnsanitize($data_array['level'])); } else $clean_data['level'] = "0"; } else $clean_data['level'] = "0"; // echo "nome:".$clean_data['name']; //ora scrivo tutto $xmlstring = " ".$clean_data['password']." ".$clean_data['name']." ".$clean_data['mail']." ".$clean_data['hiddenmail']." ".$clean_data['homepage']." ".$clean_data['work']." ".$clean_data['from']." ".$clean_data['avatar']." ".$clean_data['regdate']." ".$clean_data['regcode']." ".$clean_data['regmail']." ".$clean_data['lastedit']." ".$clean_data['lasteditby']." ".$clean_data['sign']." ".$clean_data['jabber']." ".$clean_data['skype']." ".$clean_data['icq']." ".$clean_data['msn']." ".$clean_data['presentation']." ".$clean_data['level']." "; if (eregi("\<\?",$xmlstring) or eregi("\?\>",$xmlstring)){ fnlog("save_user_profile", "$addr||".get_username()."||The xml profile cannot contains php tags!"); die("data passed to the function save_user_profile contains php tags!"); } //se e' prevista l'attivazione via mail salvo il tutto nella cartella dedicata if ($mail_activation==1) $userfile = fopen(get_waiting_users_dir()."/$user.php","w"); else $userfile = fopen(get_fn_dir("users")."/$user.php","w"); if (fwrite($userfile,"\n\n$xmlstring")){ fnlog("save_user_profile", "$addr||".get_username()."||Saved profile of the user $user"); } fclose($userfile); } /** * Restituisce un array con alcuni link utili alle news * * Restituisce un array contenente alcuni link che possono essere utilizzati * per accedere alle funzioni di gestione delle news. * La struttura dell'array restituito e': * $ret_strings['news_infos'] = data di pubblicazione della news e numero di letture * $ret_strings['link_read'] = link per leggere la news completa * $ret_strings['link_comment'] = link per commentare la news * $ret_strings['link_print'] = link per stampare la news * $ret_strings['link_modify'] = link per modificare la news (solo amministratori) * $ret_strings['link_delete'] = link per eliminare la news (solo amministratori) * * @author Simone Vellei * @since 2.6 * * @param string $news l'indirizzo assoluto della news da processare * @return array un array con dati/link per la news */ function get_news_link_array($news){ $news = getparam($news,PAR_NULL,SAN_FLAT); global $theme, $giorni, $mesi, $fuso_orario; // publishing date $ret_strings['news_infos'] = _POSTATO.$giorni[date("w",$news+(3600*$fuso_orario))].date(" d ",$news+(3600*$fuso_orario)); $tmp = date("m", $news+(3600*$fuso_orario)); if($tmp<10) $tmp = str_replace("0","",$tmp); $ret_strings['news_infos'] .= $mesi[$tmp - 1]; $ret_strings['news_infos'] .= date(" Y - ",$news+(3600*$fuso_orario)).date("H:",$news+(3600*$fuso_orario)).date("i",$news+(3600*$fuso_orario)); // times read $string = get_file("news/$news.xml"); $tmp = ereg_replace(".*","",$string); $tmp = ereg_replace(".*","",$tmp); $ret_strings['news_infos'] .= " ("._LETTO." $tmp "._VOLTE.")"; // news title $title = get_xml_element("fn:title",$string); $title = eregi_replace("\"",""",$title); // accesskey $newsarray = array(); $handle = opendir('news'); while ($file = readdir($handle)) { if (!( $file=="." or $file==".." ) and (!ereg("^\.",$file)and ($file!="CVS")) AND eregi("xml$",get_file_extension($file))) { $file = eregi_replace("news/","",$file); array_push($newsarray, eregi_replace(".xml","",$file)); } } closedir($handle); if(count($newsarray)>0) arsort($newsarray); $keyarray = array(); $accesscounter = 1; foreach ($newsarray as $newsfile){ $keyarray[$newsfile] = $accesscounter; $accesscounter++; } // link to read the full news $ret_strings['link_read'] = "Read "; $ret_strings['link_read'] .= "0 AND $keyarray[$news]<10) $ret_strings['link_read'] .= " accesskey='".$keyarray[$news]."'"; $ret_strings['link_read'] .= ">"._LEGGITUTTO.""; // link to comment the news $ret_strings['link_comment'] = "Comment "; $ret_strings['link_comment'] .= ""; $commenti = count_comment($news); if($commenti == 0) $ret_strings['link_comment'] .= _COMMENTI."?"; else $ret_strings['link_comment'] .= _COMMENTI." ($commenti)"; // link to print the news $ret_strings['link_print'] = "Print "; $ret_strings['link_print'] .= ""._STAMPA.""; if(is_admin()) { // link to modify the news $ret_strings['link_modify'] = "Modify "; $ret_strings['link_modify'] .= ""._MODIFICA.""; // link to delete the news $ret_strings['link_delete'] = "Delete "; $ret_strings['link_delete'] .= ""._ELIMINA.""; } return($ret_strings); } /** * Restituisce un array con i componenti del footer * * Restituisce un array contenente alcuni link e stringhe che possono essere * utilizzati per stampare il footer del sito. * La struttura dell'array restituito e': * $ret_strings['img_fn'] = immagine con link al sito di Flatnuke * $ret_strings['img_w3c'] = immagine con link al sito di validazione HTML * $ret_strings['img_css'] = immagine con link al sito di validazione CSS * $ret_strings['img_rss'] = immagine con link al file RSS * $ret_strings['img_mail'] = immagine con link alla mail dell'amministratore * $ret_strings['legal'] = nota legale * $ret_strings['time'] = tempo di generazione della pagina * * @author Simone Vellei * @since 2.6 * * @return array un array con dati/link per il footer */ function get_footer_array(){ global $time1, $admin_mail, $admin, $theme; if(file_exists("themes/$theme/images/validate/flatnuke_powered.png")){ $img_fn = "themes/$theme/images/validate/flatnuke_powered.png"; } else $img_fn = "images/validate/flatnuke_powered.png"; if(file_exists("themes/$theme/images/validate/valid_html401.png")){ $img_w3c = "themes/$theme/images/validate/valid_html401.png"; } else $img_w3c = "images/validate/valid_html401.png"; if(file_exists("themes/$theme/images/validate/valid_css.png")){ $img_css = "themes/$theme/images/validate/valid_css.png"; } else $img_css = "images/validate/valid_css.png"; if(file_exists("themes/$theme/images/validate/rss20_powered.png")){ $img_rss = "themes/$theme/images/validate/rss20_powered.png"; } else $img_rss = "images/validate/rss20_powered.png"; if(file_exists("themes/$theme/images/validate/email.png")){ $img_mail = "themes/$theme/images/validate/email.png"; } else $img_mail = "images/validate/email.png"; $ret_strings['img_fn'] = ""; $ret_strings['img_fn'] .= "\"FlatNuke\""; $ret_strings['img_w3c'] = ""; $ret_strings['img_w3c'] .= "\"Valid"; $ret_strings['img_css'] = ""; $ret_strings['img_css'] .= "\"Valid"; $ret_strings['img_rss'] = ""; $ret_strings['img_rss'] .= "\"Get"; $ret_strings['img_mail'] = ""; $ret_strings['img_mail'] .= "\"Mail"; $ret_strings['legal'] = _LEGAL; $time2 = get_microtime(); $ret_strings['time'] = "Page generated in ".sprintf("%.4f", abs($time2 - $time1))." seconds."; return $ret_strings; } /** * Stampa la lista delle sottosezioni della sezione visualizzata * * Stampa la lista formattata in una cornice delle sottosezioni della sezione corrente * * @param string $mod la sezione di cui stampare l'indice * @author Aldo Boccacci (dal codice inserito in view_section()) * @since 2.6.1 */ function print_subsections($mod){ if (file_exists("include/redefine/print_subsections.php")){ include("include/redefine/print_subsections.php"); return; } $section = getparam($mod,PAR_NULL,SAN_FLAT); if (!check_path($mod,"","false")) return; global $theme; // Build the list of sub-sections and the list of files $modlist = array(); $fileslist = array(); $handle = opendir('sections/'.$section); while ($tmpfile = readdir($handle)) { if(!stristr($tmpfile,"none_")){ if ( (!ereg("[.]",$tmpfile)) and is_dir("sections/".$section."/".$tmpfile)) { if (!user_can_view_section("$section/$tmpfile")) continue; if ($tmpfile=="CVS") continue; array_push($modlist, $tmpfile); } if ( (!ereg("^\.",$tmpfile)) and eregi("\.txt$|\.htm$|\.html$",trim($tmpfile))) { array_push($fileslist, $tmpfile); } } } closedir($handle); if(count($modlist)>0 OR count($fileslist)>0) { if(count($modlist)>0) sort($modlist); if(count($fileslist)>0) sort($fileslist); OpenTable(); // print subsections for ($i=0; $i < sizeof($modlist); $i++) { if(stristr($modlist[$i],"_")){ $tmp = eregi_replace("^[0-9]*_","",$modlist[$i]); $tmp = str_replace("_"," ",$tmp); } // compatibility with old Flatnuke versions... else $tmp = $modlist[$i]; // Find the image that identifies the current subsection; if not found, takes the default one by the theme if(file_exists("sections/$section/$modlist[$i]/section.png")) { $subsection_image = "sections/$section/$modlist[$i]/section.png"; } else $subsection_image = "themes/$theme/images/subsection.png"; // print link echo "Subsection $tmp
      "; } // print files for ($i=0;$i "; } else if (eregi("\.txt$",$fileslist[$i])){ echo "\"-\" "; } echo "".$fileslist[$i]."
      "; } CloseTable(); echo "
      "; } } /** * Restituisce un array con i nomi di tutti gli utenti registrati sul portale indipendentemente dal livello * * @return un array contenente i nomi degli utenti registrati sul portale * @author Aldo Boccacci * @since 2.7 * */ function list_users(){ $files = array(); $users= array(); $files = glob(get_fn_dir("users")."/*.php"); for ($count=0;$count\n"; } $string .= ""; if (eregi("\<\?",$string) or eregi("\?\>",$string)) die(_NONPUOI); fnwrite("sections/$mod/edit.php","\n".$string,"w",array("nonull")); fnlog("Section manage","$addr||".get_username()."||Save edit permission for section ".strip_tags($mod)); } /** * Salva la lista degli utenti autorizzati a visualizzare una sezione * * @param string $mod la sezione di cui salvare i permessi * @param array $users l'elenco degli utenti autorizzati a visualizzare la sezione * @return una array contenente i nomi degli utenti che possono visualizzare la sezione */ function save_user_view_permissions($mod,$users){ if (!is_admin()) return; $mod = getparam($mod,PAR_NULL,SAN_FLAT); $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); if (!check_path($mod,"","false")) die(); if (!is_array($users)) die("\$users must be an array!"); if (!is_dir("sections/$mod")) return NULL; if (!is_writable("sections/$mod/")){ die(_THEDIR." sections/$mod/"._NOTWRITEBLE); } $checkedusers = array(); $cu =0; for ($cu;$cu\n"; } $string .= ""; if (eregi("\<\?",$string) or eregi("\?\>",$string)) die(_NONPUOI); fnwrite("sections/$mod/view.php","\n".$string,"w",array("nonull")); fnlog("Section manage","$addr||".get_username()."||Save edit permission for section ".strip_tags($mod)); } /** * Restituisce il percorso della cartella che contiene i profili in attesa di validazione via mail * e nel caso non esista la crea al volo. * * @author Aldo Boccacci * @since 2.7 * @return il percorso della cartella contenente i profili degli utenti in attesa di validazione */ function get_waiting_users_dir(){ if (!is_dir(get_fn_dir("users"))){ mkdir(get_fn_dir("users"),0777); } if (!file_exists(get_fn_dir("users")."/index.html")){ fnwrite(get_fn_dir("users")."/index.html"," ","w",array("nonull")); } if (file_exists(get_fn_dir("var")."/waitingusersdir.php")){ $code = get_xml_element("fn:waitingusersdir",get_file(get_fn_dir("var")."/waitingusersdir.php")); if (check_var($code,"digit")){ //se non esiste la cartella la creo if (!file_exists(get_fn_dir("users")."/$code")) mkdir(get_fn_dir("users")."/$code",0777); //creo anche il file index.html per evitare di far vedere i file contenuti if (!file_exists(get_fn_dir("users")."/$code/index.html")){ fnwrite(get_fn_dir("users")."/$code/index.html"," ","w",array()); } return get_fn_dir("users")."/$code/"; } else return FALSE; } else { //se non esite il file misc/waitingusersdir.php lo creo assieme alla cartella associata $random = mt_rand(0,9999999999); if (!file_exists(get_fn_dir("users")."/$random")){ mkdir(get_fn_dir("users")."/$random",0777); fnwrite(get_fn_dir("users")."/index.html"," ","w",array()); fnwrite(get_fn_dir("var")."/waitingusersdir.php"," $random","w",array("nonull")); } if (!file_exists(get_fn_dir("users")."/$random/index.html")){ fnwrite(get_fn_dir("users")."/$random/index.html"," ","w",array("nonull")); } return get_fn_dir("users")."/$random/"; } } /** * Elenco email degli utenti registrati * * La funzione restituisce un array con l'elenco * delle email di tutti gli utenti registrati. * * @author Marco Segato * @since 2.7.1 * * @return array Elenco delle email */ function list_users_emails(){ $emails = array(); $users = list_users(); for ($count=0;$count"._FNRENAMESECTION.":"; echo "
      "; echo ""; echo ""; echo ""; echo "

      "; echo "
      "; } /** * Funzione che permette di rinominare una sezione * @author Aldo Boccacci * @since 2.7 */ function rename_section(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $fnsectpath = getparam("fnsectpath",PAR_POST,SAN_FLAT); $fnoldsectname = getparam("fnoldsectname",PAR_POST,SAN_FLAT); $fnnewsectname = getparam("fnnewsectname",PAR_POST,SAN_FLAT); $fnnewsectname = eregi_replace(" ","_",$fnnewsectname); if (!check_path($fnsectpath,"","false")) fn_die("RENAMESECTION","\$fnsectpath is not valid!",__FILE__,__LINE__); if (!check_path($fnoldsectname,"","false")) fn_die("RENAMESECTION","\$fnoldsectname is not valid!",__FILE__,__LINE__); if (!check_path($fnnewsectname,"","false")) fn_die("RENAMESECTION","\$fnnewsectname is not valid!",__FILE__,__LINE__); if (!is_dir(get_fn_dir("sections")."/$fnsectpath/$fnoldsectname")){ echo "
      "._THEDIR." $fnsectpath/$fnoldsectname "._DOESNTEXISTS."!"; echo "
      << "._INDIETRO.""; return; } if (!is_writable(get_fn_dir("sections")."/$fnsectpath/$fnoldsectname")){ echo _FIG_ALERTNOTWR.": ".strip_tags("$fnsectpath/$fnoldsectname"); echo "
      << "._INDIETRO.""; return; } if (is_dir(get_fn_dir("sections")."/$fnsectpath/$fnnewsectname")){ echo "
      "._THEDIR." $fnsectpath/$fnnewsectname "._ALREADYEXISTS."!"; echo "
      << "._INDIETRO."
      "; return; } if (rename(get_fn_dir("sections")."/$fnsectpath/$fnoldsectname",get_fn_dir("sections")."/$fnsectpath/$fnnewsectname")){ echo "
      "._FNSECTIONRENAMED.""; echo "
      "._GOTOSECTION." $fnnewsectname
      "; fnlog("Section manage","$addr||".get_username()."||Section ".strip_tags($fnoldsectname)." renamed in ".strip_tags($fnnewsectname)); } } /** * Interfaccia che permette di creare una sezione * * @param string $mod il mod della sezione nella quale creare una sottosezione * @author Aldo Boccacci * @since 2.7 */ function create_sect_interface($mod){ if (!is_admin()) die(); if (!check_path($mod,"","false")) fndie("\$mod is not valid!",__FILE__,__LINE__); $sectname = ""; $sectname = basename($mod); echo ""._FNCREATESUBSECTION.":"; echo "
      "; echo ""; echo ""; echo "

      "; echo ""._SECTIONTYPE." "; echo "

      "; echo ""; echo "
      "; } /** * Interfaccia che permette di creare una sezione * * @author Aldo Boccacci * @since 2.7 */ function create_section(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $fnsectpath = getparam("fnsectpath",PAR_POST,SAN_FLAT); $fnnewsectname = getparam("fnnewsectname",PAR_POST,SAN_FLAT); $fnnewsectname = eregi_replace(" ","_",$fnnewsectname); $fnsecttype = getparam("fnsecttype",PAR_POST,SAN_FLAT); if (!check_path($fnsectpath,"","false")) fn_die("RENAMESECTION","\$fnsectpath is not valid!",__FILE__,__LINE__); if (!check_path($fnnewsectname,"","false")) fn_die("RENAMESECTION","\$fnnewsectname is not valid!",__FILE__,__LINE__); if (!is_writable(get_fn_dir("sections")."/$fnsectpath")){ echo _FIG_ALERTNOTWR.": ".strip_tags($fnsectpath); echo "
      << "._INDIETRO.""; return; } if (!is_dir(get_fn_dir("sections")."/$fnsectpath")){ echo _THEDIR." $fnsectpath "._DOESNTEXISTS."!"; echo "
      << "._INDIETRO.""; return; } if (mkdir(get_fn_dir("sections")."/$fnsectpath/$fnnewsectname",0777)){ fnwrite(get_fn_dir("sections")."/$fnsectpath/$fnnewsectname/section.php"," ","w",array()); echo "
      "._FNSECTIONCREATED.""; echo "
      "._GOTOSECTION." $fnnewsectname
      "; fnlog("Section manage","$addr||".get_username()."||Section created: ".strip_tags("$fnsectpath/$fnnewsectname")); if ($fnsecttype=="forum"){ set_section_type("$fnsectpath/$fnnewsectname","forum"); } else if ($fnsecttype=="gallery"){ set_section_type("$fnsectpath/$fnnewsectname","gallery"); } else if ($fnsecttype=="download"){ set_section_type("$fnsectpath/$fnnewsectname","download"); } else if ($fnsecttype=="downloadsection"){ set_section_type("$fnsectpath/$fnnewsectname","downloadsection"); } } else { echo "I was not able to create the section: ".strip_tags("$fnsectpath/$fnnewsectname"); } } /** * Interfaccia per confermare l'eliminazione della sezione * (solo amministratori) * * @param string $mod il $mod della sezione da eliminare * @author Aldo Boccacci * @since 2.7 */ function delete_sect_interface($mod){ if (!is_admin()) die(); $mod = getparam($mod,PAR_NULL,SAN_FLAT); if (!check_path($mod,"","false")) fndie("\$mod is not valid!",__FILE__,__LINE__); echo _FNDELETESECTION.": $mod

      "; echo "
      "; echo ""; echo " "; echo "
      "; } /** * Funzione che si occupa di eliminare una sezione * * @author Aldo Boccacci * @since 2.7 */ function delete_section(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $fnsectpath = getparam("fnsectpath",PAR_POST,SAN_FLAT); $updir = dirname($fnsectpath); if (!is_dir(get_fn_dir("sections")."/$updir")){ echo _THEDIR." $updir "._DOESNTEXISTS."!"; echo "
      << "._INDIETRO.""; return; } if (!is_writable(get_fn_dir("sections")."/$updir")){ echo _FIG_ALERTNOTWR.": ".strip_tags($updir); echo "
      << "._INDIETRO.""; return; } $subdirs = array(); $handle = opendir("sections/$fnsectpath"); while ($tmpfile = readdir($handle)) { if (!( $tmpfile=="." or $tmpfile==".." ) and is_dir("sections/$fnsectpath/$tmpfile")) { array_push($subdirs, $tmpfile); } } closedir($handle); if (count($subdirs)!=0){ echo "The dir $fnsectpath isn't empty!"; return; } if (rmdirr("sections/$fnsectpath")){ echo "
      "._FNSECTIONDELETED.""; echo "

      "._GOTOSECTION." $updir
      "; fnlog("Section manage","$addr||".get_username()."||Deleted dir $fnsectpath"); } else { echo "It was not possible to delete the dir $fnsectpath"; fnlog("Section manage","$addr||".get_username()."||Error deleting dir $fnsectpath"); } } /** * Interfaccia per creare nuovi file nelle sezioni * * @param string $mod la sezione nella quale creare il file * @author Aldo Boccacci * @since 2.7 */ function create_file_interface($mod){ if (!is_admin()) die(); if (!check_path($mod,"","false")) fndie("\$mod is not valid!",__FILE__,__LINE__); $sectname = ""; $sectname = basename($mod); echo ""._FNCREATEFILE.":
      "; echo "
      "; echo ""; echo ""; echo ".

      "; echo "
      "; } /** * Funzione per creare nuovi file nelle sezioni * * @author Aldo Boccacci * @since 2.7 */ function create_file(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $fnsectpath = getparam("fnsectpath",PAR_POST,SAN_FLAT); $fnnewfilename = getparam("fnnewfilename",PAR_POST,SAN_FLAT); $fnnewfilename = eregi_replace(" ","_",$fnnewfilename); $fnfileext = trim(getparam("fnfileext",PAR_POST,SAN_FLAT)); if (!eregi("^html$|^html$|^txt$|^php$",$fnfileext)) $fnfileext = "html"; $fnnewfilename = "$fnnewfilename.$fnfileext"; if (!check_path($fnsectpath,"","false")) fn_die("NEWFILE","\$fnsectpath is not valid!",__FILE__,__LINE__); if (!check_path($fnnewfilename,"","true")) fn_die("NEWFILE","\$fnnewfilename is not valid!",__FILE__,__LINE__); if (!is_writable(get_fn_dir("sections")."/$fnsectpath")){ echo _FIG_ALERTNOTWR.": ".strip_tags($fnsectpath); echo "
      << "._INDIETRO.""; return; } if (file_exists(get_fn_dir("sections")."/$fnsectpath/$fnnewfilename")){ echo _ERROR.": "._THEFILE." $fnnewfilename "._ALREADYEXISTS; echo "
      << "._INDIETRO.""; return; } fnwrite(get_fn_dir("sections")."/$fnsectpath/$fnnewfilename","text","w",array()); if (file_exists(get_fn_dir("sections")."/$fnsectpath/$fnnewfilename")){ echo "
      "._FNFILECREATED.""; echo "
      "._GOTOFILE." $fnnewfilename
      "; fnlog("Section manage","$addr||".get_username()."||File created: ".strip_tags("$fnsectpath/$fnnewfilename")); } else { echo "I was not able to create the file: ".strip_tags("$fnsectpath/$fnnewfilename"); } } /** * Interfaccia per confermare l'eliminazione di un file * (solo amministratori) * * @param string $file il file da eliminare * @author Aldo Boccacci * @since 2.7 */ function delete_file_interface($file){ if (!is_admin()) die(); $file = getparam($file,PAR_NULL,SAN_FLAT); if (!check_path($file,"","true")) fndie("\$file is not valid!",__FILE__,__LINE__); echo _FNDELETEFILE.": $file

      "; echo "
      "; echo ""; echo " "; echo "
      "; } /** * Funzione che si occupa di eliminare un file presente nelle sezioni * * @author Aldo Boccacci * @since 2.7 */ function delete_file(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $fnfilepath = getparam("fnfilepath",PAR_POST,SAN_FLAT); if (!check_path($fnfilepath,"","false")) fn_die("DELETEFILE",_NONPUOI,__FILE__,__LINE__); $dir = dirname($fnfilepath); if (!file_exists("sections/$fnfilepath")){ echo "
      "._THEFILE." sections/$fnfilepath "._DOESNTEXISTS; echo "

      "._INDIETRO."
      "; } if (is_writable("sections/$fnfilepath")){ if (unlink("sections/$fnfilepath")){ echo "
      "._FNFILEDELETED.""; echo "

      "._GOTOSECTION." $dir
      "; fnlog("Section manage","$addr||".get_username()."||File sections/$fnfilepath deleted"); } else { echo "I was not able to delete the file"; } } else { echo "
      "._THEFILE." section/$fnfilepath "._NOTWRITABLE; echo "

      "._INDIETRO."
      "; } } /** * Interfaccia che permette di rinominare un file gestito da Flatnuke * * @param string $file il file per cui mostrare l'interfaccia * @author Aldo Boccacci * @since 2.7 */ function rename_file_interface($file){ if (!is_admin()) die(); $file = getparam($file,PAR_NULL,SAN_FLAT); if (!check_path($file,"","true")) fndie("\$file is not valid!",__FILE__,__LINE__); if (basename($file)=="section.php") { echo "You cannot rename the file section.php"; return; } $pathinfo = array(); $pathinfo = pathinfo("$file"); // print_r($pathinfo); $filename= ""; $filename = eregi_replace("\.".$pathinfo['extension']."$","",basename($file)); echo ""._FNRENAMEFILE.":

      "; echo "
      "; echo ""; echo ""; echo ".

      "; echo " "; echo "
      "; } /** * Funzione che rinomina un file presente all'interno delle sezioni * * @author Aldo Boccacci * @since 2.7 */ function fn_rename_file(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $fnoldfilename = getparam("fnoldfilename",PAR_POST,SAN_FLAT); $fnnewfilename = getparam("fnnewfilename",PAR_POST,SAN_FLAT); $fnfileext = getparam("fnfileext",PAR_POST,SAN_FLAT); if (!eregi("^html$|^htm$|^txt$",$fnfileext)) $fnfileext = "html"; $fnfilepath = dirname($fnoldfilename); $fnnewfilename = eregi_replace(" ","_",$fnnewfilename); if (!check_path($fnfilepath,"","false")) fn_die("RENAMEFILE","\$fnfilepath is not valid!",__FILE__,__LINE__); if (!check_path($fnoldfilename,"","false")) fn_die("RENAMEFILE","\$fnoldfilename is not valid!",__FILE__,__LINE__); if (!check_path($fnnewfilename,"","false")) fn_die("RENAMEFILE","\$fnnewfilename is not valid!",__FILE__,__LINE__); if (!is_dir(get_fn_dir("sections")."/$fnfilepath")){ echo _THEDIR." $fnfilepath "._DOESNTEXISTS."!"; echo "
      << "._INDIETRO.""; return; } if (!file_exists(get_fn_dir("sections")."/$fnoldfilename")){ echo "
      "._THEFILE." $fnoldfilename "._DOESNTEXISTS."!"; echo "
      << "._INDIETRO."
      "; return; } if (file_exists(get_fn_dir("sections")."/$fnfilepath/$fnnewfilename.$fnfileext")){ echo "
      "._THEFILE." $fnnewfilename.$fnfileext "._ALREADYEXISTS."!"; echo "

      << "._INDIETRO."
      "; return; } if (rename(get_fn_dir("sections")."/$fnoldfilename",get_fn_dir("sections")."/$fnfilepath/$fnnewfilename.$fnfileext")){ echo "
      "._FNFILERENAMED.""; echo "
      "._GOTOFILE." $fnnewfilename
      "; fnlog("Section manage","$addr||".get_username()."||Section ".strip_tags($fnoldfilename)." renamed in ".strip_tags($fnnewfilename)); } } /** * Interfaccia che permette di spostare una sezione * * @param string $mod la sezione per cui mostrare l'interfaccia * @author Aldo Boccacci * @since 2.7 */ function move_sect_interface($mod){ if (!is_admin()) die(); $mod = getparam($mod,PAR_NULL,SAN_FLAT); if (!check_path($mod,"","false")) fndie("\$mod is not valid!",__FILE__,__LINE__); echo _FNMOVESECTION.": $mod

      "; echo _FNCHOOSEDEST.":

      "; //elenco le sezioni include_once("include/filesystem/DeepDir.php"); $dir = new DeepDir(); $dir->setDir(get_fn_dir("sections")); $dir->load(); $dirs = array(); $dirs = $dir->dirs; echo "
      "; echo ""; echo ""; echo "

      "; echo ""; echo "
      "; } /** * Funzione che si occupa di spostare la sezione specificata nel form * * @author Aldo Boccacci * @since 2.7 */ function move_section(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $fnsectpath = getparam("fnsectpath",PAR_POST,SAN_FLAT); $fnsectdest = getparam("fnsectdest",PAR_POST,SAN_FLAT); if (!check_path($fnsectpath,"","false")) fn_die("MOVESECTION","\$fnsectpath is not valid!",__FILE__,__LINE__); if (!check_path($fnsectdest,"","false")) fn_die("MOVESECTION","\$fnsectdest is not valid!",__FILE__,__LINE__); if (fn_is_system_dir($fnsectpath)) fn_die("MOVESECTION","\$fnsectpath is a system dir of Flatnuke!",__FILE__,__LINE__); if (fn_is_system_dir($fnsectdest)) fn_die("MOVESECTION","\$fnsectdest is a system dir of Flatnuke!",__FILE__,__LINE__); if (!is_writable("sections/$fnsectpath")) fn_die("MOVESECTION","\$fnsectpath is not writable!",__FILE__,__LINE__); if (!is_writable("sections/$fnsectdest")) fn_die("MOVESECTION","\$fnsectdest is not writable!",__FILE__,__LINE__); if (file_exists("sections/$fnsectdest/".basename($fnsectpath))){ if (is_file("sections/$fnsectdest/".basename($fnsectpath))) { echo "
      There is a file with the same name in the destination dir!"; echo "
      << "._INDIETRO."
      "; return; } else if (is_dir("sections/$fnsectdest/".basename($fnsectpath))) { echo "
      "._THEDIR." sections/$fnsectdest/".basename($fnsectpath)." "._ALREADYEXISTS; echo "
      << "._INDIETRO."
      "; return; } } if (rename("sections/$fnsectpath","sections/$fnsectdest/".basename($fnsectpath))){ echo "
      "._FNSECTIONMOVED."

      "; echo ""._GOTOSECTION." ".basename($fnsectpath)."
      "; fnlog("Section manage","$addr||".get_username()."||Section $fnsectpath moved to $fnsectdest"); } else { echo "I was not able to move the section $fnsectpath to $fnsectdest"; fnlog("Section manage","$addr||".get_username()."||I was not able to move the section $fnsectpath to $fnsectdest"); } } /** * Interfaccia che permette di spostare una sezione * * @param string $file il file per cui mostrare l'interfaccia * @author Aldo Boccacci * @since 2.7 */ function fn_move_file_interface($file){ if (!is_admin()) die(); $file = getparam($file,PAR_NULL,SAN_FLAT); if (!check_path($file,"","true")) fn_die("MOVEFILE","\$file is not valid!",__FILE__,__LINE__); echo _FNMOVEFILE.": $file

      "; echo _FNCHOOSEDEST.":

      "; //elenco le sezioni include_once("include/filesystem/DeepDir.php"); $dir = new DeepDir(); $dir->setDir(get_fn_dir("sections")); $dir->load(); $dirs = array(); $dirs = $dir->dirs; echo "
      "; echo ""; echo ""; echo "

      "; echo ""; echo "
      "; } /** * Funzione che sposta un file da una sezione all'altra * * @author Aldo Boccacci * @since 2.7 */ function fn_move_file(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $fnfilepath = getparam("fnfilepath",PAR_POST,SAN_FLAT); $fnsectdest = getparam("fnsectdest",PAR_POST,SAN_FLAT); if (!check_path($fnfilepath,"","true")) fn_die("MOVEFILE","\$fnsectpath is not valid!",__FILE__,__LINE__); if (!check_path($fnsectdest,"","false")) fn_die("MOVESFILE","\$fnsectdest is not valid!",__FILE__,__LINE__); if (fn_is_system_dir(dirname($fnfilepath))) fn_die("MOVEFILE","\$fnfilepath is in a system dir of Flatnuke!",__FILE__,__LINE__); if (fn_is_system_dir($fnsectdest)) fn_die("MOVEFILE","\$fnsectdest is a system dir of Flatnuke!",__FILE__,__LINE__); if (!is_writable("sections/$fnfilepath")) fn_die("MOVEFILE","\$fnfilepath is not writable!",__FILE__,__LINE__); if (!is_writable("sections/$fnsectdest")) fn_die("MOVEFILE","\$fnsectdest is not writable!",__FILE__,__LINE__); if (file_exists("sections/$fnsectdest/".basename($fnfilepath))){ if (is_dir("sections/$fnsectdest/".basename($fnsectpath))) { echo "
      There is a file with the same name in the destination dir!"; echo "
      << "._INDIETRO."
      "; return; } else if (is_file("sections/$fnsectdest/".basename($fnsectpath))) { echo "
      "._THEFILE." sections/$fnsectdest/".basename($fnsectpath)." "._ALREADYEXISTS; echo "
      << "._INDIETRO."
      "; return; } } if (rename("sections/$fnfilepath","sections/$fnsectdest/".basename($fnfilepath))){ echo ""; fnlog("Section manage","$addr||".get_username()."||File $fnfilepath successfully moved to $fnsectdest"); } else { echo "I was not able to move the file $fnfilepath to $fnsectdest"; fnlog("Section manage","$addr||".get_username()."||I was not able to move the file $fnfilepath to $fnsectdest"); } } /** * Interfaccia che permette di confermare la volonta' di dare all'utente selezionato il permesso * di modificare la sezione specificata nel form. * * @author Aldo Boccacci * @since 2.7 */ function fn_add_edit_perm_confirm(){ if (!is_admin()) return; $mod = getparam("mod",PAR_POST,SAN_FLAT); $user = getparam("fnadduseredit",PAR_POST,SAN_FLAT); if ($user=="---") { echo "
      "._FNCHOOSEUSER."

      "; echo "<< "._INDIETRO."
      "; return; } if (!check_path($mod,"","false")) fn_die("FNADDUSERVIEWPERM","\$mod is not valid!",__FILE__,__LINE__); if (!check_username($user)) fn_die("FNADDUSERVIEWPERM","\$user is not valid!",__FILE__,__LINE__); if (!is_dir(get_fn_dir("sections")."/$mod")) fn_die("FNADDUSERVIEWPERM","\$mod is not a valid directory!",__FILE__,__LINE__); echo "
      "._ATTENTION."!

      "; echo _FNEDITALLOW1." $user "._FNEDITALLOW2." $mod?"; echo "

      "; echo "
      "; } /** * Questa funzione imposta i permessi di scrittura per la sezione indicata nel form precedente * * @author Aldo Boccacci * @since 2.7 */ function fn_add_user_edit_perm(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $mod = getparam("mod",PAR_POST,SAN_FLAT); $mod = rawurldecode($mod); $user = getparam("user",PAR_POST,SAN_FLAT); if ($user=="---") { echo "
      "._FNCHOOSEUSER."

      "; echo "<< "._INDIETRO."
      "; return; } if (!check_path($mod,"","false")) fn_die("FNADDUSEREDITPERM","\$mod is not valid!",__FILE__,__LINE__); if (!check_username($user)) fn_die("FNADDUSEREDITPERM","\$user is not valid!",__FILE__,__LINE__); echo ""; if (!is_dir(get_fn_dir("sections")."/$mod")) fn_die("FNADDUSEREDITPERM","\$mod is not a valid directory!",__FILE__,__LINE__); $userseditperms = array(); $userseditperms = load_user_edit_permissions($mod); if (!in_array($user,$userseditperms)){ $userseditperms[] = $user; // print_r($usersviewperms); save_user_edit_permissions($mod,$userseditperms); fnlog("Section manage","$addr||".get_username()."||Added edit permission in section $mod for user $user "); //ora proteggi il file section.php per evitare accessi diretti alla sezione senza passare da index.php protect_file(get_fn_dir("sections")."/$mod/section.php"); echo "
      "; echo _FNUSERADDED.": $user

      "; echo ""._GOTOSECTION.": $mod"; echo "
      "; echo ""; } else { return; } } /** * Rimuove l'utente indicato nel form dall'elenco degli utenti autorizzati a modificare la sezione * * @author Aldo Boccacci * @since 2.7 */ function fn_remove_user_edit_perm(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $mod = getparam("mod",PAR_POST,SAN_FLAT); $mod = rawurldecode($mod); $user = getparam("fnremoveuseredit",PAR_POST,SAN_FLAT); if ($user=="---") { echo "
      "._FNCHOOSEUSER."

      "; echo "<< "._INDIETRO."
      "; return; } if (!check_path($mod,"","false")) fn_die("FNREMOVEUSEREDITPERM","\$mod is not valid!",__FILE__,__LINE__); if (!check_username($user)) fn_die("FNREMOVEUSEREDITPERM","\$user is not valid!",__FILE__,__LINE__); if (!is_dir(get_fn_dir("sections")."/$mod")) fn_die("FNREMOVEUSEREDITPERM","\$mod is not a valid directory!",__FILE__,__LINE__); $userseditperms = array(); $userseditperms = load_user_edit_permissions($mod); if (in_array($user,$userseditperms)){ $newperms=array(); for ($count=0;$count"; echo _FNUSERREMOVED.": $user

      "; echo ""._GOTOSECTION.": $mod"; echo "
      "; echo ""; } else { return; } } /** * Aggiunge l'utente specificato nel form alla lista degli utenti autorizzati a visualizzare la sezione * * @author Aldo Boccacci * @since 2.7 */ function fn_add_user_view_perm(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $mod = getparam("mod",PAR_POST,SAN_FLAT); $mod = rawurldecode($mod); $user = getparam("fnadduser",PAR_POST,SAN_FLAT); if ($user=="---") { echo "
      "._FNCHOOSEUSER."

      "; echo "<< "._INDIETRO."
      "; return; } if (!check_path($mod,"","false")) fn_die("FNADDUSERVIEWPERM","\$mod is not valid!",__FILE__,__LINE__); if (!check_username($user)) fn_die("FNADDUSERVIEWPERM","\$user is not valid!",__FILE__,__LINE__); if (!is_dir(get_fn_dir("sections")."/$mod")) fn_die("FNADDUSERVIEWPERM","\$mod is not a valid directory!",__FILE__,__LINE__); $usersviewperms = array(); $usersviewperms = load_user_view_permissions($mod); if (!in_array($user,$usersviewperms)){ $usersviewperms[] = $user; // print_r($usersviewperms); save_user_view_permissions($mod,$usersviewperms); fnlog("Section manage","$addr||".get_username()."||Added view permission in section $mod for user $user "); //ora proteggi il file section.php per evitare accessi diretti alla sezione senza passare da index.php protect_file(get_fn_dir("sections")."/$mod/section.php"); echo "
      "; echo _FNUSERADDED.": $user

      "; echo ""._GOTOSECTION.": $mod"; echo "
      "; echo ""; } else { return; } } /** * Rimuove l'utente indicato nel form dall'elenco degli utenti autorizzati a visualizzare la sezione * * @author Aldo Boccacci * @since 2.7 */ function fn_remove_user_view_perm(){ if (!is_admin()) return; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $mod = getparam("mod",PAR_POST,SAN_FLAT); $mod = rawurldecode($mod); $user = getparam("fnremoveuser",PAR_POST,SAN_FLAT); if ($user=="---") { echo "
      "._FNCHOOSEUSER."

      "; echo "<< "._INDIETRO."
      "; return; } if (!check_path($mod,"","false")) fn_die("FNREMOVEUSERVIEWPERM","\$mod is not valid!",__FILE__,__LINE__); if (!check_username($user)) fn_die("FNREMOVEUSERVIEWPERM","\$user is not valid!",__FILE__,__LINE__); if (!is_dir(get_fn_dir("sections")."/$mod")) fn_die("FNREMOVEUSERVIEWPERM","\$mod is not a valid directory!",__FILE__,__LINE__); $usersviewperms = array(); $usersviewperms = load_user_view_permissions($mod); if (in_array($user,$usersviewperms)){ $newperms=array(); for ($count=0;$count"; echo _FNUSERREMOVED.": $user

      "; echo ""._GOTOSECTION.": $mod"; echo ""; echo ""; } else { return; } } /** * Maschera che permette di cambiare il tipo di sezione specificata * * @param string $mod il $mod della sezione di cui modificare il tipo * @author Aldo Boccacci * @since 2.7 */ function choose_sect_type_interface($mod){ if (!is_admin()) die(); $mod = getparam($mod,PAR_NULL,SAN_FLAT); if (!check_path($mod,"","false")) fndie("\$mod is not valid!",__FILE__,__LINE__); if (!is_dir(get_fn_dir("sections")."/$mod")){ echo _THEDIR." ".strip_tags($mod)." "._DOESNTEXISTS."!"; return; } echo "".strip_tags($mod).": cambia il tipo di sezione

      "; echo "
      "; echo ""; echo ""; echo "

      "; echo ""; echo "
      "; } /** * Modifica il tipo di sezione * * @author Aldo Boccacci * @since 2.7 */ function change_section_type(){ if (!is_admin()) die(); $fnsectpath = getparam("fnsectpath",PAR_POST,SAN_FLAT); if (!check_path($fnsectpath,"","false")) fn_die("CHANGESECTTYPE","The section's name is not valid! (".strip_tags($fnsectpath).")",__FILE__,__LINE__); $secttype = getparam("fnsecttype",PAR_POST,SAN_FLAT); if (!eregi("^standard$|^download$|^downloadsection$|^forum$|^gallery$",$secttype)) fn_die("CHANGESECTTYPE","\$secttype is not valid!",__FILE__,__LINE__); if (!file_exists(get_fn_dir("sections")."/$fnsectpath")){ echo "
      "._ATTENTION.": "._THEDIR." ".strip_tags($fnsectpath)." "._DOESNTEXISTS."!"; echo "
      << "._INDIETRO."
      "; return; } if (!is_dir(get_fn_dir("sections")."/$fnsectpath")){ echo "
      "._ATTENTION.": ".strip_tags($fnsectpath)." "._ISNOTADIR."!"; echo "
      << "._INDIETRO."
      "; return; } if (!is_writable(get_fn_dir("sections")."/$fnsectpath")){ echo "
      "._ATTENTION.": "._THEDIR." ".strip_tags($fnsectpath)." "._NOTWRITABLE."!"; echo "
      << "._INDIETRO."
      "; return; } //gestisce lui la scrittura e gli errori set_section_type($fnsectpath,$secttype); echo "
      "; } /** * Questa funzione mostra il pannello per amministrare la sezione corrente * (solo amministratori) * * @author Aldo Boccacci * @since 2.7 */ function section_admin_panel(){ if (!is_admin()) return; $mod = getparam("mod",PAR_GET,SAN_FLAT); $file = getparam("file",PAR_GET,SAN_FLAT); //if ($mod=="") return; global $home_section; if ($mod=="") $mod = $home_section; if (!check_path($mod,"","false")) return; if (!check_path($file,"","true") and $file !="") return; echo ""; echo "
      "; echo "
      "._MANAGESECTION.""; echo ""._MANAGESECTNOTE."

      "; if ($file==""){ if(is_writable("sections/$mod/section.php") and !fn_is_system_dir($mod)){ print "
      "; //SCELTA DELL'EDITOR if ((file_exists("include/plugins/editors/FCKeditor/fckeditor.php") or file_exists("include/plugins/editors/tiny_mce/tiny_mce_gzip.js")) and file_exists("sections/$mod/section.php") and is_writable("sections/$mod/section.php")){ echo " "; } echo "
      "; } } else if ($file!=""){ if(is_writable("sections/$mod/$file") and !fn_is_system_dir($mod)){ echo "
      "; //SCELTA DELL'EDITOR if ((file_exists("include/plugins/editors/FCKeditor/fckeditor.php") or file_exists("include/plugins/editors/tiny_mce/tiny_mce_gzip.js")) and file_exists("sections/$mod/$file") and is_writable("sections/$mod/$file")){ echo " "; } echo "
      "; } } echo "
      "; echo ""; echo ""; echo ""; echo ""; echo " "; echo "
      "; //------------------------------------------------------ //PERMESSI VISIONE SEZIONI //------------------------------------------------------ if (!fn_is_system_dir($mod)){ echo "
      "._FNVIEWPERMS.""; //stampa elenco utenti abilitati alla visione $usersperms = load_user_view_permissions($mod); if (count($usersperms)>0){ echo ""._USERS.": "; for ($count=0;$count".$usersperms[$count].""; } echo "

      "; } //aggiungi/togli utenti echo "
      "; echo " "; $allusers = array(); $allusers = list_users(); echo ""; echo "

      "; echo "
      "; echo " "; echo ""; echo "

      "; // manage section's level $level = getsectlevel($mod); print "
      "; print ""; print ""; print ""._LEVEL.": "; if(!is_writeable("sections/$mod")) { print " "._FIG_ALERTNOTWR; print "
      "; } else { print ""; print " "; print "
      "; } echo ""; } //------------------------------------------------------ //SCRITTURA SEZIONI //------------------------------------------------------ if (!fn_is_system_dir($mod)){ echo "
      "._FNEDITPERMS.""; //stampa elenco utenti abilitati alla visione $usersperms = load_user_edit_permissions($mod); if (count($usersperms)>0){ echo ""._USERS.": "; for ($count=0;$count".$usersperms[$count].""; } echo "

      "; } //aggiungi/togli utenti echo "
      "; echo " "; $allusers = array(); $allusers = list_users(); echo ""; echo "

      "; echo "
      "; echo " "; echo ""; echo "

      "; echo "
      "; } //div finale echo ""; } /** * Questa funzione mostra il pulsante modifica se l'utente e' abilitato a modificare la sezione corrente * * @author Aldo Boccacci * @since 2.7 */ function section_user_edit_panel(){ if (!is_user()) return; $mod = get_mod(); $file = get_file_var(); if (!user_can_view_section($mod,get_username())) return; if (!user_can_edit_section($mod,get_username())) return; if ($file==""){ if(is_writable("sections/$mod/section.php") and !fn_is_system_dir($mod)){ print "
      ",$text)) echo " disabled = disabled "; echo "/>"; //SCELTA DELL'EDITOR if ((file_exists("include/plugins/editors/FCKeditor/fckeditor.php") or file_exists("include/plugins/editors/tiny_mce/tiny_mce_gzip.js")) and file_exists("sections/$mod/section.php") and is_writable("sections/$mod/section.php")){ echo " "; } echo "
      "; } } else if ($file!=""){ if(is_writable("sections/$mod/$file") and !fn_is_system_dir($mod)){ print "
      ",$text)) echo " disabled = disabled "; echo "/>"; //SCELTA DELL'EDITOR if ((file_exists("include/plugins/editors/FCKeditor/fckeditor.php") or file_exists("include/plugins/editors/tiny_mce/tiny_mce_gzip.js")) and file_exists("sections/$mod/$file") and is_writable("sections/$mod/$file")){ echo " "; } echo "
      "; } } } /** * Questa funzione restituisce TRUE se il $mod passato come parametro e' una sezione protetta del sistema * che non deve essere rinominata/eliminata/spostata/modificata * * @param string $mod il $mod della sezione da verificare * @return TRUE se il $mod appartiene a una sezione di sistema, FALSE in caso contrario * @author Aldo Boccacci * @since 2.7 */ function fn_is_system_dir($mod){ $mod = getparam($mod,PAR_NULL,SAN_FLAT); if (!check_path($mod,"","false")) return TRUE; $mod = eregi_replace("^/","",$mod); $mod = eregi_replace("/$","",$mod); if (eregi("^none_Login$|^none_Admin$|^none_Admin/none_.*$|^none_Calendar$|^none_Search$|^none_Fdplus$|^none_Images$",$mod)){ return TRUE; } else return FALSE; } /** * Questa funzione inserisce nelle sezioni il codice php * adeguato ad impedire che i file vengano visualizzati direttamente, * scavalcando i meccanismi di protezione di flatnuke * * @param string $path il percorso del file da proteggere * @author Aldo Boccacci * @since 2.7 */ function protect_file($path){ if (!check_path($path,get_fn_dir("sections"),"true")) return; if (!is_file($path)) return; if (!eregi("\.php$",$path)) return; $text = get_file($path); $string = ''; //solo se il file non contiene gia' il codice di controllo...lo aggiungo! if (!ereg("\<\?.*eregi\(.*die().*\?\>",$text)){ fnwrite($path, $string.$text,"w",array("nonull")); } } /** * Restituisce la stringa passata come parametro dopo aver rimosso * il codice di protezione inserito dalla funzione protect_file($path) * Funzione creata da Aldo Boccacci * * @param string $test_protected il testo protetto * @return il testo senza la protezione iniziale * @author Aldo Boccacci * @since 2.7 */ function get_unprotected_text($text_protected){ $text_unprotected = ereg_replace("\<\?\n\tif \(eregi\(.*die\(\);\n\?\>","",$text_protected); return $text_unprotected; } /** * Purifica la stringa passata e la restituisce una volta eliminati tutti i codici non esplicitamente permessi * * @param string $text il testo da purificare * @param string $mode la modalita' di purificazione: * admin: se l'utente e' admin (attualmente non usata) * user: e' permesso un numero minore di tag html * @author Aldo Boccacci * @since 2.7 */ function fn_purge_html_string($text,$mode="user"){ $text = getparam($text,PAR_NULL,SAN_FLAT); $mode = getparam($mode,PAR_NULL,SAN_FLAT); if (!eregi("^admin$|^user$",$mode)) return; $userallowed = array('a' => array ('href' => array (), 'title' => array (), 'rel' => array (), 'rev' => array (), 'name' => array ()),'b' => array (), 'big' => array (), 'blockquote' => array ('cite' => array ()), 'br' => array (),'div' => array ('align' => array (),'style' => array ()),'h1' => array ('align' => array ()), 'h2' => array ('align' => array ()), 'h3' => array ('align' => array ()), 'h4' => array ('align' => array ()), 'h5' => array ('align' => array ()), 'h6' => array ('align' => array ()), 'hr' => array ('align' => array (), 'noshade' => array (), 'size' => array (), 'width' => array ()), 'i' => array (),'p' => array ('align' => array ()), 'pre' => array ('width' => array ()),'strike' => array (), 'strong' => array (),'u' => array (),'ul' => array (), 'ol' => array (),'li' =>array()); if (file_exists("include/php_filters/kses.php")){ include_once("include/php_filters/kses.php"); return kses(stripslashes($text), $userallowed); } else return strip_tags($text,"br"); } /** * Imposta il tipo di sezione da visualizzare * * @param string $mod il mod della sezione da impostare * @param string $type il tipo di sezione. Puo' essere: standard, download, downloadsection, forum, gallery * * @author Aldo Boccacci * @since 2.7 */ function set_section_type($mod,$type){ $mod = getparam($mod,PAR_NULL,SAN_FLAT); if (!check_path($mod,"","false")) return FALSE; $type = getparam($type,PAR_NULL,SAN_FLAT); if (!eregi("^standard$|^forum$|^download$|^downloadsection$|^gallery$",$type)) return FALSE; $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); //prima devo azzerare la sezione @unlink("sections/$mod/forum"); @unlink("sections/$mod/download"); @unlink("sections/$mod/downloadsection"); @unlink("sections/$mod/gallery"); if ($type=="standard"){ //ho gia' rimosso tutto piu' sopra fnlog("Section manage","$addr||".get_username()."||The section ".strip_tags("$mod")." now is standard"); } else if ($type=="forum"){ fnwrite("sections/$mod/forum"," ","w",array()); fnlog("Section manage","$addr||".get_username()."||Created forum in section ".strip_tags("$mod")); } else if ($type=="gallery"){ fnwrite("sections/$mod/gallery"," ","w",array()); fnlog("Section manage","$addr||".get_username()."||Created gallery in section ".strip_tags("$mod")); } else if ($type=="download"){ fnwrite("sections/$mod/download"," ","w",array()); fnlog("Section manage","$addr||".get_username()."||Created main download section in section ".strip_tags("$mod")); } else if ($type=="downloadsection"){ fnwrite("sections/$mod/downloadsection"," ","w",array()); fnlog("Section manage","$addr||".get_username()."||Created single download section in section ".strip_tags("$mod")); } } ?> flatnuke-2.7.2/shared.php0000644000175000017500000006464411177637544014715 0ustar simonesimone * @license http://opensource.org/licenses/gpl-license.php GNU General Public License */ /** * Restituisce la versione attuale di Flatnuke * * @since 2.5.7 * * @return constant Versione di Flatnuke */ function get_fn_version(){ define("FN_VERSION", "2.7.2"); return FN_VERSION; } /** * A collection of easy to include PHP functions that sanitize user inputs * * @author The Open Web Application Security Project - {@link http://www.owasp.org/software/labs/phpfilters.html} * @license http://opensource.org/licenses/gpl-license.php GNU General Public License */ include_once("include/php_filters/sanitize.php"); /** * Elimina i caratteri che possono provocare problemi di sicurezza * * Elimina dalla stringa passata come parametro i caratteri che possono * provocare problemi di sicurezza se eseguiti in concomitanza con codice * maligno. * * @author Marco Segato * @since 2.5.7 * * @param string $string Stringa da verificare * @return string $string Stringa elaborata */ function fnsanitize($string) { $string = str_replace(chr(10), "", $string); $string = str_replace(chr(13), "", $string); $string = str_replace(chr(00), "", $string); $string = str_replace("%00", "", $string); $string = str_replace("[", "[", $string); $string = str_replace("]", "]", $string); return $string; } /** * Restituisce un parametro POST o GET * * Restituisce un parametro controllato con fnsanitize derivante dai * metodi POST o GET. * * @author Simone Vellei * @since 2.5.7 * * @param string $param Nome del parametro * @param string $opt Opzione per specificare metodo (POST,GET,ALL, COOKIE, SESSION) * @param pointer $sanitize Puntatore a funzione che sanitizza il parametro * @return string $param Contenuto del parametro */ function getparam($param, $opt, $sanitize) { if(!isset($sanitize) OR ($sanitize==SAN_FLAT)) $sanitize="fnsanitize"; else if($sanitize==SAN_SYST) $sanitize="sanitize_system_string"; else if($sanitize==SAN_PARA) $sanitize="sanitize_paranoid_string"; else if($sanitize==SAN_NULL) $sanitize="sanitize_null_string"; else if($sanitize==SAN_HTML) $sanitize="sanitize_html_string"; if($opt==PAR_ALL) { if(isset($_GET[$param])) return($sanitize($_GET[$param])); else { if(isset($_POST[$param])) return($sanitize($_POST[$param])); else return(""); } } else if($opt==PAR_POST) { if(isset($_POST[$param])) return($sanitize($_POST[$param])); else return(""); } else if($opt==PAR_GET) { if(isset($_GET[$param])) return($sanitize($_GET[$param])); else return(""); } else if($opt==PAR_COOKIE) { if(isset($_COOKIE[$param])) return($sanitize($_COOKIE[$param])); else return(""); } else if($opt==PAR_SESSION) { if(isset($_SESSION[$param])) return($sanitize($_SESSION[$param])); else return(""); } else if($opt==PAR_SERVER) { if(isset($_SERVER[$param])) return($sanitize($_SERVER[$param])); else return(""); } else if($opt==PAR_NULL) { if(isset($param)) return($sanitize($param)); else return(""); } return(""); } /** * Restituisce il codice di controllo codificato MD5 di un utente * * Restituisce il codice di controllo dell'utente passato come parametro, * mantenendo la codifica MD5. * * @author Simone Vellei * * @param string $user Nome assoluto del profilo utente da elaborare * @return string Codice di controllo codificato MD5 dell'utente */ function getpass($user) { $user = getparam($user,PAR_NULL, SAN_FLAT); $userdata = array(); $userdata = load_user_profile($user); return $userdata['password']; } /** * Applica un semaforo ad un file * * Applica un semaforo al file passato come parametro, impedendo qualsiasi * azione fintanto che non sara' spento con la chiave MD5 corretta. * NB: la gestione dei semafori deve essere supportata dal proprio webserver. * * @author Simone Vellei * * @param string $user Nome assoluto del file da bloccare * @return string ID del semaforo */ function lock($filename) { if(function_exists("sem_get")) { /* uncomment this if your webserver // supports semaphores // get semaphore key*/ $sem_key = @ftok($filename, 'F'); // get semaphore identifier $sem_id = sem_get($sem_key, 1); // acquire semaphore lock sem_acquire($sem_id); // return sem_id return $sem_id; } else if(function_exists("flock")) { // alternative method if(!is_dir("misc/lockfile")) mkdir("misc/lockfile", 0777); $fp = fopen("misc/lockfile/".md5($filename), "w+"); if(!$fp) return; if (flock($fp, LOCK_EX)) { // Esegue un lock esclusivo return $fp; } } else { // pray! } } /** * Rilascia un semaforo applicato ad un file * * Rilascia il semaforo con ID uguale a quello passato come parametro, * permettendo nuovamente l'accesso al relativo file. * NB: la gestione dei semafori deve essere supportata dal proprio webserver. * * @author Simone Vellei * * @param string $user ID del semaforo */ function unlock($object) { /* uncomment this if your webserver // supports semaphores // release semaphore lock*/ if(function_exists("sem_get")) { sem_release($object); sem_remove($object); } else if(function_exists("flock")) { // alternative method $fp = fopen("misc/lockfile/".md5("$object"), "w+"); if(!$fp) return; if (flock($object, LOCK_UN)) { // rilascia un lock esclusivo fclose($fp); } } else { // pray! } } /** * Restituisce il codice di controllo decodificato MD5 di un utente * * Restituisce il codice di controllo dell'utente passato come parametro, * decodificandolo con algoritmo MD5. * * @author Simone Vellei * * @param string $user Nome assoluto del profilo utente da elaborare * @return string Codice di controllo decodificato MD5 dell'utente */ function getsecid($user) { $user = getparam($user,PAR_NULL, SAN_FLAT); if(!file_exists(get_fn_dir("users")."/".$user.".php")) return(""); $userdata = array(); $userdata = load_user_profile($user); return (md5($user.$userdata['password'])); } /** * Verifica il codice di controllo da FlatNuke * * Verifica che il codice di controllo immesso dall'utente e salvato nel cookie * corrisponda a quello del profilo dell'utente stesso. * * @author Simone Vellei * * @param string $user Nome assoluto del profilo utente da elaborare * @return boolean Vero o falso */ function versecid($user) { $user = getparam($user,PAR_NULL, SAN_FLAT); $secid = getparam("secid",PAR_COOKIE, SAN_FLAT); if (getsecid($user) == $secid) return (TRUE); else return (FALSE); } /** * Verifica il codice di controllo dal forum * * Verifica che il codice di controllo immesso dall'utente e salvato nel cookie * corrisponda a quello del profilo dell'utente stesso. * * @author Simone Vellei * * @param string $user Nome assoluto del profilo utente da elaborare * @return boolean Vero o falso */ function versecid2($user) { $user = getparam($user,PAR_NULL, SAN_FLAT); $secid = getparam("secid",PAR_COOKIE, SAN_FLAT); if (md5($user.getpass($user)) == $secid) return (TRUE); else return (FALSE); } /** * Mette un file in una stringa * * Trasforma il file passato come parametro in una stringa di testo. * * @author Simone Vellei * * @param string $filename Nome relativo alla root del file da elaborare * @return string Stringa con il contenuto del file */ function get_file($filename) { $filename = getparam($filename,PAR_NULL, SAN_FLAT); $string = ""; $fd = fopen ("$filename", "r"); if($fd=="") die(_NONPUOI); while (!feof ($fd)) { $buffer = fgets($fd, 4096); $string.=$buffer; } fclose ($fd); return $string; } /** * Restituisce un elemento XML * * Restituisce un elemento XML da un file passato come parametro. * * @author Simone Vellei * @author Aldo Boccacci | 20060513: se non trova $elem restituisce una stringa vuota * * @param string $elem Nome dell'elemento XML da cercare * @param string $xml Nome del file XML da processare * @return string Stringa contenente il valore dell'elemento XML */ function get_xml_element($elem, $xml) { $elem = getparam($elem,PAR_NULL, SAN_FLAT); $xml = getparam($xml, PAR_NULL, SAN_NULL); $ok = preg_match( "/\<$elem\>(.*?)\<\/$elem\>/s",$xml, $out ); $return = ($ok) ? ($out[1]) : (""); return $return; } /** * Restituisce l'array di un ramo di elementi XML * * Restituisce l'array di un ramo di elementi XML da un file passato come parametro. * * @author Simone Vellei * @author Aldo Boccacci | 20060513: rimosso l'elemento di apertura dall'array dei risultati * * @param string $elem Nome del ramo di elementi XML da cercare * @param string $xml Nome del file XML da processare * @return array Array contenente il ramo di elementi XML */ function get_xml_array($elem, $xml) { $elem = getparam($elem,PAR_NULL, SAN_FLAT); $xml = getparam($xml, PAR_NULL, SAN_NULL); $buff = explode("", $xml); array_splice ($buff, count($buff)-1); $buffelement = ""; $newbuff = array(); foreach($buff as $buffelement){ $newbuff[] = eregi_replace("^\<$elem\>","",ltrim($buffelement)); } return $newbuff; } /** * Restituisce il livello di un utente * * Restituisce il livello dell'utente passato come primo parametro; il secondo * parametro serve per gestire il riferimento alla cartella dove sono * presenti gli utenti, a seconda che la chiamata parta dall'homepage oppure * dal forum: * - 0 per un utente registrato; * - da 1 a 9 per un utente registrato di livello intermedio; * - 10 per un utente amministratore. * * @author Simone Vellei * * @param string $admin Nome assoluto del profilo utente da elaborare * @param string $from Origine della chiamata ("home"/"forum") * @return int Livello dell'utente */ function getlevel($admin, $from){ // controlla implicitamente anche l'esistenza dell'account // del nome passato, quindi anche la corrispondenza del cookie $admin = getparam($admin,PAR_NULL, SAN_FLAT); $from = getparam($from,PAR_NULL, SAN_FLAT); if($from=="home"){ if(!file_exists(get_fn_dir("users")."/$admin.php")) return(-1); $userdata = array(); $userdata = load_user_profile($admin); return ((int)$userdata['level']); } if($from=="forum"){ if(!file_exists("users/$admin.php")) return(-1); $fd = file("users/$admin.php"); $level = str_replace("#","",str_replace("\n","",$fd[9])); return((int)$level); } } /** * Controllo sulla validita' di una stringa alfanumerica * * Esegue un controllo sulla stringa passata come parametro, verificando che * contenga unicamente caratteri oppure numeri, secondo lo standard UNIX. * * @author Marco Segato * @since 2.5.7 * * @param string $string Stringa da verificare * @return boolean Vero o Falso */ function is_alphanumeric($string) { $string = getparam($string,PAR_NULL, SAN_FLAT); if(eregi("^[[:alnum:]]+$", $string)) return (TRUE); else return (FALSE); } /** * Restituisce l'estensione di un file * * Restituisce l'estensione di un file passato come parametro. * * @author Marco Segato * @since 2.5.7 * * @param string $filename Nome del file da verificare * @return string Estensione del file */ function get_file_extension($filename) { $filename = getparam($filename,PAR_NULL, SAN_FLAT); ereg('[\.]*[[:alpha:]]+$', $filename, $extension); $extension = str_replace(".","",$extension[0]); return $extension; } /** * Restituisce un timestamp formattato in secondi * * @author Marco Segato * @since 2.5.7 * * @return number Timestamp formattato */ function get_microtime() { $mtime = microtime(); $mtime = explode(" ", $mtime); $mtime = doubleval($mtime[1]) + doubleval($mtime[0]); return $mtime; } /** * Rende un link W3C compliant * * @author Aldo Boccacci * @since 2.5.7 * * @param string $path URL da codificare * @return string URL codificato */ function rawurlencodepath($path){ $parts=array(); $parts = explode('/', $path); for ($i = 0; $i < count($parts); $i++) { $parts[$i] = rawurlencode($parts[$i]); } return implode('/', $parts); } /** * Elimina una cartella ed il suo contenuto * * @author Anton Makarenko * @author Original idea: http://ua2.php.net/manual/en/function.rmdir.php * @since 2.5.8 * * @param string $target Directory da eliminare * @param boolean $verbose Indica se attivare o meno la modalita' 'verbose' (disattivata di default) * @return boolean Vero o Falso */ function rmdirr($target, $verbose=FALSE) { $exceptions = array('.','..'); if (!$sourcedir = @opendir($target)) { if ($verbose) echo 'Couldn’t open '.$target."
      \n"; return FALSE; } while(false!==($sibling=readdir($sourcedir))) { if(!in_array($sibling,$exceptions)) { $object = str_replace('//','/',$target.'/'.$sibling); if($verbose) echo 'Processing: '.$object."
      \n"; if(is_dir($object)) rmdirr($object); if(is_file($object)) { $result = @unlink($object); if ($verbose&&$result) echo "File has been removed
      \n"; if ($verbose&&(!$result)) echo "Couldn’t remove file"; } } } closedir($sourcedir); if($result=@rmdir($target)) { if ($verbose) echo "Target directory has been removed
      \n"; return TRUE; } if ($verbose) echo "Couldn’t remove target directory"; return FALSE; } /** * Funzione di scrittura controllata di un file * * Scrive una stringa nel file specificato rispettando una serie di opzioni (facoltative) * * @author Aldo Boccacci * @since 2.5.8 * * @param string $file nome del file su cui scrivere * @param string $text testo da scrivere * @param string $mode modo di scrittura da passare alla funzione fopen * @param array $options lista delle opzioni di scrittura * Le opzioni possono essere: * - nonull: la stringa da scrivere non puo' essere vuota * - nophp: il testo non puo' contenere codice php * - nohtml: il testo non puo' contenere codice html */ function fnwrite($file, $text, $mode, $options=array()) { $file = getparam($file, PAR_NULL, SAN_NULL); $text = getparam($text, PAR_NULL, SAN_NULL); $mode = getparam($mode, PAR_NULL, SAN_NULL); $addr = getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); foreach ($options as $option) { if (trim($option)=="nonull") { if (trim($text, "\t\h\v\0 ")=="") { fnlog("Write", $addr."||".get_username()."||Writing an empty file is not allowed!"); return; } } if (trim($option)=="nophp") { if (eregi("\<\?", $text) or eregi("\?\>", $text)) { fnlog("Write", $addr."||".get_username()."||Writing PHP code is not allowed!"); return; } } if (trim($option)=="nohtml") { if (strip_tags($text)!=$text) { fnlog("Write", $addr."||".get_username()."||Writing HTML code is not allowed!"); return; } } } if (file_exists($file)) copy($file,$file."bak"); $fd = fopen($file."bak", $mode); fwrite($fd, $text); fclose($fd); if((filesize($file."bak") > 0) or (filesize($file."bak") == 0 and $text=="")) { if (file_exists($file)) rename($file,$file."old"); if (rename($file."bak", $file)){ if (file_exists($file."old")) unlink($file."old"); } else { if (file_exists($file."old")) rename($file."old",$file); } } else { //fnlog("Write", $addr."||".get_username()."||Null \"$file.bak\" backup file!!"); // uncomment if you experience problems with filesystem unlink($file."bak"); } if (file_exists($file."bak")){ @unlink($file."bak"); } } /** * Funzione per includere automaticamente codice PHP * * Permette di includere tutti i files con estensione .php che sono * presenti all'interno di una cartella del sito. * * @author Marco Segato * @since 2.5.8 * * @param string $path_phpcode directory contenente i files da includere */ function load_php_code($path_phpcode) { $path_phpcode = getparam($path_phpcode, PAR_NULL, SAN_FLAT); if(file_exists($path_phpcode)) { $dir_phpcode = opendir($path_phpcode); $file_phpcode = 0; while ($filename_phpcode = readdir($dir_phpcode)) { eregi('[\.]*[[:alpha:]]+$', $filename_phpcode, $extension_phpcode); if(strtolower($extension_phpcode[0])==".php" AND $filename_phpcode!="." AND $filename_phpcode!=".." AND !eregi("^none_", $filename_phpcode) AND !eregi("^\.", $filename_phpcode)) { $array_phpcode[$file_phpcode] = $filename_phpcode; $file_phpcode++; } } closedir($dir_phpcode); if($file_phpcode>0) { sort($array_phpcode); } for($i=0; $i<$file_phpcode; $i++) { include_once "$path_phpcode/$array_phpcode[$i]"; } } } /** * Funzione che maschera un indirizzo email * * Permette di codificare un indirizzo email laciato in chiaro, * di modo che non sia facilmente interpretabile dai bot. * * @author Andrea Biondo * @since 2.5.8 * * @param string $email_address indirizzo email da codificare * @return string indirizzo email codificato */ function email_mask($email_address) { $email_address = getparam($email_address, PAR_NULL, SAN_FLAT); $email_replace = array( "@" => "%20(at)%20", "." => "%20(dot)%20"); foreach($email_replace as $chr => $rep) { $email_address = str_replace($chr, $rep, $email_address); } return $email_address; } /** * Controlla il percorso di file che gli viene passato come parametro. * * Questa funzione verifica la validita' del percorso passato come parametro. Innanzitutto viene * verificata la presenza di caratteri potenzialmente pericolosi. * Con il secondo parametro si indica eventualmente la cartella all'interno della quale deve trovarsi il file * (o sue sottocartelle). * Con il terzo parametro si indica se il file puo' avere estensione "php*" * Se il percorso rispetta tutte le condizioni la funzione restituisce TRUE, * in caso contrario restituisce FALSE. * * @author Aldo Boccacci * @since 2.5.8 * * @param string $filename il nome del file * @param string $dirbase il file deve essere all'interno di questa directory o di una sua sottodirectory * @param string $allow_php se settato a "true" permette che il file abbia estensione .php e simili */ function check_path($filename,$dirbase,$allow_php){ if (stristr($filename,"..")) return FALSE; if (stristr($filename,"%00")) return FALSE; if (stristr($filename,chr(13))) return FALSE; if (stristr($filename,chr(10))) return FALSE; if (stristr($filename,chr(00))) return FALSE; if (stristr($filename,"://")) return FALSE; if (stristr($filename,"?")) return FALSE; if (stristr($filename,"&")) return FALSE; if (stristr($filename,"$")) return FALSE; if (stristr($filename,"[")) return FALSE; if (stristr($filename,"]")) return FALSE; if (stristr($filename,"(")) return FALSE; if (stristr($filename,")")) return FALSE; if (stristr($filename,"<")) return FALSE; if (stristr($filename,">")) return FALSE; // if (stristr($filename,"+")) return FALSE; // if (stristr($filename,"\"")) return FALSE; if ($dirbase!=""){ $dir = ""; $path = $filename; $limit = 0; //controlla / iniziale while (eregi("^/",$path)){ $path = eregi_replace("^/","",$path); if ($limit==5) return FALSE; $limit++; } if (!eregi("^$dirbase",$path)) return FALSE; if (eregi("^forum",$path)) return FALSE; } if ($allow_php!="true"){ // echo "controllo php"; if (eregi("\.php.$|\.php$",$filename)) return FALSE; } return TRUE; } /** * Questa funzione controlla il tipo della variabile passata come primo parametro. * * Questa funzione controlla il tipo di variabile passata come primo parametro. Restituisce TRUE * se la variabile corrisponde al tipo specificato come secondo parametro. * Sono supportati i seguenti tipi: * 1. digit: solo numeri * 2. alnum: numeri e cifre (no spazi o segni di punteggiatura) * 3. text (no html): restituisce true se il testo e' uguale al testo restituito dalla funzione strip_tag * (ovvero non sono presenti tag html/php nella stringa) * 4. boolean: i valori validi sono "1", "0", "true", "false", "on" e "off" (case insensitive) * * @author Aldo Boccacci * @since 2.5.8 * * @param string $var la variabile da controllare * @param string $type il tipo di variabile richiesto per ritornare TRUE. * @param string $lenght la lunghezza massima (attualmente inutilizzato) * @return TRUE se la variabile da controllare corrisponde al tipo richiesto. FALSE in caso contrario */ function check_var($var, $type="alnum",$lenght=""){ include_once("include/php_filters/sanitize.php"); $var = trim($var); if ($var=="") return TRUE; if ($type=="digit"){ if (ctype_digit($var)){ return TRUE; } else return FALSE; } else if ($type=="alnum"){ if (ctype_alnum($var)){ return TRUE; } else return FALSE; } else if ($type=="text"){ if ($var==strip_tags($var)){ return TRUE; } else return FALSE; } else if ($type=="boolean"){ if (eregi("^1$|^0$|^true$|^false$|^on$|^off$",$var)){ return TRUE; } else return FALSE; } else return FALSE; } /** * Questa funzione restituisce TRUE se l'indirizzo passato come parametro e' incluso nella lista degli ip bloccati. * FALSE se l'indirizzo ip e' ok. L'elenco degli ip bloccati e' incluso nel file include/blacklists/ipblacklist.php * * Restituisce TRUE se l'indirizzo passato come parametro e' inserito nella blacklist, * FALSE in caso contrario. * * @author Aldo Boccacci * @since 2.6 * * @param string $ip l'indirizzo ip da verificare. * @return TRUE se l'indirizzo e' vietato, FALSE in caso contrario */ function is_blocked_ip($ip){ if (trim($ip)=="") return FALSE; if (!eregi("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$",$ip)){ echo "Invalid remote ip adress!
      "; return TRUE; } $blstring =""; if (!file_exists("include/blacklists/ipblacklist.php")){ fnlog("Flatforum","Blocked ip list file doesn't exists!"); return FALSE; } $blstring=get_file("include/blacklists/ipblacklist.php"); $iparray=array(); $iparray=explode("\n",$blstring); $item=""; foreach ($iparray as $item){ if (eregi("^#",trim($item))) continue; if (trim($item)=="") continue; if (eregi("\<",$item)) continue; $item = trim(eregi_replace("\*",".",$item)); if (eregi($item,$ip)) return TRUE; } return FALSE; } /** * Restituisce TRUE se la stringa specificata viene ritenuta spam * secondo i criteri contenuti nel file $spamfile * * @author Aldo Boccacci * @since 2.6 * * @param string $string la stringa da controllare * @param string $spamfile il nome senza estensione del file contenente i criteri di riconiscimento * @return TRUE se la stringa e' vietata, FALSE in caso contrario */ function is_spam($string,$spamfile){ if (!check_path($spamfile,"","false")) die("spam file path is not valid! ".basename(__FILE__).": ".__LINE__); if (trim($string)=="") return FALSE; // load spam file if (!file_exists("include/blacklists/$spamfile.php")){ return FALSE; } // limit the number of the links to max 3 if (substr_count($string, "http://")>3 OR substr_count($string, "https://")>3 OR substr_count($string, "ftp://")>3){ return TRUE; } $blstring = get_file("include/blacklists/$spamfile.php"); // check for spam $wordsarray = array(); $wordsarray = explode("\n", $blstring); $item = ""; foreach ($wordsarray as $item){ if (eregi("^#",trim($item))) continue; if (trim($item)=="") continue; if (preg_match("/\b$item\b/i",$string) OR eregi($item, $string)) { $ip = getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); fnlog("Spam", "$ip||".get_username()."||Spamfilter blocked the regexp \"$item\"."); return TRUE; } } return FALSE; } /** * Restituisce il percorso della cartella richiesta attraverso il parametro $dir * Le opzioni possibili sono: news, blocks, themes, sections, users, var * * @author Aldo Boccacci * @since 2.6 * * @param string $dir la cartella da restituire. * @return string il percorso della cartella richiesta */ function get_fn_dir($dir){ $dir = getparam($dir, PAR_NULL, SAN_FLAT); $dir = trim($dir); switch($dir){ case "news": return "news"; break; case "users": return "misc/users"; break; case "blocks": return "blocks"; break; case "themes": return "themes"; break; case "var": return "misc"; break; case "sections": return "sections"; break; default: return ""; break; } } /** * Funzione di die() personalizzata per Flatnuke che prima di uccidere il processo * salva un messaggio nel log * @param string $message il messaggio da stampare a schermo e da salvare nel log * @author Aldo Boccacci * @since 2.7 */ function fn_die($zone, $message="",$file="",$line=""){ $zone = strip_tags($zone); $message = strip_tags($message); if ($file!="" and check_path($file,"","true")) $file=strip_tags(basename(trim($file))); else $file=""; if (check_var(trim($line),"digit")) $line=strip_tags(trim($line)); else $line=""; $file = basename($file); if ($file!="" and $line!="") $message = "$message $file: $line"; fnlog($zone,$message); if (is_admin()) echo "Fn_die: $message"; else echo "Fn_die: error"; die(); } /** * Funzione che restituisce il parametro $mod attuale (GET) * * @author Aldo Boccacci * @since 2.7 */ function get_mod(){ $mod= getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) return NULL; $mod = eregi_replace("//","/",$mod); $mod = eregi_replace("^/","",$mod); $mod = eregi_replace("/$","",$mod); $mod = eregi_replace("\./","",$mod); return $mod; } /** * Funzione che restituisce il parametro $file attuale (GET) * * @author Aldo Boccacci * @since 2.7 */ function get_file_var($nophp="false"){ if (!eregi("^true$|^false$",$nophp)) $nophp="true"; $file = getparam("file",PAR_GET,SAN_FLAT); if (!check_path($file,"",$nophp)) return NULL; $file = eregi_replace("^/","",$file); if (!eregi("\.htm$|\.html$|\.xhtml|\.txt$|\.php",$file)) return NULL; if (eregi("/",$file)) return NULL; return $file; } ?>flatnuke-2.7.2/sections/0000755000175000017500000000000011177641445014542 5ustar simonesimoneflatnuke-2.7.2/sections/none_Fdplus/0000755000175000017500000000000011177641445017016 5ustar simonesimoneflatnuke-2.7.2/sections/none_Fdplus/section.php0000644000175000017500000000005510416024375021163 0ustar simonesimoneflatnuke-2.7.2/sections/Download/0000755000175000017500000000000011177641445016311 5ustar simonesimoneflatnuke-2.7.2/sections/Download/accesskey.php0000644000175000017500000000000110464347277020767 0ustar simonesimonedflatnuke-2.7.2/sections/Download/section.php0000644000175000017500000000007310416024375020456 0ustar simonesimoneHere you can insert a description of this Download section flatnuke-2.7.2/sections/Download/download0000644000175000017500000000000010416024375020021 0ustar simonesimoneflatnuke-2.7.2/sections/none_News/0000755000175000017500000000000011177641445016475 5ustar simonesimoneflatnuke-2.7.2/sections/none_News/section.php0000644000175000017500000000214510466734174020656 0ustar simonesimoneHere you can insert a description of the section
      flatnuke-2.7.2/sections/none_Admin/0000755000175000017500000000000011177641445016611 5ustar simonesimoneflatnuke-2.7.2/sections/none_Admin/none_images/0000755000175000017500000000000011177641445021075 5ustar simonesimoneflatnuke-2.7.2/sections/none_Admin/none_images/app_kate.png0000644000175000017500000000651610651422661023370 0ustar simonesimonePNG  IHDR00WgAMAܲ IDATx՘{p]}?{ιtu+˒l2eb(Ml(ńbˆ6t: N24叴̐HژG3& aO%m-YW{yݳ?,dfRW=wߞeC.?sM?:gg[:r:r.NW?l2}vEz\CW8_sc"ܹsŠNN|7"l$w\f>$T>7jt *M\# &zhm57f6RW\GM&v>|.ծQ:022bL2)i%  ߱G\yuLJfyp߾}åRosMo\? 9gO*F&xØ0fKƌ}#MΌ=p@φ cǎ/P߃>޽{wq 6X###K5Xλ6dg6_s1 ~뛏|ob W矿uV^_t^N|\>W\e```d SνcfHkgܦ]I7H$ΛqA?11Qqg%00^q۶W)[˿w`^}8{Bdh4QDo@!>yBf- ..Me%YwS07ZSe?!DAJUpC CG5Ь_4PJНd>ʃ 0}FȜQM|%g? 2~h?!>7I4h@ FIhZnhpi% Onк|C+=2T T48FVkKI[Rq-qT U6iF h Ax3!r! h3ljۨx nfEA3- =bĩuD`[\S$|PaE:_YVL@4#eXlj\@v8aړ! }-[NQLATʹ8-@GwgTĕF) m %% X$W\pBm1LHַ!T %U%R)r(urB9}M[ZIQ.TAEhY@.Ev&yNObLDQ"*` $,CEeQk#`;RuaclrK| X}ۈ^] `.IIPƜ{I(P"VXO93)BAlmsFB_0=)5,"ܙ?b$t& Ł5ZG UJqR"(Zg2r!Gmq#~1`̿ ]C"0/ZeەkL;ЄtKiE aU0"ɷv~:u!X*ԑMct|I:]׵SУM̦ze^5>1 {*|s8j;ܾD>:"#1M h$Z.LӇD5OYGQcf|& <hI6-tzdy.Z K!cɱ;?'Qz{_ƟBFjGX'Qh'0`ևX4gO Q72s BѼ ![5DǮ |i(H_нv\JΡqfI!kNޒRoi]yD#A24~* 96SttttG?4Ni&ċ$fj '3mqH3.mJg_ zW$M9ЙNt@<7UtJ@CZ7ѺIDQH>aﵿ<<zcݯs7|(Om3OQV/D"UHN<840?;h V~6m:2H#),Px!,/ ڒt$EQ;gtQN ĕ8. ZٖS'rl3LkcJYHی6}Ck9 *]Y2t*_ZH*P6p: B+E@)],jC,k4().b"努% EJuv"Dls#m$&>Ds2ǰ8mKu qS`t漲5>`)RF݀1^x!f/$*B_<2&?$bȔ%/4"PBTS1LtznDSnHWZ؋FB ,t H 3fzf|h1sLs JnjL3@!!Iʰj PYq{;7Md")*AR^ F0+jV@Shrں٪-5sϽž}1 RLSC 8m0tn<`s-]τ ÙxCx~&::x.xLtܳoof'7׋JE!Ke'h 44!n+aeq3jbi.^ƁOyyv~8!gEd|jI 4eym-MmdQTs0 SKZQTkm47wbhf"pBl- t5Qf*Hx:99no[JAQ g x8ww=dL&poE)So,0u 8W@$U  1cj2+1&M{&i.hG$EcyV#p-k_ݭ$e ԰,(۶}g#9QTy%14\ؖCWWZ0Mqq0%.8q Xq ^=?;Lz4q̀>o]B"ϫ^)4RJbQ ]zt*+On\aE +1DMjtgvM71jd&csgh^b (0^ _/ ]46umI>;rߠV̼&I9t3$Kg<{ ]bR>ԊijD"n ^ [hB*YRFf8$`tmLZIl)6~+ ґO54<𭱔 @"OL#jyW?Epu!|$ 1.Bdxu ,|,!mlɥ9H&H eK~>ţ#'!Ô(՝@Jq'$ð(e}ahжޣci6o_,g*Z^0.="tvC]}۱) TS!-εin">3fp}@w]:Zz!;@A J MGZN>VÂ(dӷuо8DvF69 \h<8J^`HQ-ͥy 01s|D  9 nIUsFTM+jG&V;azЪAsZGt"R'N ROS~y $@^ 9HDoЯMiRA2v=A 2@xTa$@ #?Na66@f^G!8.}nE>]z4pQTs/Hr9迸p[`6ހB3|jd&&i>K]#(kͤ8|$KA۰{ 2! >`_N0~d`M{?uTMb6T}W_8 j7 ^ Q.w@(CF.Q|OB3a?m P2)oPм0=Z nWRlL{M@8@vL[ $m19UwLZnToD@gW/τ%Re vc|900t"ND׻#0z- fqs^ a:Js*ePDA3`ңʦO `1БHV+)% y˖c/݀B}az3:ıզRu_He/%&.CfL]R􌯁<{S.ӭh!d ns /[_X+lDXqؙ2\*+.!g`ܗ)r h:$鿦&g;-+o?0Ƚ20u@ Wk7N] IENDB`flatnuke-2.7.2/sections/none_Admin/none_images/info.png0000644000175000017500000000703010653051316022524 0ustar simonesimonePNG  IHDR00WbKGD pHYs  tIME :r IDATxZIl$u_Kw]}8㙱I%mY6   9b!ܓspA%(B$ˁ`EC>ه=$foU^WuuhlGAxRuyyRJ9YMfixr/9bAp]"@ "zVq\|O[__~7E=u/3'<[,'xP Z 3 Xě?@u. 6,< Z=s"(KPei+,hƃ,*Q]|Bysgq~w&ds8? 'Q.AD]Od(t 0>>SJe~<d9jj "J9;pݗCG+I|ihT[B- `asH c3saǐɏȇ1仦yQ fg M~Z9n:y6tbzvVbCV.9lP,D ;^\W( \X46xHy0 :V}/:l,iF< <<2 ccnJHM|rn GTt ޸ܡEfb1l FFP;>PڮBDJU&()Zmbh1Q%9,jy?_gr 䇋Nfp'$ R9dAJـ `@aX@ dKwGgbhG!h;uXGQg+!ay|7S>.1x 23L,pc Ģ^~zmA 0u@8iM{3n3~&/Y&OX3Šj$$@đhFrKP( uB!m$QN,ŀ1a"I鎜T0U!` YY+RP3C) Z uD-&% 0aCSo#b:"0X7w8eMH 9߃ b$1B A}YðR#u 8DD "! f:a@bII1:luNتWYZvٗqQ@`tɀv]fe!U:c@[uНz:lJd$(8@T`% RbE gO6[JDA"h[h+͠@LGٺsݨ4yC?A"&H SB9mz\J*Nv}ڽ{VugAZl=Q,_$Jb(V|4i0 X8"],[mmQ{ #u@`tgv PE%b+bJ1@`Rp)UHk+Ɉ],DpBD?N3R 4zU[Oʗ-kur6hckNٽ?,=WhYg@hK7?x0|;N|?c7E]`D"V.hl0ة07ViGOV(*+?밳fH4. |6WJS3 eoK>ذ"0_na$N'[\^xƇ?./زjٱd}-[z&C64.صƩ#>&Ǣ7,' 9xif$)n\]@v m@Շ* Nɔ>F Hhz r(uh +Rʮ4ڥ;X_Zm_zrϮ'!Ao0c42GEC$b4emҭ4b.@d(cB7?V!"+wn0U=Է =PD&3RX%kd+iWex/#~g?V@-a?{mt훥bᐖ̰,Kej:.4뛫_3:b#ͧY lV+7*2jb29R*iq \ih Yߪq{k_d6~Xzܷ햸OFRM.^]^j^n`ZV{6EjzSlԱ;7cL ֕-_xq|'=yB (0LDđ2OYv8yG9RʅB AAkMP mfmORlxL@Z֖`7t.YY4Z6Q/Se~sިpÛX_ٛ>|xhJ_$jIENDB`flatnuke-2.7.2/sections/none_Admin/none_images/poll.png0000644000175000017500000000717010651422661022547 0ustar simonesimonePNG  IHDR00WbKGD pHYs  tIME5fIDAThi]yrιn&tl1bLbBM!BR64h*EݢD)U4-]PIH`C16xlY<̝s̝ݺjg\iWjシ&mY-gn뼼v~dx|:îw //Dhiҏ0 ~y>jÙ۷nX[.QPoAMGgŽɥ7 6M躕YQzYG|ߵ(?t ~, ӓ^lHDr2J,ߕ]K!{Z.x],XFǏ18R)lZZ0B0!БW ۀ/J@'72Y]{ ||-K$$eRL P?A(|+@  {xBR, 6  T abK,F 0GΠ( k"+r! ~!wem^D;Y;u]V   ES9.dpx^APsLĞmZT_YDIrՅ8)l$ ^.%JE_?f$٤Ɣ"=E-#rOflq!㤣*Ƶ U\6I6 jD߁AjXvT4L~֖L 1DQ"ˤN ȵAC҄,THB*2)=򐺩U|Zif6jE%g @ZHtKP ߲ekjד" IB}VIV ^bSITNciL0u:xOԣF6|:VhWf„H &#ddH%=zQ1 ےdkI-!Tw`չ[oYMAΎoȨQ*|La5/N"z L%< hڧ.)2A+*R.RjH!dPPT;8Y5'~`=78uf%b-DA W(0WˎSB fwQʐ̓" fPèjP4t"Ab!Pe-΍~LtrO4łx&j6qr7k@gkcb\T'"7l+2XJ`C@H*wku=Uk敯7!iC&\H$v{l;J-W~G9`! 2hQ 4XJ&&"Ğ@`bBLW:{59aT'ʅ@=-r"  &16m>&8[R1zacYDDI,"M,69lش2GyrZ6|֎g~#_=!m.BKrpck+Rb|dP<ܡJ9nck,-\,2482.@ T}o֝\smށ+]B T 8b7@'C{s}yz)J ƨ -ł5XҎAf,i4OqcY9H4E@7D 캹g}nŏ߹X:}OZ[w6Z0Yj>8SWQ.֙K_xԄ~q*rV$YM`@)ƕ2v; {><@#L [UPul}V>o˭{lrRDɰI^Yeߔ;oBŨ͎qW6L '=*[XOlݤy*a<2GVB,$󈙙5|o𞙪I5|s>0ao~Mm6EcCF9VHI2t\s',t,ݍ+:ɡIƣ>>hg$ tᐧ\'ZOײ]3UWܷGřSs/|$,y/`:Sg9fXaY'os Ij![pU|7!$뜙୳oufGox;C}ܼkGNo-9\ZX$Hљbe~shMF+o j#VN3Q;K5,BBp*Yx^~ŷjwoxSR90u=绸{tfk QJ+8%w3BAx4=ۅ.Ɓ:Qy8Sqd7F2$m mM^sQqh4r/yP:}F&K+EoպMdeKh #ዪr<(OO  ߚSrJi2+Nw2+Y WZ$`BQjf!VbYc~ycsS,֖zs2yexGbd`+e\$Z2[e}}@y:|9rZY'Z燻܅ Bm`2D)Bc1$;pprbze&Rٕ?Ѩ {Еn.}QA ja&+Co#k=3%QMx^[3pT. Õfr2$x!SkJ8xA*OF'jؘJr:L}r28@=0%-WJ>2F!x(VsRuo,zRDnb\Hs/w"VSd؍ f#ٰJa uc]~YU*2+7@ \XvUF lck!~^y&nQmcETTg#z/B~%+&+ fe^ݬ:/a糿/_9X&خh7#pb@#ûb\ES@HI)wy_8!U 1EN5N`4H!ƀ4̓)~w7 e* ˬL0>}.Nkwjfdd*HߙnD=K3 "**珯MrjLXSdK>y wrBWGcKn|ӏ#}`# HqRBtTao}o!t@ܶgzٽgvXU}ahQT1#bG`I:xGN^@kR`oO,d"P_͹)v_xphwSY_fmQìxd,6,Yl.R,棓^XyͧƁΥ4ПB]>:=(Pg!n>ldpxK{kc_P%`WܜֳlUE*4@NT0(x+qhǁń/pUdaI!@^zwfg;s=c^xmz{wK}ݗl jg{۷hR !8 Ƙr333qGVru&''X,qk652#@'`0`"4(%Dc`˰'yll>)Ftˆ0!H"6ܵAq"V"6hlKs$$/Kѫ^:"chCMuR:ˆ(czc(}T}v`"P];N1)s|XEiIu6H`,]/@7vTD' (:?K=p*OTv)%NfgqJb"۽D8ݸ"mn<$BY6Dt:b)_BKXk=h)%~hrd.k07 VəFӠ5Յ RMD1'pY(@H tT7ZktBkMy>k[~sR.1]QKko9ӐoF!)%J(J(h08W0\.ބXHZ`z5ER1K= bP( |bs.A`ԌG-dq}0q4P#N18X\6<*K㧧(Rq>6R@ZM,˦ZmK$Rh0iy;hi6b1In:a&XXX`~~rL\fqq۷>窫|Ahj-6Q$H%l~ jW:SZl6B`Y"$Lj0?=Kk4}4n bd8+I0 OMĉ$r!Z5 @XS+kk ]VD&mFFFhXBp#Nc畅RI}rYXv,B8\ AAC^Dz,1\}T}fXλcPӪ/zaRVt:J%4;J"CcÆKnS*1PTZ?{uZ~W8FQR\x!_qllAk}] 8~|+~}U d%!Rc6l@Ze۶m!W_6žn!y 1xBmBȳ.7Ԟ۷o޳gϷxlE 1>>[nek,ˇaexhYA & Ġz:FA<u]WҨ,CTaP&Wp%D~("{PjRaoiy sСj.tT*x7<`uI&!Kd@ Їc[1f͛y`˖-Zt:4M* hbg楳Oup]T*EբV5w)ًO^YD dE0{;fC&9z֟~ }֎ܜf /'=7} XXͿ1Kaʬ PX _@j»}SuAyNMMo6x<>L&E:&NJJ)\u]$l|H;#_p]7MKMOO3}駿dXj-[nMU׃zGޝ 0h;wAs`Pt:ϕmNt\ӏjg}~ Ka^y5{etU6]ރr]_}KD=@-nEf۶mlٲl6=k7{o<:_FX/g 8p"sO}Qau6Y\no_~\zhTE9V:\>ML|QjBO|#l;ܚ <ާ>e>3*|=<|xx\fyFGgff-׮X,t5y'Y8/W}`K. *Sg%U]:YLOK=:8m_ThDJ}ͦDǂywO?E][tgy}#o&g~Z2o Nslvƍc3鰸X~>?E2<坃1ssǗv?yt"'Ɏl7@R:Ğo [ԩly;:)^tk6o|1X.FZv{m-:mϫ?W.O_X󩻹cD)h*],coLL}~{a%uQ,SF7fM^\.=vF.k>5$:)/OvB.lgqW0G.V0 L^ g^ʞN3fp)@IENDB`flatnuke-2.7.2/sections/none_Admin/none_images/app_knewsticker.png0000644000175000017500000000773310651422661024777 0ustar simonesimonePNG  IHDR00WIDAThKusoUukzfz^pChQBY-ò%Fl'd&؁dي8mE`I')J7EyLL'&iѲA@U{%ʯ3x((  Aq>! `1kZ1(`,1AJ*b 7rK (h `8%I"-ĈQ$ x=16@$"X F'D~v{fzzo߻AЇ49@t`ي!` Rl Fv`DF "1 bAD@UkƬ5 P*')Ģ8AG yK$8E 8iJޥZa " d5"t{=H(T!aT?ũS';8 s| nKeN&KWy;S*'x''l4XYBs{:k,.Sdy | t;BPBxp@w8z9^|?7xs_ONwoȩj+t;3`z]?~f(wJ$ix[o>38kORJ77OTfyi.^@ϱ<:=jξ}nGL<:6@\(P.)bG1`@ @7Bc∬ߣX,!(V$-|NDb"Bd"pS^=AxP <`cs8}}KM *AUňHT& ›oRJt]BH{fYX^C0Y:&,gEZ#s^|So\r1֢! P(K=(_WVJ 1b1qB)-alLh"b8&L51N EQ<` $q1'N9z]|ξ~sr1t!*"6g>=M}bBPʩ$xHyPI6YHm\.NG벾Ax1tu3$033s 3,c~66il9p 46[,yOS|/ŋdϞ iB`j'vm'*:n4-h5QH\RCVWWtvQUw8hg},t:TK%)v2zy`s;M:zdY1iV:NzWYZYmmsi;yܱns9v;\^Zdxdl^!TCll4h&(4+QB$&Aqi$ ކ0% 8ɲرc&;KKK1yamc甊EB@=J7^?NccLrtvw0PL|$r6n#k ~HHX!^=DCx"Ql+iÇKу>V+i4uݡf.~@$I u"ipL8n˗C42FnAEԫ ;YQuC񭱱i:4M#9uT=B8콟WJ 1D?Ln*"Mk䢨j~_SՒX1& E$NX]ׯ+z׃_tUÍ|}o|@Ư=~MIIENDB`flatnuke-2.7.2/sections/none_Admin/none_images/kfm.png0000644000175000017500000000743510651422661022362 0ustar simonesimonePNG  IHDR00WbKGD pHYs  tIME39 IDATh͚ˏ%GV]]U]vm!/FB3H`b! f@XYq_FK#Icp XWPdX Ɓ5`,F*C%ygpp!/>gsxo /&KOIz)Nr\ؖdL97``b)XW2m\~ {|…_y9#M^KSPyD@++MH9S*jd 0J%lZMz, Fgv/ʇ L)Iy )Hޯ3 ǥ)F0ZΒ.a\2( $^!ktzUa` 4Jje2Lʖl Q^hcRVW[^Yk@$Y0`"g:_|_\7Z2垦l%1." Ǿl{Izikb^KӚę:j¤R 4tl$}WjԢY6II:+@LlrYX'idiL` Ϙ|,L! {nŒLźT #ϋt#ZeKaJ<)%#d2ImHy OLcm}B[tUQZ)hWcm^QZc 0 @$RM-|+OgIvl}^G :{Ǟ.. EL253V+S Z f\@KՂ6 mc5ZkNW{| ,}xbi2XϺk: +))l~&g&U);;wM&׀愁G֘HB9)N͐RG-rblfc!4%@Cp%VNRHqjA&"Sږ9ޔubIe'#WV R4`CK٧VJe Bi[<8"2)\ȇ~H8-TUjZ|w^µu|YR ծG;ܹC.\2^\`1oDsi?"˨ir*\bhlnneΝCKe "|6_W|Fvs=ǻ7?XCV4 8$Cbȉ>G24h/=s;{'X[+534PeR,*9<K>%B6DCF \CNYHђk i&df $mqfaIsɨ*lIQURE}yB啮p|4\ћ\Ho,&ni Q#sB>B?:AcO{06#2ĒXXLN<[)>(@=摍A!~|Ḃh>D}jD v TֳD|2-b@< loa4i-tVҪs"_fy罔nCܽA~A b-"1SEle:]'CIEV 2$?A1*1@ip{?}lo= D&>3L-0eKmFF /[L~  "1*C1ԙ"I.H*alpX(q2V<}T=*8-d -ZkZ}D IW9Oˑ‡XuMŲswLΌB ~|Dk58>>¹s٘4MJ[S JjFhXY Ǒ#θ!;!j140&ZmtXB6J8u&TQ3#HlX'G ZIc!2a<'ijH3 $M*!,L4P;R/ j@c,$##gLcjjb O 2Cl_bN!T^b?#]d[ ; 4Bʦ1b%&5X0,, ơab@c0̖1, f$2xD+e76y۴;+Mj)+SP2{JQj89tȃ%@>@̉Q 1JB=._e!=ï/sO1SPWX>BT#j=Yf$re]xc{Җ9=EPIi6=fBۤ$!YdŔFaXz+fz#wʚaQCć8:!9'qn8⤡tj$B49i#=˗e[ڥ"Fse{)zAY<.8c29T1ędQA%*XE![h7Vxh8`۷pΪmNn}]s2C^f={XR1$i%,tlTTxj @BAclu>ڤ9Y[^Ƕfps3?qɻE)'UGv0A9.eMSPШ`^;k;ƞIkǞ7.tWEŘv,w=Nȴf/1tc<Q~d. ZtZ :@o=f_6^!%a<[W,3LM+KDXAGJ]YV,\\cv'Ewߺ}yΨ5:ySGn?N?=t{{?1ˎM kiteeteYںoSZ;)`EdG{?=Ƹ{آ`0 ^ұd"DDCb Te8fs $IB+5hUd?@V~fD!-/ݏoi"ejҖ <,ܲӘ$ܼG%ιf< ,ەb_L7u9JIENDB`flatnuke-2.7.2/sections/none_Admin/none_images/kdmconfig.png0000644000175000017500000000611210651422661023535 0ustar simonesimonePNG  IHDR00WbKGD pHYs  tIME2+[ IDATh{}?5~G5vJ#TJS!%?iPK(RJHZ;"H&uH](Լ_˲^ly3sg?;Ԗ##;s>|9o'MW#uYh%7~kO7k0|1t4FP}xeüo410F<:d[֞?W9R6۫QJE TÜ5a-\xԱō!7{d{΃`$^(4,= puAgkIG . O8 P0ͧFC]叾0t>JoR|{ \hjfysLX 4ƕP]DcpRk-sYKN?Ӗ䡻CCX+ȭùDAubO4' NsWG ϲ3.ӖM [Jr%RȬ!Y'5 MTJRA¢C@#|ʩq͟| /jT* RDo8OU3 HJܾW!z/xčx<^JZ! ?)77f dyЅZ~!՚;{ɿ]U"/@ x B)]*ǻ/+.9AEy}ԣ;!cSknW:-- kE١ohKy8(瞎h :O'l::Q+|GmqQkݚyɘ^`͇!lY^v!םw`qt+}+]r>}X/QEo}5^^GIܼG ud鷣vBhJa& aɲ1֊h˔1BRjTC+Iel 8#3b)%Wm_RBYT7U1h1ZcFkEcR~]DIR$JJGR z0Hrv$+Sź"2 :?*@{Kozb\AkM5)օ! Who3\JIOppK$ FYLAAJSX i*ȭ_Q,E3LM!u$JKIΦ ?L<1Lk'FfHY R9s{Z* ^vd/-;؟䎧J YDzZNz6QR"{YfIS+ב8/_ ֆzRx~_*w+&wqOorH v7W!gR3u wo/iVa۶-<^܃1萡f8{x}ttiTJ;gΜsͥR[:tr:|`K욵/9MR 6Nmpp_׾vk0$YaHRڏ٫.{ax)?SIRt if v`!W9ڴҲp @2w5+ʹe{$ՓS"dvvaR!I!vM':l]DqLR{El+Ъ9~MXk֒ 0IDT̈́ Ïku${z#{Bqۦ,ˈrRR̂1:=!> OAyNǔe,c[<۟T?h<>tqe#/j>Ѭ!yqMS TOG h:Ak(Vo阱DIENDB`flatnuke-2.7.2/sections/none_Admin/none_images/kig.png0000644000175000017500000000574210651376214022360 0ustar simonesimonePNG  IHDR00W IDATx{p?>lB6 yHy,IȀLEm**FQ+R+/T 4Z(G j@ @3HBd_?6&"93ww=߹HI"+"H w-$E-ɗ]GaTGD!eS[wא 9"[Du@p|zv+?BīNZ9$s~8 ͗1AV L,3p@ r2,.&%-ײk1.m FufŁF]K֢}l8ڳ>v+es護Z._/fs߿DDܵ_eob6tֱZ 9ϓsS9s8 !:jg[BM(?whx%cOMҌ<^MdiS)9%}^f#kq9i!BT% [[…җ@x8A=lnf2H᎒_4$IB( GI1a)DtIw0[drf;uҥFhm2yd,z[v"GvA ZJ!P^[˞P0@`Tp^=VOa4 %Vǣ\-<4a8YZ]#Nb$C#\nP ;HzxH@)%nB\t;i-2'b=h7]wohzRSSt /^?bg C 3|"\zK>Dg+_~)Lz#Cd̆P+ҍDOBFVB`2_2wR.Z:Hzw 4bUȇjwG"IP*S 5U}}OMѰW_XCm &y߆&S#*3ғ~\Zw-klj Ո9/y$yiOR;5M u,$Teeh"%wN,XgNk|be{y ɾg4V՛NExWx (8A~A!SرM()HAݕq:]ĬZӎ8> pj5:w> *($+ˊ:-ޠPoZ;;~}|< %&-^{pw\xT; c&VRh;8^dhA!i~fBSX8Eq\ /yuʼd]`)©5=.5Zh&OeĘq$&& z` %?4#ӌe4oE 3MkY5oZ%6 K8 D>LJO1?&)xqȠ9'#W2&rh4ƻ1.eRKLLQ[ӧOY~Q׼gM(Gdp$wT,R~p?7FQoklLC [_"\b-@ Рv56Nd]翅 @hu&>AĘ Cѐm'wUQ]z{ؐH|4@z61qi?tRUt䕠hS8HOaCvv* E<ƲF X$p=!8P!(JRIN^&jg_8@& u~-\dYnƤ;x+VWAfzmK.7"vɹwӱǯ`K{[6߽eÏѿpYY֎>ciI> ]W‑ C'p uÆƟ=ܙwm I6 %[dIB~ /4@Op{YIc`;nsj!˚5@8Ҡ;ʂQ-|\gk/ju v='ңQAɨ$;@%@fZZi4Z u'&oclf;`_e*_EznvyJƻxp mC* ҥ>TY0ump0ʌgkUb"<uǾb]PW]=Rs#DIs?NQq oWW߭Y(Tr#PF !_ \7Y!<MlV65qC^cAvQ8KL&ntAXkiDZ2+!7YrMۭ!1N{S yƇzPQQAMM E鹻>455cǎBt>G`  oXsP+rtc߻ F IENDB`flatnuke-2.7.2/sections/none_Admin/none_images/down.png0000644000175000017500000000576011022467451022552 0ustar simonesimonePNG  IHDR00WsRGBbKGD pHYs  tIME2A pIDATh{p]}?=܇$˒l!AMjCGBi3f8I4B;ЄLb31F~2ezޫ{ǽ%Yr$M;|gvcw{www?S ;Y=>o!=U|sZwW_**#-11滫7,}݊" +J!]ۣDIƔMq1yQUvΗkh8W=[M$vBR`Z&՜FMEuh!7!]RIʎnBo1}rfwǪ#wpBX%ߘ٦w4V l,ukf͗TTґ*4w4Mn/,㔆;+[QEGf)?M7>cj몯Wu_2)C`BirZ[2S ,Fɀ}8K?TOShB:rp{ espގ [6| gt^znn%~n~(>)fywck< (1*1x4Sw|{1O5;r._pqguk=ԅԱm7uUQ^jPW( )X)gBLըQЧקY!=KU\SkHGI^amٽ?#GŲ{q/K"l>1"@u;mS;bE3p>#iaumÓ2ʌ8Aӑctdsb%~7+%' sYru}w5XŞepeCnsnD$+ "xXZVˮETN*|*H&K&=_IM}/7IR㔡v6vQSSxsB>~# ןerU clsQK.!=`k#i=Nmp]EYĩ?a[4ij]\E*Px茻>99LkD_Lu|LU7V t~Hl /fjbXoK+dt.*Z&Q߻Dq荘w,_N"j)=] :󺄨<#96UŴ)̩FeA)n:,mG$cT:gZ@Ը7U}{fӗmg <ZŬ79^D%K[͟p_~ӗO_ܿ`L)(++׶߽ i|A$L@i!7w*xGov2'R_47YИXYHc2Dt14, BAt>IENDB`flatnuke-2.7.2/sections/none_Admin/none_images/security.png0000644000175000017500000000572410653051316023450 0ustar simonesimonePNG  IHDR00WgAMA abKGD pHYs  d_ -IDATh՚}ygfe֬õN8JQ"an*rm6Uĕ,5Vi7c'mĊ[0*X@6aY Μc.8c0$:_s>y;3G 曹ٻwo="r^YU}"|OOϋWr۷o/A5w\rz FGGUU:::r?+0449zι+W4 .DDs*JE pqMRd2_n]ٶmәL5k֐H$p᜛1RĞ={V6lܸqRx^zƘ?-燈`%NvZl-[;j+\sI&(y*Zsy^:}Ko(8t;wdbbc "yr-LMM}'X0iw 'jJ%m03ƾyXk?1#2zZ-Q|rZZZ\\Zz{{T*T*֮]E XdT*] Ν;3N*mذrosۧy3]۬R.yܼyVBhӝ ! C08%!ϓd_#tNUj~Eoy0qdjr/*"JHtg!-[J__}B6`{ P"H$ μ9+gn-0 AL(C<=,_UYooq<ȱG/R:*WD\"^yx(J;nrh{tx0\>d0 <ѱ }v+ ~ @"px҄PSs!g ` }3o<\?BKK$Ƌ5?~n 8/n.@  ?k@:bb|qA2.+ƀXhc K^6 ص恎LM 6ެJS Q &@bf{\O="( Q\y[_Fxq _66m$00c!3>S=4#%6&HesDQJT"pQ=چpQoXP" z{ۦDӏMiđ3`!?EL~FFtJT N/(Y6ܕs0wGp϶s\Ì l4}i7`xrmvĭOeGKCZw+s{)6Fd3|83ȟվ* A $r%Xh@l6?a$BQ̜(_Ε.5CȣKO (-'ˆ3O:B_0̛*~nF+x \ ]|?|o9PADcw7[ቐɆ2z;ۇm,rX0tC[v pHPC8t"(~x\;X\°~q>N#7eӚ6F^?ƳG\Ֆg|%}C̓Bĝ(d(mȱ-3-BV80Rg z;l{ :FG)H(B[rr/K߹ZI>x+e=5eԗOaЈ\c?qKw;>|-A0x@2Mv% ak͚%l]7tzs/u? >X%CuAiLklt&.ޚ$'=dƣP.k3΁삛: Q"'BOWVXG S=Td95RS3}Gp@DJB}^K`4V0Fya0/2uK=JPJdFN@(S{ȷ$ķd>~`ԫ44թ9 XU*P`Qp|C "8@d4 r9QGӃx5mٻ. ֮t3ZQT+BC :`~ "%tJ$J$B*GoGJe1@BHhWX#&?8-ުPowHJМBdu%CRpu5BNtuJ 8Fʎ) @i‘xNN4n5"1ĵ'G0\V(|*GCҁ7gԜ ( tq1vaT*6KါB!TT`ˎ0Nix?W5hM{|?mY{y@$n6@Nwywsq}ÎE0^mmB'4̞ LbmsHx0%T*q c#ºe|Hy*$[}SZwwmTS-iIjCX*g#)q[ r.ISwPn(?Xfב%-C5t+!bDؠV AGd;ux>f?z#§ppgִ҆G&0$o uqf4S!S jz=oD~7C\j+.>59jË}8X%D3ZC@zv Oˢ k?vj+tEXtCreation TimeDo 24 Jun 2004 17:36:04 +0100vRIENDB`flatnuke-2.7.2/sections/none_Admin/none_images/app_lists.png0000644000175000017500000000571010651422661023575 0ustar simonesimonePNG  IHDR00WgAMAܲ IDATxݚ{l[U?oy5hpRj4-- iF?c@b(4Z12Pv#vAf(J6yJ3y8qNc;vH$uj+ss~s a\d}ǖ-[-@l)HP^^o.u8NS /T޲eώ?" G~zmmmMMMDiuLBr`痺\hH$ ߸qsuݼy7ewǎիWo fg !fM7o41  cؤ|u}vtȑ}7XnjJKKbxb͒$Ow?!0LW@$HłCDLA.Uӑ`Z3G! L3dY I,enӟbLK|غu릆S_ooDQZ.\'?MϜa)#iKIBn^bEE(RǂI"l Gv(1kӧz=؆4$4 Iֶm كXb$*=@̴cǎڵkm۶?ݓ'O^t|4[Ch(D~Ǹ.` >c~E۷o߿gzzzn =zt믿M6ݻwQ5ktJ4L&|>ߨ+|>_;?с_>n+>/СCO4$OXBf3i,ZqS Տ]ב$P(4 `HӴoO8z~Ν;7رoΝwH$2l6cXj`͹,H t#" ǃYYYiQQQU[[9~ aU˳4Mի\zth{;zK b 6Rӥ* ?o5NG% ۿF|EQ5oݺu͓'O6 ŋQټ weR)v,SUUV|rikkC$:;;ꫯx<%`ݺuKrS`Zbƍ9}4,se~?֭chhg}!=B Z<v;px* [oxxԩSTVVxWl%%%bB!"PE("dYbrrr^~8`PD")ny/++@ ) )Bu>=b'NC,S4M!hCezEmm[eIn)ly Fdgg3oV0 f***صkp8(..&//e˖Gb* `hhHKΟ?DIhllʕ+b14M#( XQ>o Ԣ2%ֳI&x tuuJ__n=E>N?cccV#\N!ȫ 4u]'"'|}UUFvZ|>_ @j>zϫ׮]\B#aI`"B)a6mڄ`۷_I2@q3q+LB4ƍSҨn4R__]d@ nWB 2###144Dyy9S^oi#0 2͍%V{a<l6bLdY&`4MMM]fK޽{U_w,v{VVVʕ+sʜ5k֤Eyg%5i@KM'@b4F !11>C4IbJB,P qy{ϽIfg937%yo>oGn/޹{d_7O#Ja $Hm' aa.RYvI)?KcJ!C} $#)ic K2/iP8?7ޗ/fJo ʀ+0p?B  A~ |)A(m )CP@bQ(} JIK4Ʃ>,x:X`CmcOori@w5t2y]v!a(դlXº۬@F҆ZAէPKa,Gd5Xro>KL9+7e2w?}!U+ea͓28 # ,4Dةj6c(&@}Cj eK3%RPuQ|%$'r!%kaK٥+@qZcV y?WX}T4f5&mkִr`200VӾ Aǭ-[X(U QOʅ0||@0F*b䞶Fp 6%Hel6)'D;〪2-F?3Um.(Xʯs]sY>ޒKѡ޲i|IX{1DX04S}k6G8뢷l>}un۵}Rn :Cq]Rw;֤WWM+mXDzTMRШQ"M#`k8t":h (^s51Yq:rm1B b$yT+ue -,*55R][ف8SĮ|OLL\g`jaC7*:tp?p4fOwЎDWEvd3t77СoJN"" IJ6kL&/7mR\e/bn^څ@JŨMD2e/,8L~nmZ06usڑa~.m GCh>?mQ!h5 @pO 8!/`/$A;c`ud[m$/ 'ۖM(,O=n:rp NCbeQZ|+,C!UB{}`wSj5FlNFV Cm"<7BLܵD[MOnJ%B* O]_U›H g^7Ki8>| F6 X/B5+A-L%t[H&AtCܜEv t1a@v24sLv[vSҳ%r~No߰B,c h@'TV.53›:wqlF,bOۮV.; } N!qb/KD.l_?>vS)~'#`Jӑ'h BHqTXUX khpde`# Y Jy}`MR?uww8h 3Ł񱝬YtήX\7tQ0EL/|ZF"*v:~~wVVinJrjX)p:xt^OeaBN7 PSOy>MͽEȋHoɡ/c}4L>L/~gF9`7ρŖ &Ma؝y{7Bӊ6 4]ڔE<@" _q#OJ!w+ixk|ܥL/i6v\3og&ZΚq:JN,螇'=`͗9z AVK'B?\.6[O޽v Vc8Kŵ̀yo`;,i}8NPo_2:r]УF{rZ`a֌Ne[v+lThqqԽ](lHi, ,$8U< ]r";wT.cvaNM ?{iȩ\5˗{~^G%C\(LVǎ-Ἂ@"6K츝`N xVDWWT&}H̓|]"i!^m.P?}(_Tf16V1 c-u\x: 2-~[RnbM#c%cfvJ%3 oplԸm]`QΡԝ.Ӳ&D"&4w9&2Ef87Hhp͡T |2 od6VG9A'*P``E@.*7GjЫ7faLh ar.Iܥ=$4缲\B>fW[Xa\@aùǩJgT)1-KK5ף\٥Z N#9W{m‚~ )ú. ]GKzǙ?(θg`u47+uZUΖ=jxo5شX]K9ٷ<^\ ]5jG?w=x}Di-lFsȁ]N屋by4GKg+A~25W<W(i7`-؍dLJo]+\.+d ѹh^QK Ȯkh-| ({QB@J Ѭ;ط $5{ ب}?5R"?iNIENDB`flatnuke-2.7.2/sections/none_Admin/none_images/gimp.png0000644000175000017500000000761210651422661022536 0ustar simonesimonePNG  IHDR00WbKGD pHYs  tIME9 IDATh޽y\uZjXa`;@%*.[$ ;v;JUlU8TRa1 a -hf$Mkg{z{޻[3=pnW||smܾr][ufMQZ8*5Gl=688#΅/o(M,V &0u膆4\9Xe]9d|xH) XU[E4^˚ !?K΁l!K3:0A~&*u2k? ~( ӳU"~(7UŖmMl H|Isca ɜz!sܝó/=}hxxkzCC ɚ?}sZ②Im6VT#!][y|Ǩoc*6"f 'drpl}Ǹ k7t\ ijpcym#441prfWWaz^x) p  ȹzIZÑ^lE9.'N ZW2sK/2׷о"^kkw]먮 9;xlzOaP\][ؼA_>/$k@xɗ6omxB$Jg_kHO!xUMόs3li!'b'M1cUr*GfP\m^ep-1Bp}b7B/k,6M7\0|]<7ȏ][߈t(E\Z!O)\ \5LVeIyd:|3l٘Cu4]Ql::{vU|6_|ڽqo#7"Co $nʼn$r aex?uim-!.;HēDNWS" sgho {D׳3KVx.Ǭ|^Vu&Ix qB{N}PV0 إJŏ _}׉!?wkV(5߿P̀ͯ&PDѥ.t(Dk+^?vmw:]ٔ渨&&Gk7, P%@Zhw{urm7SSy"u|O/vAIJ=SUYG5rץ/|/%!*+ě00 (|0Wo{6vtU@) ){5RNx.Lvq&(O;^vaXV'@MB6ϣQĪ ]cS޸EQl<{Q(W*G9<?E=n9ß|vIT )X\/X, k{}+蓟kh0=]V(Dg)1П#4"|D3,3n]Sbm#G45n<㝈΀\w4mq h/3uu*K`9MO1wb_n*[MTlM7FrvOqKE&@(Jmz1;^M'RyB{7hoa_#s،:,,<}D7L(H-u*&"/ A:C"X wLC|Mµ]dhnۆ1hhѣ8ѡx B-"J[-/cHArfv܊JƝUe47 ׃BzrCj,zVEtP傇+րX<_z.A6'e9S@ V%fݞ<@*T *xHkbb ;&e~|O[Gkj2&ONegts%XU^D6`TgWv@wEcO"pe ֮Q<.HI5*eQ!Wn|sBjԖPB禙Z XORɉt70H\75V5]_]m.@IOtp %y)qN-V*DɬNv"-kaCg=T~2, 2vvEq%p{+lP&2l5PC6a-RJ)DFIׇIDmv\4=PbEjum͙B9oEo!/. H,hc9ffgzy|cVY^Kq3Ls xiPhɦBg5;4| C8-(z/XBrY'GvWa^iH(A ! 54$V%4W[*62ȱ#$N;y p`@Fq&#GenN<ؙU(U5XzwDzOlവxZ@V*Ջ,a\ݗbt2:Y_7\yD+۠\"k\Ⱦ=$FFs3@jUj q"Y}5PTDms5Ğszhe_kjo({(3:͝^* gG^]ֵ֛?Hy-x E}-ԯE%a_jӓܣ/?c@גwb)ө݇NY(& :,.kB 6]=M'|ΐLU5uA*Fyp'M`YV%=el__r@ҙ'T!Wfؔ5W U C|GݕaVUDu_N}nH\m)IF:uW!j.'מ4 =Ҁ_rB3INɟO9sO1{|-inCo DZ>4}'ob)/q"d| <>*J!"G<>u[[~ Ne'ɤԡטJľدgξu-흁_)6S4J`9ʱ8˵~ɧ5cb7OszMŎ.)3JZ.ベ3>77Ov98@,-xz{}7;Y޾݄ϽV D}5j*߀@L@$UKJX .M+! ÛY"=<B} j)OoN )Ma( 2nL$0KJ<%02z8k)4 /YcC3 œmgQ$Akk952B L@4UҌJ6A @)8r`ɒqfdIx+4K+ AO/ 6ptA㐗> gN`j&aC822ȪE010C03d6xOp`>|)hzϽGx!{0 l nCC?x΀Khr83gN.3^;|p`r@Y3sD$uIENDB`flatnuke-2.7.2/sections/none_Admin/none_images/save.png0000644000175000017500000000076710653051316022541 0ustar simonesimonePNG  IHDRasBIT|dIDAT8MkAjZJ1z`=AD_"E&H~Vh)JEِPcnyfC.FAYvS=_*00/2(ܿER`?,֩Yes\=)΅w|Riscok-`t͍8KZD$ZkvNZf\ߩ (/ Sq_D', 5{ꚊD`x JaAjAk!R}|np~F]{'IffN 0kyn~rc q}oIw>fcO!a xQ]~NH9(B)E$ 0Bwt\svZ*Wz^o;IENDB`flatnuke-2.7.2/sections/none_Admin/none_images/add_user.png0000644000175000017500000000575510653051316023373 0ustar simonesimonePNG  IHDR00W+tEXtCreation TimeDo 14 Nov 2002 16:43:06 +0100PtIME 0< pHYs B4gAMA a EIDATxڽZklfvᵽ'D !4 m (mITRA**TTj՗ *DEQ_?>P*5 Ш B G!5v0vz]k3{eF9;sgww^waնCACϔl /XVFX0L gN~gD.N=\bYxThR4Dh> CHsE~<1A -dғw\ ŷ'c1WɊD"_kiF4>ga(Q[7`(^OM!Ct>2eKmXC QYu9÷A ]чA4 kP7P,%rY]saԂ^oaY>]d4sAG[ȐNlv,tVWYA!B{H٩Vy%~suz|t2nCH43_妀"N >gF{'_;Aww-| ؖct f7sSllؼe;^Rs <5L 4zW- StC?XP)t&HwA&! EhPqź Ut#_*CYJvmnԔT-\G'ӬZ$yXZuR`ú=R}y.QKeKUЭX: }2$eD#ֶչ#<0:ݗp*V( <] .CS5]JIw8*0zB-@,҆s%.Ƹ'AH4 0jx?EM;zkeS oybr* CUwT4b T-劅0E(ݑrr.)WIZ`Uo8%-5TrT1VW]H?ַg>4%El%prZgBbT>)fk ~NФS$zJd~fdx֋9B2SfL-9LSj"'®f$v/D:\J*fQV®,dz\1K Y/;}TȝA~Pz+09* (qWP/82)>g'hIy߾c(z7:?]*=} SLVʥ/e3t.ː|ڕ!fh wQLЍ&=fʉ?ztr:ԍNgLk0J9R>Iё|Cz^آGD{~x]x@r)!1qFTG^-t&t^__8 mW2e{rp{;kPD]VCӨ90Q(|L ( sfӄ#7VNCmT2 ~صW՞sɏ6nK7s֑p;Ĝ ZQOl:(( e(#>|'ѵAKպg5IYǑxI&]4w2%Ѷ((ubzb/PbRh/PhrϐG3bSu:lFҭ|UޡxhEP]Z:"?~([NJX_2å G0j+Ue.uhuй6x2BMSKFZ(޿nMdgUܥMUE6GxEcl( FʄZyKs/}:MyL#-8BM9q)C@(<=!£G 5֎b1|tƒ?<<P "LzxT*nKx<EQ@M:fa:򚦹z[|> .Lց賠vb}&`WR`jU{؇ig$IVa}DH$–?|6_}U37iy+D-~hs~xk7r?# )WUw&$чg|=pBa,EYQ*({"VWWtŬJ2^+$I2 kkkg:@4a*6Ļ"Wy]שi}R{u$I2EaHC1^v?Gj U)d23KP(DCn`'d$r,ٳgt`UQD"}brv2D ޽atiUVѷnuugEM;;;GӡǠvXo.V>Dbth*aiiVޫ4tݡU/.\5p:q8 R)H5 xA^c`dW=kF]-j8y&`rס( bTUPҠ9,!Ij9^"ؽlw65ȲL:7D&OharKWG/hUUQ.IiCG8GDDDDDDDDDDDDo? 9 <H$f="9n? j5PUH?v~ 777"VǏ#$^xX,fKvӬ(ۚ![6GÓ'OlwaJBϟChrܷCIqAB!HwKz(X,yaLk@rӧOm@麎Zz~q7|ϟa cK&H&0M߿nƝ;`=jwL ֝fs&Qr$V nQ8jg{iAXns54`puuEO =N } za , ;H 2]?4Y1Α;N)Xr\.^Mt]4\'䀺9lj0e" ,S? ˑdu@9YrtpUʹu^iq"!.u077Y=;(!f5iLR(}RA0T'#H'”IvTU L4mj l rV VQۥ*'=`X,;@Ys9>to \.8B^xa# R")j ABޥ@X3N:6#n52=2 >}dk llehP#pvT#HW^c״E}YH$= ɝP,qpp`#aRkrmZ/T7Aƛ7o"kuݶJ.t[;6#CT?q/;vPtvsr'ndY9id}`aDXYYA4i=W ͝PVms$L_vz.R,+vuJ%m[bxD "0 "*b }s-N闝ޣ>"b1|.hi[DoԐH$}d|>`0ncOo:{#j赂uFSi P5nw7=Pjg$InꟆ0^j0Ms$`'FUDQ躎t: MӨg{Ӫ$i=ipo7 v9&/Eʗe6>}ku5M{ & àH$Bt:s_Uas' u0~YVվ{!CE ={qq:VyJ!&`ϵ!)#oZ(U*%^@ GߜrL_^0zv8::iԁu.vٸ`+^`0u܂VQwrqz 4R5(s8zE ^&~00Eڂ糽VW4D"WKT* R9ѫ*,lO 駟~B,$?w,!RNI '"Hߏd2 EQ`FOhY"u0~ zMӤ1M<%!JAeZ-=A;ʲgϞQuFߚ;AQG&.HFLݶ.w#,..ҥۇebl:Tl Vx/"u8  * ޾}k#_0}5MKH@NNNqNZFVk]l7""Vo~8Yߒ%$cqwJ"LDo )HdKMPqzzzwD 8}Bt:M!PN'7 95Mɉv.T}MH74M:82.//'R5w5iTU^;t:y}nS=nNfvvf9FOM}W|vBCP"3J#4"NcHy2_qw撚@ܼ߸ֻIkVҢ4 fݱ6֛Knn粴'^"m%tw_H3is (fH׳ua2:C+le ALL&$$+7'MSA ;KLF$t?Wr(PKj6QGҮߝ_>F܄eYt\QÚy4$LÎ?$3mr؇oڵk_$ ZÇ_2_kKZ8ih㹾 AJZIx>Zky苇=x%YXQUk<>??8q%(1F~>GBzR4h&MI4#8ie/aX]:ԒvlT ֿ^GPrKhT#)ao0N`;wIm5ěorsF+max'ujIGJ\Vv}!~·ai,! iagK$=x]S Ƕ-/m;iȵcF4 2j$H:>(¾sVٌؒvW_ vJA/- z5""H„$Lˆ Zfᅅ?خmdżF@1 3<$wt šb?kϱ^"maw{թ~q~?jі,sȩ=]?|9{}K6JO\dlmV~uCgIBVciL|cJ1,niCJåQ27ݽ!tyt j? ,U6mB2<F>@`Y&J)J0 y66H4=iYpÁsNq'9/ 4J}MH$zgB6ݻva6"@4mdl;U²b6|s) 3:6)pG6CpC.~O>)%|IWRP'$Lܚ@!G2)0<2GAŏ0&w?`a&bR<ǡ}ehLWRZ_JE۵A~PiGYϦ4Z* a);35>® [l/LcYAAZztkJ@f Hi :)@`vqA:;Ok\Ce-'$)@wYX@bCO؎nTRK@)Y8+c\%ͰkbhGIj޸KR><]2fl.t؜ )]׹ N] ̌ 2\KV.t`}PIA޳qmsTb} R `bQH 9Ӿ=r!~I'*+6C+<³-j'Y}V)I'؎m{/_t FIRR, KZ3[R!p!(ŝ.p%Z+ ݅ Qx.FmcI[Kiο>ySѦ@q`^ԛ!'[Yv cZ! IS(&b0"{ J+G Nژff`7[|t|@ȯUI;Ӻ(IYWI@Ds1L~D.]ܸa% ~u[VGV9tW{?09=' H)f=6 s}n5slvz nbkR[$MRu }iGߤXr7!{f&q;0 #svv˟9O8~07(BI 4E)M1 vFkM B$c8_'m:f]:pN51 0])$Jk ş/(=WG=>$?׸\.nJ( "%D#yY$\|4 T) ,!;q;w v4Mw21;v111N:SSYn&Oӄ~;[nw|٨rjsY1^,ٶmqr̖vϴzp`]CIENDB`flatnuke-2.7.2/sections/none_Admin/none_images/waiting_user.png0000644000175000017500000000517310653051316024277 0ustar simonesimonePNG  IHDR00WbKGD pHYs B4tIME({lh IDATxڽZ[l\8klo(ly!1V+(FBZF;"PՂJQ^*H!X[ PM@0vlo$w^e.gsggח1+y=_f 1SB݄@R:S.vuuj6DQ(ٛ7o^v?Ɨ_~Rz/t]W4M,I2UU( cZvjrrDʦGw]kkkt](PUuPhFTUi4 ~߾}-,,kee.;/( B$ <=/_`e ZJ~(3pPJQVa ÀiqB( c>EQ 7oߞP Rz:!XYY(gtuua׮]0 BS cb1ijjKV(mH.I Rq0.c`qφi|$Ig\!ݩp8|V} Ҫ$ʲUZfo۶{ʕ %v:V`rrlV˚Ty!LD&dz_NO2/X*?mn;uUnE:tڣiZ_cVO?p̙;?SX^^6Lݻ'Rh t:}W_81pK]UUD"뺄b.ൎacocv鳥466R[ؠmСC{.*AyLNNP(tӿb%b*_VuCPH%9rj6O).]rضd2 .4ȫXz{{6M'NVt]OFQ@RA(BRAV}qJ6ŭ[L&xT\'N8 mǎ p8looQQiX,bjj e b[z]9] !?ؽ{ߴ۶ ]A)<:::`YlۆeYǵk0006M(^,l^S.M(sRP( I(MOFVr:uZ\4$i)6bÍ_HR 2 xuR6huPJ)['Ī3XFźs\4WN܇"8mYO,|b+zOFyI)ԂX0V6B`۶Kjug'3>u}ݓCCCw_b2eBP I\?y_c׼]R(̜q(=X,H$Mt"h> Pc+>z6*(Eu?]=FvwwhI4M#_5Ϗmۆ8mm4M8\dg2i1AnxsuG5=Jx)}@Q.]4M )ɲy⺮8ZRj6,?~|Y^9F/ q hV̫S4@Ux"?oO6`-;.ܾ4GIENDB`flatnuke-2.7.2/sections/none_Admin/none_images/stylesheet2.png0000644000175000017500000000622310651376214024054 0ustar simonesimonePNG  IHDR00WbKGD pHYs  tIME 0 IDATxylUם?.<f 8f KX˖LdBȤJ[iک2R5#uf:F:&iiF@Vb1ƀ1; o3\y6ѐRtsϽw~=ߴ&,}gᳲR.Jz?kJA|/i}wf֚cl~`Œ?PȯKfi~ɟ> B{WÄ(PRv];^eUʊ['ΜG uE)aX‰?>uxZȒ%YôJ~_+´,JJ 8Ju{@hnLP(@ lx#4-SƟfF?(荵?f 1k-sEw08i !R-%sJO/1YpDc=|-noCJ?"'$֓)hpAU'I"ރa#-|%LAT.7 ]$ 3n,&W,?}=oʹ )ل\9Ț/1zRYj_g߶pD/{PWN=ꥳ|_p 4Mu]t]Gh+ߥbVo|iX!9u`ӿpA0"!S  tx'4Me3njW<Ŕń"X My& u2 DRx-o 84@ }Ci m U{rb-VF)].Kc>Oao)]pl;]U&~ g?P\2Q , D1L=q(E"eu'(-`V0%> N2A ?\ &͜KdEc'XM8?c?@0>u٧N]Ǧj:ڮWLh4o{ O10Ȣ[tܼ؉8U 7u ~(JRģTnO aZ9L9#p7qM#oD V HwM| j^| Lg0(\f$͵tS(hMney=R\F.u5ae Cd<p7r7y?ೝoyrYQB"ڍa:6huՕhn4P^@dJTr6JNowTB 4]PuV>c[os$xN ]+"Ϳ$ 3c*\fڜe0:o$8C7L.~~-l $R"\+#n$QXOL>gO_Lf,XI"EcX%nڮ]V+7N?fʬu0-?dUܾB:nPWW.`t] Ly8Yi61RaL*̑=GOiBڮ5Qn;g< *WhmȔYY̏7[p !@tsmtlKJ).)EAvg@TJMEBИ).J pӿr\8qK:+@ fڍ_\>0+};c <=،:4톳D NE4-D0Sg}`UH!(%3H!=]QR"!G0k]m@!]?S!%u|Y/` ^a  D7L29OL %ҙkoρ^xrXMBaC 4s>X[כQJ)$鳐8 XߐEvy%%dfe&]>Ϻ^y+:uJvvxO  4N`~}^y.}ы;XWBu 3yj Jz5M¹d ?ʙ#{PJk/Y3gȈn?H8}dU{P@Tif*qB&ab"M3t={s=5`>>"v"N2ii0|4z6= =pMu${WU%>KjJ0M7ڷO7hpmB *V5DlӈL!RS ΝJ-(4mHɰg8 R{˰*qMcogLB<߉h_{Fϥcw ^A_&xr<Äd`O4oucZj>ЎN^IO{(WF_.LsT,[BpI !ri--G8+E0+Gպ:Mg'p$WΝ>ΝʹïRddfhdV ShܕOj ;vùYdf:P9-^7)%nPl=DCNUŞJ&b74;sc:K7*w2B)1[O?rWHRjS/a) z Ӵh;>l[ e 0bddC S)t4Au8MsJ~#)$HZ]HJʠ2\]Ų As (_̜Ds8\KߴoWl pJՌ<IENDB`flatnuke-2.7.2/sections/none_Admin/none_images/floppy_unmount.png0000644000175000017500000000151610651422661024675 0ustar simonesimonePNG  IHDR sbKGD̿ pHYs  tIME)EvIDATHnUti{c'ͱM d!&o@6< ^6B]ME&bP{rXLO{&y$>[#f9)RrҟfT:yu"iz<"( 2 HoVqןNs pҠˀ0ϱ!lyaȁ\Clu/Z?R86 +$JVF=kCGb>EZCg ]Ȅ%^;?`A!Y\LhՂsקa7:6R $̎ Z RDwҦuQe2y׼y/N%2;"*Dq773J2X tKL[U] *[6 ZjLTG_y`^ict]p;hEcJVw B. HvisAMzE%e݄?T8(E{ Wk]>x江Ypڡ:Xw,Z{/PaQs(h-pBcݺ$, 榺lgnɆ\Rظ"_=n p-Y|DKboɷl>76/-M 1/߹ƞ=ZJVu^z ".build_ahah_link($mod, "", "fn_adminpanel", "get")._INDIETRO.""); ################################################################ /* MAIN EXECUTION */ ################################################################ if(is_admin()) { echo "
      "; // external code declarations include_once (get_fn_dir("sections")."/$mod/none_functions/func_operations.php"); include_once (get_fn_dir("sections")."/$mod/none_functions/func_verify.php"); // POST actions switch($conf_mod) { case "phpinfo": fncc_phpinfo(); break; // print PHP configuration on the web server case "modgeneralconf": fncc_modgeneralconf(); break; // save main Flatnuke configuration case "modbodyfile": fncc_modbodyfile(); break; // save standard text file case "savenews": fncc_savenews(); break; // save news case "savepropnews": fncc_savepropnews(); break; // save news proposed by users case "savepoll": fncc_savepoll(); break; // save poll informations case "archpoll": fncc_archpoll(); break; // archive poll and build a new one case "moddownconf": fncc_savedownconf(); break; // save fdplus configuration case "saveprofile": fncc_saveprofile(); break; // save new user profile case "updatewaiting": fncc_updatewaiting(); break; // update email address of a profile waiting for activation case "sendactivation": fncc_sendactivation(); break; // re-send activation code to users case "dobackup": fncc_dobackup(); break; // make the backup case "cleanbackup": fncc_cleanbackup(); break; // delete backup files on the server case "cleanlog": fncc_cleanlog(); break; // clean log file case "modblacklist": fncc_modbodyfile(); break; // save blacklist text file } // GET actions switch($get_act) { case "deletenews": fncc_delnews(); break; // delete news case "deletewaiting": fncc_delwaiting(); break; // delete waiting user } // GET options switch($op) { case "fnccinfo": fncc_info(); break; // general infos on the site case "fnccconf": fncc_conf(); break; // main Flatnuke configuration /*----------------------------------------------*/ case "fnccnews": fncc_news(); break; // admin can add a news case "fnccpropnews": fncc_propnews(); break; // admin can publish news proposed by users case "fnccmotd" : fncc_motd(); break; // manage MOTD file case "fnccpolledit": fncc_polledit(); break; // manage poll configuration case "fnccdownconf": fncc_downconf(); break; // manage fdplus configuration /*----------------------------------------------*/ case "fnccmembers" : fncc_members(); break; // manage users of the site case "fnccnewprofile": fncc_newprofile(); break; // add a new user profile case "fnccwaitingusers":fncc_waitingusers();break; // manage profiles waiting for activation /*----------------------------------------------*/ case "fnccbackup": fncc_backups(); break; // manage FN backups case "fncclogs": fncc_logs(); break; // manage system logs case "fnccblacklists": fncc_blacklists(); break; // manage FN blacklists /*----------------------------------------------*/ case "fnccthemestruct": fncc_themestruct(); break; // manage theme's structure case "fnccthemestyle" : fncc_themestyle(); break; // manage theme's style case "fnccthemecss" : fncc_themecss(); break; // manage theme's CSS case "fnccforumcss" : fncc_forumcss(); break; // manage forum's CSS /*----------------------------------------------*/ default: fncc_main(); // default menu } echo "
      "; } else fncc_onlyadmin(); // only admins can access this section ?>flatnuke-2.7.2/sections/none_Admin/none_functions/0000755000175000017500000000000011177641445021640 5ustar simonesimoneflatnuke-2.7.2/sections/none_Admin/none_functions/func_verify.php0000644000175000017500000006223711034462447024675 0ustar simonesimone * @version 20080601 */ function fncc_modgeneralconf() { // security checks $conf_file = getparam("conf_file", PAR_POST, SAN_FLAT); $sitename = getparam("sitename", PAR_POST, SAN_FLAT); $sitedescription = getparam("sitedescription", PAR_POST, SAN_FLAT); $keywords = getparam("keywords", PAR_POST, SAN_FLAT); $theme = getparam("theme", PAR_POST, SAN_FLAT); $newspp = getparam("newspp", PAR_POST, SAN_FLAT); $admin = getparam("admin", PAR_POST, SAN_FLAT); $admin_mail = getparam("admin_mail", PAR_POST, SAN_FLAT); $lang = getparam("lang", PAR_POST, SAN_FLAT); $reguser = getparam("reguser", PAR_POST, SAN_FLAT); $guestnews = getparam("guestnews", PAR_POST, SAN_FLAT); $guestcomment = getparam("guestcomment", PAR_POST, SAN_FLAT); $remember_login = getparam("remember_login", PAR_POST, SAN_FLAT); $fuso_orario = getparam("fuso_orario", PAR_POST, SAN_FLAT); $maintenance = getparam("maintenance", PAR_POST, SAN_FLAT); $home_section = getparam("home_section", PAR_POST, SAN_FLAT); $topicperpage = getparam("topicperpage", PAR_POST, SAN_FLAT); $postperpage = getparam("postperpage", PAR_POST, SAN_FLAT); $memberperpage = getparam("memberperpage", PAR_POST, SAN_FLAT); $forum_moderators = getparam("forum_moderators", PAR_POST, SAN_FLAT); $news_editor = getparam("newseditor", PAR_POST, SAN_FLAT); // build new file $file = file($conf_file); $new_file = ""; for($id=0;$id * @version 20070724 */ function fncc_modbodyfile() { // security checks $conf_file = getparam("conf_file", PAR_POST, SAN_FLAT); $conf_body = getparam("conf_body", PAR_POST, SAN_NULL); // write the new file $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); if(is_admin()) { fnwrite($conf_file, stripslashes($conf_body), "wb", array("nonull")); fnlog("Site maintenance", "$ip||".get_username()."||File $conf_file changed."); } else { fnlog("Security", "$ip||".get_username()."||Tried to save the file $conf_file."); } } /* * Save a news * * @author Marco Segato * @version 20080630 */ function fncc_savenews() { // security checks $file = getparam("file", PAR_GET, SAN_FLAT); $title = getparam("title", PAR_POST, SAN_NULL); $icon = getparam("icon", PAR_POST, SAN_NULL); $head = getparam("head", PAR_POST, SAN_NULL); $body = getparam("body", PAR_POST, SAN_NULL); $rewrite = getparam("rewrite", PAR_POST, SAN_FLAT); // sanitize text $myfile = stripslashes(htmlspecialchars($file)); $mytitle = stripslashes(htmlspecialchars($title)); $myicon = stripslashes(htmlspecialchars($icon)); global $news_editor; if (!eregi("^fckeditor$|^bbcode$",$news_editor)) $news_editor="bbcode"; //fix \n if bbcode is used instead of fckeditor if (!($news_editor=="fckeditor" and file_exists("include/plugins/editors/FCKeditor/fckeditor.php"))){ $head = str_replace("\n","
      ",$head); $body = str_replace("\n","
      ",$body); } $head = str_replace("\r","",$head); $body = str_replace("\r","",$body); $mybody = tag2html($body, "home"); $myhead = tag2html($head, "home"); // write the file $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); if(is_admin()){ // write a new one if($rewrite == "false") { $string = "\n"; $string .= "\n"; $string .= "\n"; $string .= "\t$mytitle\n"; $string .= "\t$myicon\n"; $string .= "\t0\n"; $string .= "\t$myhead\n"; $string .= "\t$mybody\n"; $string .= ""; fnwrite(get_fn_dir("news")."/".time().".xml", $string, "w", array("nonull")); fnlog("News", $ip."||".get_username()."||News $myfile published."); // update my RSS feeds generate_RSS(); } else { // rewrite news $newfile = get_fn_dir("news")."/$rewrite.xml"; $string = get_file($newfile); $string = ereg_replace(".*","".$mytitle."",$string); $string = ereg_replace(".*","".$myicon."",$string); $string = ereg_replace(".*","".$myhead."",$string); $string = ereg_replace(".*","".$mybody."",$string); fnwrite($newfile, $string, "w", array("nonull")); fnlog("News", $ip."||".get_username()."||News $myfile modified."); } load_php_code("include/autoexec.d/news"); } else { fnlog("Security", "$ip||".get_username()."||Tried to write a news."); } } /* * Save news proposed by users * * @author Marco Segato * @version 20080630 */ function fncc_savepropnews() { // security checks $file = getparam("file", PAR_GET, SAN_FLAT); $title = getparam("title", PAR_POST, SAN_NULL); $icon = getparam("icon", PAR_POST, SAN_NULL); $head = getparam("head", PAR_POST, SAN_NULL); $body = getparam("body", PAR_POST, SAN_NULL); $rewrite = getparam("rewrite", PAR_POST, SAN_FLAT); // sanitize text $myfile = stripslashes(htmlspecialchars($file)); $mytitle = stripslashes(htmlspecialchars($title)); $myicon = stripslashes(htmlspecialchars($icon)); $head = str_replace("\n","
      ",$head); $head = str_replace("\r","",$head); $body = str_replace("\n","
      ",$body); $body = str_replace("\r","",$body); $mybody = tag2html($body, "home"); $myhead = tag2html($head, "home"); // write the file $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); if(is_admin()){ // news approved if($rewrite != "false") { $newfile = get_fn_dir("var")."/$rewrite.xml"; $string = get_file($newfile); $string = ereg_replace(".*","".$mytitle."",$string); $string = ereg_replace(".*","".$myicon."",$string); $string = ereg_replace(".*","".$myhead."",$string); $string = ereg_replace(".*","".$mybody."",$string); fnwrite($newfile, $string, "w", array("nonull")); copy($newfile, get_fn_dir("news")."/".time().".xml"); unlink($newfile); fnlog("News", $ip."||".get_username()."||News $newfile proposed by a user has been published."); // update my RSS feeds generate_RSS(); load_php_code("include/autoexec.d/news"); } } else { fnlog("Security", "$ip||".get_username()."||Tried to publish a news proposed."); } } /* * Delete news' file * * @author Marco Segato * @version 20080630 */ function fncc_delnews() { // security checks $delnews = getparam("delnews", PAR_GET, SAN_FLAT); // write the new file $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); $mynews = stripslashes(htmlspecialchars($delnews)); if(is_admin() AND file_exists($mynews)) { unlink($mynews); fnlog("Site maintenance", "$ip||".get_username()."||Deleted news $mynews."); load_php_code("include/autoexec.d/news"); } else { fnlog("Security", "$ip||".get_username()."||Tried to delete the file $mynews."); } } /* * Save poll informations * * @author Marco Segato * @version 20070718 */ function fncc_savepoll() { // security checks $fp_stato = getparam("fp_stato", PAR_POST, SAN_FLAT); $salva_domanda = getparam("salva_domanda", PAR_POST, SAN_FLAT); $array_opzioni = array(); $array_opzioni = $_POST['salva_opzioni']; //print_r($array_opzioni); //-> TEST $array_voti = array(); $array_voti = $_POST['salva_voti']; //print_r($array_voti); //-> TEST // get poll configuration require (get_fn_dir("sections")."/none_Sondaggio/config.php"); $file_xml = get_file($sondaggio_file_dati); $opzioni = get_xml_element("fp:opzioni",$file_xml); $opzione = get_xml_array("fp:opzione",$opzioni); $commenti = get_xml_element("fp:commenti",$file_xml); $commento = get_xml_array("fp:commento",$commenti); // build new file $file_xml = "\n\n"; $file_xml .= "\t$fp_stato\n"; $file_xml .= "\t$salva_domanda\n"; $file_xml .= "\t\n"; for($i=0; $i\n"; $file_xml .= "\t\t\t".$array_voti[$i]."\n"; $file_xml .= "\t\t\n"; } } $file_xml .= "\t\n"; if($commenti != "") { $file_xml .= "\t\n"; for($j=0; $j\n"; $file_xml .= "\t\t\t".get_xml_element("fp:what",$commento[$j])."\n"; $file_xml .= "\t\t\n"; } $file_xml .= "\t\n"; } $file_xml .= "\n"; // write the new file $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); if(is_admin()) { fnwrite($sondaggio_file_dati, stripslashes($file_xml), "w", array("nonull")); fnlog("Site maintenance", "$ip||".get_username()."||Poll $conf_file changed."); } else { fnlog("Security", "$ip||".get_username()."||Tried to change the poll."); } } /* * Archive poll and build a new one * * @author Marco Segato * @version 20061101 */ function fncc_archpoll() { // get poll configuration require (get_fn_dir("sections")."/none_Sondaggio/config.php"); // save actual poll in the archive directory copy($sondaggio_file_dati, $percorso_vecchi."/".time().".xml"); // build new poll $new_poll = "\n\n\tn\n\t"._FP_NUOVOSONDAGGIO."\n\t\n"; for($i=1; $i<4; $i++) { $new_poll .= "\t\t\n\t\t\t"._FP_OPZIONE."$i\n\t\t\t$i\n\t\t\n"; } $new_poll .= "\t\n\n"; // write the new file $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); if(is_admin()) { fnwrite($sondaggio_file_dati, stripslashes($new_poll), "w", array("nonull")); fnlog("Site maintenance", "$ip||".get_username()."||Poll $conf_file archived."); } else { fnlog("Security", "$ip||".get_username()."||Tried to archive the poll."); } } /* * Save FdPlus general configuration * * @author Marco Segato * @version 20080607 */ function fncc_savedownconf() { // security checks $conf_file = getparam("conf_file", PAR_POST, SAN_FLAT); $extensions = getparam("extensions", PAR_POST, SAN_FLAT); $maxFileSize = getparam("maxFileSize", PAR_POST, SAN_FLAT); $icon_style = getparam("icon_style", PAR_POST, SAN_FLAT); $newfiletime = getparam("newfiletime", PAR_POST, SAN_FLAT); $automd5 = getparam("automd5", PAR_POST, SAN_FLAT); $autosha1 = getparam("autosha1", PAR_POST, SAN_FLAT); $showuploader = getparam("showuploader", PAR_POST, SAN_FLAT); $extsig = getparam("extsig", PAR_POST, SAN_FLAT); $extscreenshot = getparam("extscreenshot", PAR_POST, SAN_FLAT); $admins = getparam("admins", PAR_POST, SAN_FLAT); $enable_admin_options = getparam("enable_admin_options", PAR_POST, SAN_FLAT); $showdownloadlink = getparam("showdownloadlink", PAR_POST, SAN_FLAT); $overview_show_files = getparam("overview_show_files", PAR_POST, SAN_FLAT); $section_show_header = getparam("section_show_header", PAR_POST, SAN_FLAT); $defaultvoteon = getparam("defaultvoteon", PAR_POST, SAN_FLAT); $usermaxFileSize = getparam("usermaxFileSize", PAR_POST, SAN_FLAT); $userfilelimit = getparam("userfilelimit", PAR_POST, SAN_FLAT); $userwaitingfile = getparam("userwaitingfile", PAR_POST, SAN_FLAT); $userblacklist = getparam("userblacklist", PAR_POST, SAN_FLAT); $minlevel = getparam("minlevel", PAR_POST, SAN_FLAT); // build new file $file = file($conf_file); $new_file = ""; for($id=0;$id * @version 20070718 */ function fncc_saveprofile() { // security checks $nome = getparam("nome", PAR_POST, SAN_FLAT); // build array with user infos $data = array(); $data['password'] = md5($_POST['regpass']); $data['name'] = $_POST['anag']; $data['mail'] = $_POST['email']; //may be not inizialized $data['hiddenmail'] = $_POST['hiddenmail']; $data['homepage'] = $_POST['homep']; $data['work'] = $_POST['prof']; $data['from'] = $_POST['prov']; $data['avatar'] = $_POST['ava']; $data['sign'] = $_POST['firma']; $data['level'] = $_POST['level']; $data['jabber'] = $_POST['jabber']; $data['skype'] = $_POST['skype']; $data['icq'] = $_POST['icq']; $data['msn'] = $_POST['msn']; $data['presentation'] = $_POST['presentation']; // manage avatar if(isset($_POST['url_avatar']) AND eregi("(jpg|jpeg|png|gif)",get_file_extension($_POST['url_avatar'])) ) { $data['avatar'] = $_POST['url_avatar']; } else $data['avatar'] = "images/".$data['avatar']; // save the new profile $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); if(is_admin()) { save_user_profile($nome, $data); fnlog("Site maintenance", "$ip||".get_username()."||New userprofile $nome registered by the administrator."); } else { fnlog("Security", "$ip||".get_username()."||Tried to register new $nome profile from Admin Panel."); } } /* * Delete a profile waiting for activation * * @author Marco Segato * @version 20070728 */ function fncc_delwaiting() { // security checks $deluser = getparam("deluser", PAR_GET, SAN_FLAT); // write the new file $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); if(is_admin() AND file_exists(get_waiting_users_dir()."/$deluser.php")) { unlink(get_waiting_users_dir()."/$deluser.php"); fnlog("Site maintenance", "$ip||".get_username()."||Deleted profile $deluser waiting for activation."); } else { fnlog("Security", "$ip||".get_username()."||Tried to delete the file $deluser."); } } /* * Update email address of a profile waiting for activation * * @author Marco Segato * @version 20070728 */ function fncc_updatewaiting() { // security checks $regmail = getparam("regmail", PAR_POST, SAN_FLAT); $user = getparam("user", PAR_POST, SAN_FLAT); // update the file $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); if(is_admin() AND file_exists(get_waiting_users_dir()."/$user.php")) { if(check_mail($regmail)) { $user_xml = array(); $user_xml = load_user_profile($user, 1); $user_xml['regmail'] = $regmail; save_user_profile($user, $user_xml, 1); fnlog("Site maintenance", "$ip||".get_username()."||Updated email address of profile $user waiting for activation."); } else { fnlog("Site maintenance", "$ip||".get_username()."||Can't update profile $user waiting for activation, email address is invalid."); } } else { fnlog("Security", "$ip||".get_username()."||Tried to update the profile $user waiting for activation."); } } /* * Update email address of a profile waiting for activation * * @author Marco Segato * @version 20070728 */ function fncc_sendactivation() { // security checks $mod = getparam("mod", PAR_POST, SAN_FLAT); $mail = getparam("mail", PAR_POST, SAN_FLAT); $user = getparam("user", PAR_POST, SAN_FLAT); $regcode = getparam("regcode", PAR_POST, SAN_FLAT); global $sitename; // write the new file $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); // build url for the activation $url_act = "http://".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']."?mod=none_Login&action=activateuser&user=$user®code=$regcode"; $url_act = str_replace(get_fn_dir("sections")."/$mod/section.php", "index.php", $url_act); if(is_admin() AND file_exists(get_waiting_users_dir()."/$user.php")) { $message = _IST_REG_MAIL."\n\n$url_act"; if(mail($mail, _COMP_REG_MAIL." $sitename", $message,"FROM: $sitename \r\nX-Mailer: Flatnuke on PHP/".phpversion())) { fnlog("Site maintenance", $ip."||".get_username()."||Activation mail sent for $user."); } else { echo "

      "._ACTIVATIONMAILNOTSENT."

      "; fnlog("Site maintenance", $ip."||".get_username()."||Activation mail not sent for $user."); } } else { fnlog("Security", "$ip||".get_username()."||Tried to send activation code of the profile $user waiting for activation."); } } /* * Clean log file * * @author Marco Segato * @version 20070826 */ function fncc_cleanlog() { // security checks $logfile = getparam("logfile", PAR_POST, SAN_FLAT); // write the new file $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); if(is_admin()) { fnwrite($logfile, "\n", "wb"); fnlog("Site maintenance", "$ip||".get_username()."||Log $logfile cleaned."); } else { fnlog("Security", "$ip||".get_username()."||Tried to clean the file $logfile."); } } /** * Makes a backup of your FN site, or a part of it * * @author Marco Segato * @version 20070725 */ function fncc_dobackup() { // security checks $tosave = getparam("tosave", PAR_POST, SAN_FLAT); // include necessary APIs include_once("forum/include/archive.php"); include_once("include/filesystem/DeepDir.php"); // create the backup archive $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); if(is_admin()) { switch($tosave) { case get_fn_dir("news"): $tag = "news"; break; case get_fn_dir("users"): $tag = "users"; break; case get_fn_dir("var"): $tag = "misc"; break; case get_fn_dir("sections"): $tag = "sect"; break; case get_fn_dir("var")."/flatforum":$tag = "forum"; break; case "./": $tag = "all"; break; } // create the list of files to save $dir = new DeepDir(); $dir->setDir($tosave); $dir->load(); // name of the archive $archive = get_fn_dir("var")."/backup_".$tag."_".date("Ymd").".zip"; if(file_exists($archive)) { unlink($archive); } $backup = new zip_file($archive); $backup->set_options(array('inmemory'=>"0",'overwrite'=>1,'prepend','level'=>1)); // add every single file to the archive foreach( $dir->files as $n => $pathToFile ){ // exclude other backups and lockfiles if(!eregi("^backup_[a-zA-Z]+_[0-9]+\.zip$", basename($pathToFile)) AND !eregi("^lockfile$",dirname($pathToFile))) { $backup->add_files($pathToFile); } } $backup->create_archive(); fnlog("Site maintenance", "$ip||".get_username()."||Created backup file $archive."); header("Location: $archive"); } else { fnlog("Security", "$ip||".get_username()."||Tried to create a backup of $tosave."); } } /* * Delete backup files on the server * * @author Marco Segato * @version 20070722 */ function fncc_cleanbackup() { // delete files $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); if(is_admin()) { $backup_files = fncc_listbackups(); foreach($backup_files as $todelete) { unlink(get_fn_dir("var")."/$todelete"); } fnlog("Site maintenance", "$ip||".get_username()."||Admin deleted ".count($backup_files)." backup file/s."); } else { fnlog("Security", "$ip||".get_username()."||Tried to delete backup files."); } } ?>flatnuke-2.7.2/sections/none_Admin/none_functions/func_interfaces.php0000644000175000017500000005645511022470147025512 0ustar simonesimone * @version 20080607 */ function fncc_main() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print html code $div_header_style = "float:left;width:100%;border-bottom:1px solid;font-weight:bold"; $div_option_style = "float:left;padding:1em 0.5em 1em 0.5em;text-align:center"; ?>
       • 
      //none_images/info.png" alt="info" border="0" />
      //none_images/kcontrol.png" alt="info" border="0" />
       • 
      //none_images/app_knewsticker.png" alt="motd" border="0" />
      //none_images/app_lists.png" alt="motd" border="0" />
      ()
      //none_images/app_kate.png" alt="motd" border="0" />
      //none_images/poll.png" alt="poll" border="0" />
      //none_images/down.png" alt="download" border="0" />
       • 
      //none_images/kdmconfig.png" alt="manage users" border="0" />
      //none_images/add_user.png" alt="add user" border="0" />
      //none_images/waiting_user.png" alt="waiting" border="0" />
      ()
       • 
      //none_images/hdd_unmount.png" alt="backup" border="0" />
      //none_images/mimetype_log.png" alt="logs" border="0" />
      //none_images/security.png" alt="blacklists" border="0" />
       • 
      //none_images/kig.png" alt="structure" border="0" />
      //none_images/gimp.png" alt="theme" border="0" />
      //none_images/stylesheet1.png" alt="css" border="0" />
      //none_images/stylesheet2.png" alt="css" border="0" />
      * @version 20070729 * * @param string $mod FN mod to go to (GET) * @param string $option FN option to execute (GET) * @param string $target DIV target where to write results * @param string $method 'get' or 'post' * @param string $form Form name from which keeping POST variables * @return string $ahah_link AHAH link for the option in input */ function build_ahah_link($mod, $option, $target, $method, $form="") { // security conversions $mod = getparam($mod, PAR_NULL, SAN_FLAT); $option = getparam($option, PAR_NULL, SAN_FLAT); $target = getparam($target, PAR_NULL, SAN_FLAT); $method = getparam($method, PAR_NULL, SAN_FLAT); // build the link switch($method) { case "get": $ahah_link = ""; break; case "post": $ahah_link = "\n
      \n"; break; } // return string result return($ahah_link); } /* * Print general informations about the site and the hosting * * @author Marco Segato * @version 20070924 */ function fncc_info() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); $req = getparam("REQUEST_URI", PAR_SERVER, SAN_NULL); // print the back button echo _FNCC_HEADERBACK; // check if the GD library is installed or not if(function_exists("gd_info")) { $GDinfo = gd_info(); $GDinfo = ereg_replace('[[:alpha:][:space:]()]+', '', $GDinfo['GD Version']); } else $GDinfo = _FNCC_NOGDLIB; // get siteurl $my_siteurl = $_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]; $my_siteurl = eregi_replace(get_fn_dir("sections")."\/".$mod."\/section\.php$","index.php",$my_siteurl); // print misc informations about the site ?>
      //none_images/info.png" alt="info" border="0" />
      * @version 20061101 * * @param string $dirpath Path of the directory to check * @return integer $totalsize Size of the directory */ function fncc_getsize($dirpath) { // security conversions $dirpath = getparam($dirpath, PAR_NULL, SAN_FLAT); // go calculate require_once("include/filesystem/DeepDir.php"); $totalsize = 0; $dir = new DeepDir(); $dir->setDir($dirpath); $dir->load(); foreach($dir->files as $n => $pathToFile) $totalsize += filesize($pathToFile); return $totalsize; } /* * Flatnuke general configuration * * @author Marco Segato * @version 20070924 */ function fncc_conf() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/kcontrol.png" alt="configuration" border="0" />

      * @version 20070924 */ function fncc_motd() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/app_kate.png" alt="motd" border="0" />

      * @version 20070924 */ function fncc_news() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/app_knewsticker.png" alt="news" border="0" />

      * @version 20070924 */ function fncc_propnews() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/app_lists.png" alt="news" border="0" />

      * @version 20070721 * * @return integer Number of news proposed by users */ function fncc_countpropnews() { $proplist = array(); $handle = opendir(get_fn_dir("var")); while($file = readdir($handle)) { if(eregi("^news_[0-9]+\.xml$", $file)) { array_push($proplist, $file); } } //echo "
      ";print_r($proplist);echo "
      "; //-> TEST closedir($handle); return(count($proplist)); } /* * Manage poll configuration * * @author Marco Segato * @version 20070924 */ function fncc_polledit() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/poll.png" alt="poll" border="0" />

      * @version 20080607 */ function fncc_downconf() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/down.png" alt="download" border="0" />

      * @version 20070924 */ function fncc_members() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/kdmconfig.png" alt="manage users" border="0" />

      * @version 20070924 */ function fncc_newprofile() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/id_card.png" alt="user profile" border="0" />

      * @version 20070924 */ function fncc_waitingusers() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/waiting_user.png" alt="waiting profiles" border="0" />

      * @version 20070726 * * @return integer Number of users waiting */ function fncc_countwaitingusers() { $waitinglist = array(); $handle = opendir(get_waiting_users_dir()); while($file = readdir($handle)) { if(eregi("^[0-9a-zA-Z]+\.php$", $file)) { array_push($waitinglist, $file); } } //echo "
      ";print_r($waitinglist);echo "
      "; //-> TEST closedir($handle); return(count($waitinglist)); } /* * Admin can create and download FN backups * * @author Marco Segato * @version 20070924 */ function fncc_backups() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/hdd_unmount.png" alt="backup" border="0" />

      * @version 20070722 * * @return array List of backup files created in /misc directory */ function fncc_listbackups() { $backup_files = array(); $handle = opendir(get_fn_dir("var")); while($file = readdir($handle)) { if(eregi("^backup_[a-zA-Z]+_[0-9]+\.zip$", $file)) { array_push($backup_files, $file); } } closedir($handle); return($backup_files); } /* * Admin can look at Flatnuke logs * * @author Marco Segato * @version 20070924 */ function fncc_logs() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/mimetype_log.png" alt="logs" border="0" />

      * @version 20070924 */ function fncc_blacklists() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/security.png" alt="blacklists" border="0" />

      * @version 20070924 */ function fncc_themestruct() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); global $theme; // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/kig.png" alt="structure" border="0" />

      * @version 20070924 */ function fncc_themestyle() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); global $theme; // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/gimp.png" alt="theme" border="0" />

      * @version 20070924 */ function fncc_themecss() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); global $theme; // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/stylesheet1.png" alt="css" border="0" />

      * @version 20070924 */ function fncc_forumcss() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); global $theme; // print the back button echo _FNCC_HEADERBACK; // print html code ?>
      //none_images/stylesheet2.png" alt="css" border="0" />

      * @version 20061101 */ function fncc_onlyadmin() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print html code ?>

      lock
      flatnuke-2.7.2/sections/none_Admin/none_functions/func_operations.php0000644000175000017500000016750311042713223025544 0ustar simonesimone * @version 20080602 */ function fncc_generalconf() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // check file existance $file = "config.php"; if(file_exists($file)) { echo ""; // scan configuration file to find all settings $settings = array(); $conf_file = file($file); for($i=0;$i TEST // scan for installed themes (do not list hidden ones) $themes_array = array(); $theme_num = 0; foreach (glob(get_fn_dir("themes")."/*") as $theme_one){ if(is_dir($theme_one) AND $theme_one!="CVS" AND $theme_one!="." AND $theme_one!=".." AND !stristr($theme_one,"none_")) { $themes_array[$theme_num] = $theme_one; $theme_num++; } } if($theme_num>0) { sort($themes_array); } //print_r($themes_array); //-> TEST // scan for installed languages $languages_array = array(); $language_num = 0; foreach (glob("languages/*.php") as $language_one){ if(is_file($language_one) AND $language_one!="CVS" AND $language_one!="." AND $language_one!="..") { $languages_array[$language_num] = $language_one; $language_num++; } } if($language_num>0) { sort($languages_array); } //print_r($languages_array); //-> TEST ?>



        \n"; $mytheme = eregi_replace("^".get_fn_dir("themes")."/","",$mytheme); $screenshot = (file_exists(get_fn_dir("themes")."/$mytheme/screenshot.png")) ? (get_fn_dir("themes")."/$mytheme/screenshot.png") : (get_fn_dir("sections")."/$mod/none_images/no_preview.png"); echo "\"$mytheme\"\n"; $checked = ($settings['theme'] == $mytheme) ? ("checked='checked'") : (""); echo "
        $mytheme\n"; } ?>




      $mylanguage  "; } ?>

      /> /> />

      /> />

      /> />

      />bbcode />FCKeditor

      /> />


      /> />







      "._FNCC_WARNINGNOFILE.""; } /* * Read configuration files and print them ready to be managed * * @author Marco Segato * @version 20080726 * * @param string $file File name to modify */ function fncc_editconffile($file) { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); $file = getparam($file, PAR_NULL, SAN_FLAT); global $news_editor; if (!eregi("^fckeditor$|^bbcode$", $news_editor)) $news_editor = "bbcode"; // check file existance if(file_exists($file)) { echo "
      "; // manage MOTD file with FCKeditor if ($file==get_fn_dir("var")."/motd.php" AND $news_editor=="fckeditor" AND file_exists("include/plugins/editors/FCKeditor/fckeditor.php")) { include("include/plugins/editors/FCKeditor/fckeditor.php"); $oFCKeditor = new FCKeditor('conf_body'); $oFCKeditor->BasePath = "include/plugins/editors/FCKeditor/"; $oFCKeditor->Value = file_get_contents($file); $oFCKeditor->Width = "100%"; $oFCKeditor->Height = "400"; $oFCKeditor->ToolbarSet = "Default"; $oFCKeditor->Create(); } else { // manage standard files or FCKeditor is disabled echo ""; } ?>



      "._FNCC_WARNINGNOFILE.""; } /* * Manage news of the site (write & edit) * * @author Marco Segato * @version 20080726 */ function fncc_managenews() { // security checks $mod = getparam("mod", PAR_GET, SAN_FLAT); $news = getparam("news", PAR_GET, SAN_FLAT); $rewrite = "false"; $edit_header = ""; $edit_body = ""; $edit_cat = ""; global $sitename, $news_editor; if (!eregi("^fckeditor$|^bbcode$",$news_editor)) $news_editor="bbcode"; // edit an old news if(isset($news) AND file_exists(get_fn_dir("news")."/$news.xml")) { $rewrite = $news; $fd = stripslashes(get_file(get_fn_dir("news")."/$news.xml")); $reftitle = get_xml_element("fn:title", $fd); $edit_header = get_xml_element("fn:header",$fd); $edit_body = get_xml_element("fn:body", $fd); $edit_cat = get_xml_element("fn:avatar",$fd); } else { // report a news with Flatnuke-Fast-News $reftitle = utf8_decode(stripslashes(getparam("reftitle", PAR_GET, SAN_FLAT))); $refbody = utf8_decode(stripslashes(getparam("refbody", PAR_GET, SAN_FLAT))); $refurl = getparam("refurl", PAR_GET, SAN_FLAT); } // options' list: write a new news, or edit an old one ?>

      "; ?>



      Topic


      "; if ($news_editor=="fckeditor" AND file_exists("include/plugins/editors/FCKeditor/fckeditor.php")) { $fck_installed = TRUE; if(isset($refbody) AND $refbody != "") { $text = "$refbody\n\nLink: $refurl"; // Flatnuke-Fast-News link } else $text = "$edit_header"; // edit old news echo ""._INTMESSAGGIO."
      "; include("include/plugins/editors/FCKeditor/fckeditor.php"); // fckeditor panel news HEADER $oFCKeditor = new FCKeditor('head'); $oFCKeditor->BasePath = "include/plugins/editors/FCKeditor/"; $oFCKeditor->Value = $text; $oFCKeditor->Width = "100%"; $oFCKeditor->Height = "400"; $oFCKeditor->ToolbarSet = "Default"; $oFCKeditor->Create(); // fckeditor panel news BODY echo ""._CORPOMESSAGGIO."
      "; $oFCKeditor = new FCKeditor('body'); $oFCKeditor->BasePath = "include/plugins/editors/FCKeditor/"; $oFCKeditor->Value = $edit_body; $oFCKeditor->Width = "100%"; $oFCKeditor->Height = "500"; $oFCKeditor->ToolbarSet = "Default"; $oFCKeditor->Create(); } else { $fck_installed = FALSE; // bbcodes panel news HEADER bbcodes_panel("head", "home", "formatting"); echo "
      "; bbcodes_panel("head", "home", "emoticons"); echo "
      "; bbcodes_panel("head", "home", "images"); echo "
      "; echo ""._INTMESSAGGIO."
      "; echo "\n

      "; // bbcodes panel news BODY bbcodes_panel("body", "home", "formatting"); echo "
      "; bbcodes_panel("body", "home", "emoticons"); echo "
      "; bbcodes_panel("body", "home", "images"); echo "
      "; echo ""._CORPOMESSAGGIO."
      "; echo "\n"; } // submit buttons ?>

       "; } ?>
      "._FASTNEWSSTR."
      = 0){Q=getSelection();}else{Q=document.selection?document.selection.createRange().text:document.getSelection();}location.href='".$siteurl."index.php?mod=none_Admin&op=fnccnews&refbody='+encodeURIComponent(Q)+'&refurl='+encodeURIComponent(location.href)+'&reftitle='+encodeURIComponent(document.title);\">$sitename » Flatnuke Fast News"; } /* * Manage news proposed by users/visitors * * @author Marco Segato * @version 20080726 */ function fncc_managepropnews() { // security checks $mod = getparam("mod", PAR_GET, SAN_FLAT); $news = getparam("news", PAR_GET, SAN_FLAT); $rewrite = "false"; $edit_header = ""; $edit_body = ""; $edit_cat = ""; global $news_editor; if (!eregi("^fckeditor$|^bbcode$",$news_editor)) $news_editor="bbcode"; // load contents of the news proposed if(isset($news) AND file_exists(get_fn_dir("var")."/$news.xml")) { $rewrite = $news; $fd = stripslashes(get_file(get_fn_dir("var")."/$news.xml")); $reftitle = get_xml_element("fn:title", $fd); $edit_header = get_xml_element("fn:header",$fd); $edit_body = get_xml_element("fn:body", $fd); $edit_cat = get_xml_element("fn:avatar",$fd); } // list news waiting for acceptance $news_array = array(); $news_dir = opendir(get_fn_dir("var")); while($news_file=readdir($news_dir)) { if(eregi("^news_[0-9]+\.xml", $news_file)) { array_push($news_array, str_replace(".xml","",$news_file)); } } //echo "
      ";print_r($news_array);echo "
      "; //-> TEST closedir($news_dir); if(count($news_array)==0) { echo ""._NOPUBNEWS." !"; return; } else { sort($news_array); } ?>

      "; ?>



      Topic


      "; if ($news_editor=="fckeditor" AND file_exists("include/plugins/editors/FCKeditor/fckeditor.php")) { $fck_installed = TRUE; echo ""._INTMESSAGGIO."
      "; include("include/plugins/editors/FCKeditor/fckeditor.php"); // fckeditor panel news HEADER $oFCKeditor = new FCKeditor('head'); $oFCKeditor->BasePath = "include/plugins/editors/FCKeditor/"; $oFCKeditor->Value = $edit_header; $oFCKeditor->Width = "100%"; $oFCKeditor->Height = "400"; $oFCKeditor->ToolbarSet = "Default"; $oFCKeditor->Create(); // fckeditor panel news BODY echo ""._CORPOMESSAGGIO."
      "; $oFCKeditor = new FCKeditor('body'); $oFCKeditor->BasePath = "include/plugins/editors/FCKeditor/"; $oFCKeditor->Value = $edit_body; $oFCKeditor->Width = "100%"; $oFCKeditor->Height = "500"; $oFCKeditor->ToolbarSet = "Default"; $oFCKeditor->Create(); } else { $fck_installed = FALSE; // bbcodes panel news HEADER bbcodes_panel("head", "home", "formatting"); echo "
      "; bbcodes_panel("head", "home", "emoticons"); echo "
      "; bbcodes_panel("head", "home", "images"); echo "
      "; echo ""._INTMESSAGGIO."
      "; echo "\n

      "; // bbcodes panel news BODY bbcodes_panel("body", "home", "formatting"); echo "
      "; bbcodes_panel("body", "home", "emoticons"); echo "
      "; bbcodes_panel("body", "home", "images"); echo "
      "; echo ""._CORPOMESSAGGIO."
      "; echo "\n"; } // submit buttons ?>

         
      * @version 20070716 */ function fncc_editpoll() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); $myforum = getparam("myforum", PAR_COOKIE, SAN_FLAT); include (get_fn_dir("sections")."/none_Sondaggio/config.php"); // files' declarations $file_xml = get_file($sondaggio_file_dati); $attivo = get_xml_element("fp:attivo",$file_xml); $opzioni = get_xml_element("fp:opzioni",$file_xml); $opzione = get_xml_array("fp:opzione",$opzioni); // print html form echo "
      "; // poll status: open/closed echo "
      "._FP_STATOSONDAGGIO; if($attivo=="y") { echo ""._FP_APERTO; echo ""._FP_CHIUSO; } else { echo ""._FP_APERTO; echo ""._FP_CHIUSO; } echo "
      "; // poll argument echo "
      "._FP_DOMANDASONDAGGIO.": "; echo ""; echo "
      "; // instructions echo "
      "._FP_ISTRUZIONIMODIFICA."
      "; // poll options echo ""; for($n=0; $n"; echo ""; echo ""; echo ""; echo ""; echo ""; } for($n=count($opzione); $n<20; $n++) { // print empty options echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
      "; echo $n+1; echo ""._FP_VOTI."
      "; echo $n+1; echo ""._FP_VOTI."
      "; // save poll configuration ?>
      "; ?>
      * @version 20080607 */ function fncc_fdplusconf() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // check file existance $file = "download/fdconfig.php"; if(file_exists($file)) { echo "
      "; // scan configuration file to find all settings $settings = array(); $conf_file = file($file); for($i=0;$i TEST // scan for installed mime icon sets $icons_array = array(); $icons_num = 0; foreach (glob("images/mime/*") as $icon_one){ if(is_dir($icon_one) AND !eregi("CVS",$icon_one) AND $icon_one!="." AND $icon_one!="..") { $icons_array[$icons_num] = $icon_one; $icons_num++; } } if($icons_num>0) { sort($icons_array); } //print_r($icons_array); //-> TEST ?>



      $myicon  "; } ?>


      /> />

      /> />

      /> />




      /> />

      /> />

      /> />

      /> />

      /> />







      "._FNCC_WARNINGNOFILE.""; } /* * List all members of the site, with the possibility * to list them in order by name or by time * * @author Marco Segato * @version 20070729 */ function fncc_userslist() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); $order = getparam("order", PAR_GET, SAN_FLAT); // variables global $fuso_orario; $time_fresh = 192; // number of hours in a week // load members in an array $users = list_users(); $members = array(); for($i=0;$i $users[$i], "time" => filemtime(get_fn_dir("users")."/".$users[$i].".php")+(3600*$fuso_orario))); } //echo "
      ";print_r($members);echo "
      "; //-> TEST // sort the array as chosen if(count($members)>0) { switch($order) { case "name_a": sort ($members); // ascending by name break; case "name_d": rsort ($members); // descending name break; case "time_a": usort($members, create_function('$a, $b', "return strnatcasecmp(\$a['time'], \$b['time']);")); // ascending by time break; case "time_d": usort($members, create_function('$a, $b', "return strnatcasecmp(\$a['time'], \$b['time']);")); // descending by time $members = array_reverse($members, FALSE); break; default: sort ($members); } } // print links to order the list $ord_name_a = build_ahah_link($mod, "&op=fnccmembers&order=name_a", "fn_adminpanel", "get"); $ord_name_d = build_ahah_link($mod, "&op=fnccmembers&order=name_d", "fn_adminpanel", "get"); $ord_time_a = build_ahah_link($mod, "&op=fnccmembers&order=time_a", "fn_adminpanel", "get"); $ord_time_d = build_ahah_link($mod, "&op=fnccmembers&order=time_d", "fn_adminpanel", "get"); // print the list of the members $style_h = " style=\"border:1px solid;border-collapse:collapse;font-weight:bold;text-align:center;\""; $style_c = " style=\"border-bottom:1px solid;padding-left:1.5em;"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; for($i=0; $i"; echo ""; $member = str_replace(".php", "", $members[$i]['name']); echo ""; // print image 'new.gif' if userprofile has been modified within 1 week if(time()-$members[$i]['time']<$time_fresh*3600) { $img_fresh = "new"; } else { $img_fresh = ""; } echo ""; echo ""; } ?>
      Id$ord_name_a↓ "._NOMEUTENTE." $ord_name_d↑$ord_time_a↓ "._FNCC_CHANGEDATE." $ord_time_d↑
      ".($i+1)."$member".date(" d.m.Y, H:i:s", $members[$i]['time'])." $img_fresh
      * @version 20070716 */ function fncc_newuserprofile() { global $reguser, $action; // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); // print fields to fill echo "
      "; $style1 = "font-style:bold; padding:0.2em;"; $style2 = "padding:0.2em;"; ?>
      avatar


      :
      "; ?>
      * @version 20070730 */ function fncc_listwaiting() { // security conversions $mod = getparam("mod", PAR_GET, SAN_FLAT); $order = getparam("order", PAR_GET, SAN_FLAT); $user = getparam("user", PAR_GET, SAN_FLAT); // variables global $fuso_orario; $time_fresh = 192; // number of hours in a week // load members in an array $waitinglist = array(); $handle = opendir(get_waiting_users_dir()); while($file = readdir($handle)) { if(eregi("^[0-9a-zA-Z]+\.php$", $file)) { $file = str_replace(".php", "", $file); array_push($waitinglist, $file); } } //echo "
      ";print_r($waitinglist);echo "
      "; //-> TEST closedir($handle); // check the number of profiles to activate if(count($waitinglist)==0) { echo _FNCC_NOUSERSTOACTIVATE; return; } $members = array(); for($i=0;$i $waitinglist[$i], "time" => filemtime(get_waiting_users_dir()."/".$waitinglist[$i].".php")+(3600*$fuso_orario))); } //echo "
      ";print_r($members);echo "
      "; //-> TEST // sort the array as chosen if(count($members)>0) { switch($order) { case "name_a": sort ($members); // ascending by name break; case "name_d": rsort ($members); // descending name break; case "time_a": usort($members, create_function('$a, $b', "return strnatcasecmp(\$a['time'], \$b['time']);")); // ascending by time break; case "time_d": usort($members, create_function('$a, $b', "return strnatcasecmp(\$a['time'], \$b['time']);")); // descending by time $members = array_reverse($members, FALSE); break; default: sort ($members); } } // print links to order the list $ord_name_a = build_ahah_link($mod, "&op=fnccwaitingusers&order=name_a", "fn_adminpanel", "get"); $ord_name_d = build_ahah_link($mod, "&op=fnccwaitingusers&order=name_d", "fn_adminpanel", "get"); $ord_time_a = build_ahah_link($mod, "&op=fnccwaitingusers&order=time_a", "fn_adminpanel", "get"); $ord_time_d = build_ahah_link($mod, "&op=fnccwaitingusers&order=time_d", "fn_adminpanel", "get"); // print the list of the profiles $style_h = " style=\"border:1px solid;border-collapse:collapse;font-weight:bold;text-align:center;\""; $style_c = " style=\"border-bottom:1px solid;padding-left:1.5em;"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; for($i=0; $i"; echo ""; $member = str_replace(".php", "", $members[$i]['name']); $link = build_ahah_link($mod, "&op=fnccwaitingusers&user=$member", "fn_adminpanel", "get"); echo ""; // print image 'new.gif' if userprofile has been registered within 1 week if(time()-$members[$i]['time']<$time_fresh*3600) { $img_fresh = "new"; } else { $img_fresh = ""; } echo ""; echo ""; } ?>
      Id$ord_name_a↓ "._NOMEUTENTE." $ord_name_d↑$ord_time_a↓ "._FNCC_CHANGEDATE." $ord_time_d↑
      ".($i+1)."".$link.$member."".date(" d.m.Y, H:i:s", $members[$i]['time'])." $img_fresh
      ";print_r($user_xml);echo ""; //-> TEST $detstyle1 = "float:left;height:2em;width:25%;"; $detstyle2 = "float:left;height:2em;width:60%;"; ?>

       
       
       
      />
       
       
       
       
       
       
      ' />
      "; $url_mod .= "save"; $url_mod .= "\n"; ?>
      ' />
      ' />
      "; $url_reg .= "mail"; $url_reg .= "\n"; ?>

      | "; echo ""._FNCC_ACTIVATE.""; ?>

      * @version 20070730 */ function fncc_managebackups() { // security checks $mod = getparam("mod", PAR_GET, SAN_FLAT); $log = getparam("log", PAR_GET, SAN_FLAT); // list all types of backup allowed $backup_array = array( "news" =>array("value"=>get_fn_dir("news"), "desc"=>_FNCC_BACKUPNEWS), "users" =>array("value"=>get_fn_dir("users"), "desc"=>_FNCC_BACKUPUSERS), "var" =>array("value"=>get_fn_dir("var"), "desc"=>_FNCC_BACKUPMISC." /".get_fn_dir("var")), "sections"=>array("value"=>get_fn_dir("sections"), "desc"=>_FNCC_BACKUPSECT), "forum" =>array("value"=>get_fn_dir("var")."/flatforum", "desc"=>_FNCC_BACKUPFORUM), "site" =>array("value"=>"./", "desc"=>_FNCC_BACKUPSITE), ); //echo "
      ";print_r($backup_array);echo "
      "; //-> TEST // print html forms $icon = get_fn_dir("sections")."/$mod/none_images/floppy_unmount.png"; foreach($backup_array as $tosave) { echo "
      "; ?>
      backup
      //none_images/button_cancel.png" alt="canc" style="vertical-align:middle;padding-right:1em;">
      * @version 20070720 */ function fncc_managelogs() { // security checks $mod = getparam("mod", PAR_GET, SAN_FLAT); $log = getparam("log", PAR_GET, SAN_FLAT); $rewrite = "false"; // load content of the log you choosed if(isset($log) AND file_exists(get_fn_dir("var")."/log/$log.php")) { $content = stripslashes(get_file(get_fn_dir("var")."/log/$log.php")); } // list news waiting for acceptance $logs_array = array(); $logs_dir = opendir(get_fn_dir("var")."/log"); while($logs_file=readdir($logs_dir)) { if($logs_file!="." AND $logs_file!=".." ) { array_push($logs_array, str_replace(".php","",$logs_file)); } } //echo "
      ";print_r($logs_array);echo "
      "; //-> TEST closedir($logs_dir); if(count($logs_array)==0) { echo ""._NORESULT." !"; return; } else { sort($logs_array); } ?>

      "; echo $content; echo "\n

      "; // delete button echo build_ahah_link($mod, "", "fn_adminpanel", "post", "form_cleanlog"); ?> * @version 20080607 */ function fncc_manageblacklists() { // security checks $mod = getparam("mod", PAR_GET, SAN_FLAT); $list = getparam("list", PAR_GET, SAN_FLAT); $rewrite = "false"; // load content of the log you choosed if(isset($list) AND file_exists("include/blacklists/$list.php")) { $rewrite = $list; $content = get_file("include/blacklists/$list.php"); } // list news waiting for acceptance $lists_array = array(); $lists_dir = opendir("include/blacklists"); while($lists_file=readdir($lists_dir)) { if($lists_file!="." AND $lists_file!=".." AND eregi("php$",get_file_extension($lists_file))) { array_push($lists_array, str_replace(".php","",$lists_file)); } } //echo "
      ";print_r($lists_array);echo "
      "; //-> TEST closedir($lists_dir); if(count($lists_array)==0) { echo ""._NORESULT." !"; return; } else { sort($lists_array); } ?>

      "; echo $content; echo "\n

      "; // check writing permissions if(is_writeable("include/blacklists/$list.php")) { ?>


      flatnuke-2.7.2/sections/none_Admin/none_tools/0000755000175000017500000000000011177641445020770 5ustar simonesimoneflatnuke-2.7.2/sections/none_Admin/none_tools/phpinfo.php0000644000175000017500000000061410651376214023140 0ustar simonesimone

      Reserved area: keep out!

      "; return; } ?>flatnuke-2.7.2/sections/none_Admin/none_tools/webadmin.php0000644000175000017500000015177011027410440023261 0ustar simonesimone * * 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 10 * ------------------------------------------------------------------------- */ //---> change to Flatnuke path and include its APIs chdir("./../../../"); include_once("functions.php"); // area reserved to the administraor if(!is_admin()) { $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); fnlog("Security", "$ip||".get_username()."||Tried to access the FTP file manager."); echo "

      Reserved area: keep out!

      "; return; } // <--- /* Your language: * 'en' - English * 'de' - German * 'fr' - French * 'it' - Italian * 'es' - Spanish * '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'])); } //--> Flatnuke /*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)); if($directory == $homedir) $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; //--> Flatnuke $dirpermission = (function_exists('umask')) ? 0777 : 0755; //--> Flatnuke } if (!isset($filepermission)) { //$filepermission = (function_exists('umask')) ? (0666 & ~umask()) : 0644; //--> Flatnuke $filepermission = (function_exists('umask')) ? 0666 : 0644; //--> Flatnuke } 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(substr($path, -2, 2) == "..") $path.="/"; //if ($stat = @lstat($path)) { //--> Flatnuke if ($stat = @stat($path)) { //--> Flatnuke $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']) { if(substr($path, -3, 3) == "../") $r_path = $path.$delim.'./'; else $r_path = $path.$delim.'./'; $file['is_executable'] = file_exists($r_path); } 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) { $dirs = array(); $files = array(); for ($i = 0; $i < sizeof($list); $i++) { if ($list[$i]['is_dir']) $dirs[] = $list[$i]; else $files[] = $list[$i]; } quicksort($dirs, 0, sizeof($dirs) - 1, $key); if ($reverse) $dirs = array_reverse($dirs); quicksort($files, 0, sizeof($files) - 1, $key); if ($reverse) $files = array_reverse($files); return array_merge($dirs, $files); } 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 (!file_exists($file)) return false; if (@is_dir($file) && !@is_link($file)) { $success = false; if (@rmdir($file)) { $success = true; } elseif ($dir = @opendir($file)) { $success = true; while (($f = readdir($dir)) !== false) { if ($f != '.' && $f != '..' && !del($file . $delim . $f)) { $success = false; } } closedir($dir); if ($success) $success = @rmdir($file); } return $success; } 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; $list = 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 '; column_title('filename', $sort, $reverse); column_title('size', $sort, $reverse); if (!$win) { column_title('permission', $sort, $reverse); column_title('owner', $sort, $reverse); column_title('group', $sort, $reverse); } echo ' ' . word('functions') . ' '; 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 ' '; 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 "\n"; echo "\t{$file['size']} B\n"; if (!$win) { echo "\t'; $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 "\n"; if (array_key_exists('owner_name', $file)) { echo "\t{$file['owner_name']}\n"; } else { echo "\t{$file['owner']}\n"; } if (array_key_exists('group_name', $file)) { echo "\t{$file['group_name']}\n"; } else { echo "\t{$file['group']}\n"; } } echo ' '; $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 ' '; } echo ' > '; $actions = array(); if (@is_writable(dirname($file['path']))) { $actions[] = 'delete'; $actions[] = 'move'; } $actions[] = 'copy'; echo ' '; } function column_title ($column, $sort, $reverse) { global $self, $directory; $d = 'dir=' . urlencode($directory) . '&'; $r = ''; //--> Flatnuke $arr = ''; //--> Flatnuke if ($sort == $column) { if (!$reverse) { $r = '&reverse=true'; $arr = ' ∧'; } else { $arr = ' ∨'; } } else { $r = ''; } echo "\t" . word($column) . "$arr\n"; } function directory_choice () { global $directory, $homedir, $cols, $self; echo ' ' . word('directory') . ': '; } function upload_box () { global $cols; echo ' ' . word('file') . ': '; } function create_box () { global $cols; echo ' '; } function edit ($file) { global $self, $directory, $editcols, $editrows, $apache, $htpasswd, $htaccess; html_header(); echo '

      ' . html($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 ' '; } 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 'es': $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 '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.', 'permission_for' => 'Permission of "[%1]":', 'permission_set' => 'Permission of "[%1]" was set to [%2].', 'permission_not_set' => 'Permission of "[%1]" could not be set to [%2].', 'not_readable' => '"[%1]" can not be read.' ); } } function getimage ($image) { switch ($image) { case 'file': return base64_decode('R0lGODlhEQANAJEDAJmZmf///wAAAP///yH5BAHoAwMALAAAAAARAA0AAAItnIGJxg0B42rsiSvCA/REmXQWhmnih3LUSGaqg35vFbSXucbSabunjnMohq8CADsA'); case 'folder': return base64_decode('R0lGODlhEQANAJEDAJmZmf///8zMzP///yH5BAHoAwMALAAAAAARAA0AAAIqnI+ZwKwbYgTPtIudlbwLOgCBQJYmCYrn+m3smY5vGc+0a7dhjh7ZbygAADsA'); case 'hidden_file': return base64_decode('R0lGODlhEQANAJEDAMwAAP///5mZmf///yH5BAHoAwMALAAAAAARAA0AAAItnIGJxg0B42rsiSvCA/REmXQWhmnih3LUSGaqg35vFbSXucbSabunjnMohq8CADsA'); case 'link': return base64_decode('R0lGODlhEQANAKIEAJmZmf///wAAAMwAAP///wAAAAAAAAAAACH5BAHoAwQALAAAAAARAA0AAAM5SArcrDCCQOuLcIotwgTYUllNOA0DxXkmhY4shM5zsMUKTY8gNgUvW6cnAaZgxMyIM2zBLCaHlJgAADsA'); case 'smiley': return base64_decode('R0lGODlhEQANAJECAAAAAP//AP///wAAACH5BAHoAwIALAAAAAARAA0AAAIslI+pAu2wDAiz0jWD3hqmBzZf1VCleJQch0rkdnppB3dKZuIygrMRE/oJDwUAOwA='); case 'arrow': return base64_decode('R0lGODlhEQANAIABAAAAAP///yH5BAEKAAEALAAAAAARAA0AAAIdjA9wy6gNQ4pwUmav0yvn+hhJiI3mCJ6otrIkxxQAOw=='); } } function html_header () { global $site_charset; echo << webadmin.php END; } function html_footer () { echo << END; } function notice ($phrase) { global $cols; $args = func_get_args(); array_shift($args); return ' ' . phrase($phrase, $args) . ' '; } function error ($phrase) { global $cols; $args = func_get_args(); array_shift($args); return ' ' . phrase($phrase, $args) . ' '; } ?> flatnuke-2.7.2/sections/none_Search/0000755000175000017500000000000011177641445016766 5ustar simonesimoneflatnuke-2.7.2/sections/none_Search/section.php0000644000175000017500000001154311040603570021131 0ustar simonesimone$search_string_limit){ echo "The search string is too long!"; fnlog("Search","search string \"$find\" too long"); return; } if (strlen($findget)>$search_string_limit){ echo "The search string is too long!"; fnlog("Search","search string \"$findget\" too long"); return; } if (trim($findget)!=""){ if ($whereget=="news"){ Argument_search($whereget, $findget); return; } } if (trim($find)=="") { view_search_interface(); return; } else if ($where=="allsite"){ foreach (glob("$search_plugins_dir/*.php") as $plugin){ if (eregi("^none_",basename($plugin))) continue; include_once($plugin); } } else if (trim($where)!=""){ if (file_exists("$search_plugins_dir/$where.php")){ include_once("$search_plugins_dir/$where.php"); return; } else { view_search_interface(); } } else { view_search_interface(); } /** * Mostra l'interfaccia utente per compiere ricerche * @author Aldo Boccacci * @since 2.5.8 */ function view_search_interface(){ ?>

      "; } else { echo "
      "; } ?>





      flatnuke-2.7.2/sections/none_Segnala_News/0000755000175000017500000000000011177641445020127 5ustar simonesimoneflatnuke-2.7.2/sections/none_Segnala_News/section.php0000644000175000017500000001375410651717302022306 0ustar simonesimone".$sitename." "._DEVIREG3; return; } // sanitize text $mytitle = stripslashes(htmlspecialchars($title)); $myicon = stripslashes(htmlspecialchars($icon)); $myhead = tag2html($head, "home"); $mybody = tag2html($body, "home"); // build news $myhead = "$myname "._HASCRITTO.":

      $myhead"; $string = "\n"; $string .= "\n"; $string .= "\n"; $string .= "\t$mytitle\n"; $string .= "\t$myicon\n"; $string .= "\t0\n"; $string .= "\t$myhead\n"; $string .= "\t$mybody\n"; $string .= ""; // write news fnwrite("misc/news_".time().".xml", $string, "w", array("nonull")); fnlog("News", $addr."||".get_username()."||New news proposed."); ?>




      Argomento


      "; // bbcodes panel news HEADER bbcodes_panel("head", "home", "formatting"); echo "
      "; bbcodes_panel("head", "home", "emoticons"); echo "
      "; bbcodes_panel("head", "home", "images"); echo "
      "; echo ""._INTMESSAGGIO."
      "; echo "

      "; // bbcodes panel news BODY bbcodes_panel("body", "home", "formatting"); echo "
      "; bbcodes_panel("body", "home", "emoticons"); echo "
      "; bbcodes_panel("body", "home", "images"); echo "
      "; echo ""._CORPOMESSAGGIO."
      "; echo "

      "; echo "

      "; // confirm button echo " "; // preview system echo ""; echo "
      "; ?> ".$sitename." "._DEVIREG3; } break; } ?> flatnuke-2.7.2/sections/none_Login/0000755000175000017500000000000011177641445016631 5ustar simonesimoneflatnuke-2.7.2/sections/none_Login/section.php0000644000175000017500000013533211177637545021023 0ustar simonesimone ONLY for login action if(isset($_POST['action']) AND $_POST['action']=="login") { chdir("../../"); include_once "config.php"; include_once "functions.php"; switch($lang) { case "de" OR "es" OR "fr" OR "it" OR "pt": include_once ("languages/$lang.php"); break; default: include_once ("languages/en.php"); } login(); return; } // block any other direct access to this page else { Header("Location: ../../index.php"); die(); } } //scelgo l'azione da compiere if (isset($_GET['action'])){ $action = getparam("action",PAR_GET,SAN_FLAT); switch($action) { case "visreg": reg_interface(); break; case "viewmembers": view_members(); break; case "viewprofile": $user = getparam("user",PAR_GET,SAN_FLAT); if (trim($user)=="") view_profile(get_username()); else view_profile($user); break; case "editprofile": edit_profile(); break; case "deleteuser": delete_user(); break; case "logout": logout(); break; case "activateuser": $user =getparam("user",PAR_GET,SAN_FLAT); if (!is_alphanumeric($user)) die("User name is not valid!"); $regcode = getparam("regcode",PAR_GET,SAN_NULL); if (!check_var($regcode,"digit")) die("The registration code is not valid!"); activate_user($user,$regcode); break; case "passwordlost": password_lost(); break; case "newpwd": $user = trim(getparam("user", PAR_GET, SAN_FLAT)); $regcode = trim(getparam("regcode", PAR_GET, SAN_FLAT)); activate_newpwd($user, $regcode); break; } } else if (isset($_POST['action'])){ $action = getparam("action",PAR_POST,SAN_FLAT); switch($action) { case "login": login(); break; case "reguser": reguser(); break; case "saveprofile": save_profile(); break; case "sendnewpassword": send_new_password(); break; } } else { if (is_guest()) login_interface(); else view_profile(get_username()); } /** * Visualizza l'interfaccia per effettuare il login * * Visualizza l'interfaccia per effettuare il login degli * utenti registrati, e propone un link per la registrazione * di nuovi utenti. * * @author Simone Vellei * @author Marco Segato | 20070317: ready to 2.5.9 */ function login_interface(){ ?>
      "; echo "
      "; echo "
      "; } else echo "
      "; // login button ?>

      * @author Marco Segato | 20070317: ready to 2.5.9 */ function reg_interface(){ // deny fake regs if (isset($_GET['reguser']) or isset($_POST['reguser']) or isset($_COOKIE['reguser'])) die(_NONPUOI); // check if registering is permitted global $reguser; if ($reguser!="1" and $reguser!="2") die(_NONPUOI); // if not, die // print registration forms edit_user_interface("","reguser"); } /** * Visualizza gli utenti registrati sul portale * * Visualizza una lista degli utenti registrati sul portale, * con alcune delle informazioni personali inserite. * * @author Simone Vellei * @author Marco Segato | 20070317: ready to 2.5.9 */ function view_members(){ // security convertions $page = getparam("page", PAR_GET, SAN_FLAT); $myforum = getparam("myforum",PAR_COOKIE,SAN_FLAT); $req = getparam("REQUEST_URI",PAR_SERVER, SAN_FLAT); if(strstr($req,"myforum=")) die(_NONPUOI); // check number of page to display global $memberperpage; if ($page == "") $page = 0; if ($page != 0) $page -= 1; // check that current user is logged if (!is_guest()) { echo ""._FUTENTI.":

      "; ?> "; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } } // print pages to change view $pages = ""; if(count($members)>$memberperpage){ for ($thispagenum=1; $thispagenum<=ceil(count($members)/$memberperpage); $thispagenum++) { if($thispagenum != ($page+1)) $pages .= "[".$thispagenum."] "; else $pages .= "[".$thispagenum."] "; } } ?>
      $user".$profile['level']." ".$profile['name']." "; // echo "mail: ".$profile['hiddenmail']; if($profile['mail']!="" and $profile['hiddenmail']!="1" and !is_guest()) { echo "".str_replace("%20"," ",email_mask($profile['mail'])).""; } else if ($profile['mail']!="" and $profile['hiddenmail']=="1" and is_admin()) { //gli amministratori vedono tutto echo "".str_replace("%20"," ",email_mask($profile['mail'])).""; } else if ($profile['mail']!="" and $profile['hiddenmail']=="1" and !is_admin()){ echo ""; } else echo " "; echo ""; if($profile['homepage']!="") { echo "".$profile['homepage'].""; } else echo " "; echo "
      "._FERRACC.""; } /** * Visualizza il profilo dell'utente * * Visualizza il profilo dell'utente selezionato presentandone * le piu` significative informazioni personali inserite. * * @author Simone Vellei * @author Marco Segato | 20070317: ready to 2.5.9 * * @param string $user Profilo utente da visualizzare */ function view_profile($user=""){ if (is_guest()){ login_interface(); return; } // secutiry checks // Username must be taken from function's parameter. If it's take from GET variable // there are some problems in viewing profile $user = getparam($user, PAR_NULL, SAN_FLAT); $myforum = get_username(); $addr = getparam("REMOTE_ADDR",PAR_SERVER, SAN_FLAT); global $lang; // check profile exists if(!file_exists(get_fn_dir("users")."/$user.php")) { ?>


      $user
      "; // avatar $img = $profile['avatar']; if($img!="") { if(!stristr($img,"http://")) echo "$user"; else echo "$user"; } else echo "$user"; echo "

      "; $style1 = "font-style:bold; padding:0.2em;"; $style2 = "padding:0.2em;"; ?>
      :
      :
      : ".$profile['homepage'].""; } ?>
      :
      :
      Jabber / Google Talk:
      Skype:
      ICQ:
      MSN:
      :
      :

      "._FDELUTENTE." | "; } // link to edit profile if it's me or admins if (is_admin() OR $myforum==$user) { echo ""._FMODPROF.""; } } // not available to unregistered users else echo ""._FERRACC.""; ?>
      * @author Marco Segato | 20070317: ready to 2.5.9 */ function login(){ global $remember_login; // security fixes $nome = getparam("nome",PAR_POST,SAN_FLAT); $logpassword = getparam("logpassword",PAR_POST,SAN_FLAT); $rememberlogin = getparam("rememberlogin", PAR_POST, SAN_FLAT); $url = getparam("PHP_SELF",PAR_SERVER, SAN_FLAT); $addr = getparam("REMOTE_ADDR",PAR_SERVER, SAN_FLAT); $nome = str_replace("<","",$nome); $nome = str_replace(">","",$nome); // md5 input password $lpass = md5($logpassword); // unregistered or blank user if(!file_exists(get_fn_dir("users")."/$nome.php") || ($nome=="")) { if (file_exists(get_waiting_users_dir()."/$nome.php")){ echo "
      "._WAITINGUSERLOGIN; echo "
      "._CONTACTADMIN."

      "._INDIETRO."
      "; return; } // rebuild correct path $url = str_replace("/sections/none_Login/section.php", "", $url); $url = str_replace("/index.php", "", $url); // goto registration module ?>



      * @author Marco Segato | 20070317: ready to 2.5.9 * * @param string $user Profilo utente da modificare */ function edit_profile($user=""){ // security checks $user = getparam("user", PAR_GET, SAN_FLAT); $myforum = getparam("myforum",PAR_COOKIE,SAN_FLAT); $addr = getparam("REMOTE_ADDR",PAR_SERVER, SAN_FLAT); $req = getparam("REQUEST_URI",PAR_SERVER, SAN_FLAT); if(strstr($req,"myforum=")) die(_NONPUOI); // check profile exists if(!file_exists(get_fn_dir("users")."/$user.php") OR $user=="") { ?>
      10) $level=10; // io posso modificare il mio ma solo se mantengo il livello!!! // l'amministratore puo' modificare tutti i profili if((($nome==$myforum) and (getlevel($nome,"home")==$level) and versecid($nome)) or ((getlevel($myforum,"home")==10) and versecid($myforum))){ ?>

      ","",$nome); $nome=stripslashes($nome); $regpass=str_replace("<","",$regpass); $regpass=str_replace(">","",$regpass); $anag=str_replace("<","",$anag); $anag=str_replace(">","",$anag); $anag=stripslashes($anag); $email=str_replace("<","",$email); $email=str_replace(">","",$email); $email=stripslashes($email); $homep=str_replace("<","",$homep); $homep=str_replace(">","",$homep); $homep=stripslashes($homep); $prof=str_replace("<","",$prof); $prof=str_replace(">","",$prof); $prof=stripslashes($prof); $prov=str_replace("<","",$prov); $prov=str_replace(">","",$prov); $prov=stripslashes($prov); if ($url_avatar!="images/blank.png") { $ava = $url_avatar; $ava = str_replace("<", "", $ava); $ava = str_replace(">", "", $ava); } else { $ava = "images/".$ava; $ava = str_replace("<", "", $ava); $ava = str_replace(">", "", $ava); } //$ava=str_replace("<","",$ava); //$ava=str_replace(">","",$ava); $firma=str_replace("<","",$firma); $firma=str_replace(">","",$firma); $firma=stripslashes($firma); # Mette la pass in MD5 if(($regpass=="")){ $tempdata = array(); $tempdata = load_user_profile($nome); $regpass = $tempdata['password']; } else{ $regpass = md5 ($regpass); } $firma=str_replace("\n","
      ",$firma); $data = array(); $data['password'] = $regpass; $data['name'] = $anag; $data['mail'] = $email; $data['hiddenmail'] = $hiddenmail; $data['homepage'] = $homep; $data['work'] = $prof; $data['from'] = $prov; $data['avatar'] = $ava; $data['sign'] = $firma; $data['jabber']=$jabber; $data['skype']=$skype; $data['icq']=$icq; $data['msn']=$msn; $data['presentation']=$presentation; $data['level'] = $level; save_user_profile($nome,$data); fnlog("Saveprofile", getparam("REMOTE_ADDR",PAR_SERVER, SAN_FLAT)."||".$myforum."||User $myforum changed his profile.");?>
      "; echo "<<"._INDIETRO.""; return; } if(isset($_POST['regpass'])) $regpass=$_POST['regpass']; else $regpass=""; if(isset($_POST['reregpass'])) $reregpass=$_POST['reregpass']; else $reregpass=""; if(isset($_POST['anag'])) $anag=$_POST['anag']; else $anag=""; if(isset($_POST['email'])) $email=$_POST['email']; else $email=""; if(isset($_POST['homep'])) $homep=$_POST['homep']; else $homep=""; if(isset($_POST['prof'])) $prof=$_POST['prof']; else $prof=""; if(isset($_POST['prov'])) $prov=$_POST['prov']; else $prov=""; if(isset($_POST['ava'])) $ava=$_POST['ava']; else $ava=""; if(isset($_POST['url_avatar']) AND eregi("(jpg|jpeg|png|gif)",get_file_extension($_POST['url_avatar'])) ) $url_avatar=$_POST['url_avatar']; else $url_avatar="images/blank.png"; if(isset($_POST['firma'])) $firma=$_POST['firma']; else $firma=""; if (isset($_POST['hiddenmail']) and ereg("1|on",trim($_POST['hiddenmail']))){ $hiddenmail = "1"; } else $hiddenmail="0"; $nome=str_replace("\r","",str_replace("\n","",$nome)); $nome=str_replace(chr(10),"",str_replace(chr(13),"",$nome)); $nome=str_replace(".","",$nome); $nome=str_replace("/","",$nome); $nome=str_replace("\\","",$nome); $regpass=str_replace("\r","",str_replace("\n","",$regpass)); $regpass=str_replace(chr(10),"",str_replace(chr(13),"",$regpass)); $reregpass=str_replace("\r","",str_replace("\n","",$reregpass)); $reregpass=str_replace(chr(10),"",str_replace(chr(13),"",$reregpass)); $anag=str_replace("\r","",str_replace("\n","",$anag)); $anag=str_replace(chr(10),"",str_replace(chr(13),"",$anag)); $email=str_replace("\r","",str_replace("\n","",$email)); $email=str_replace(chr(10),"",str_replace(chr(13),"",$email)); $homep=str_replace("\r","",str_replace("\n","",$homep)); $homep=str_replace(chr(10),"",str_replace(chr(13),"",$homep)); $prof=str_replace("\r","",str_replace("\n","",$prof)); $prof=str_replace(chr(10),"",str_replace(chr(13),"",$prof)); $prov=str_replace("\r","",str_replace("\n","",$prov)); $prov=str_replace(chr(10),"",str_replace(chr(13),"",$prov)); $ava=str_replace("\r","",str_replace("\n","",$ava)); $ava=str_replace(chr(10),"",str_replace(chr(13),"",$ava)); $url_avatar=str_replace("\r","",str_replace("\n","",$url_avatar)); $url_avatar=str_replace(chr(10),"",str_replace(chr(13),"",$url_avatar)); $firma=str_replace("\r","",str_replace("\n","",$firma)); $firma=str_replace(chr(10),"",str_replace(chr(13),"",$firma)); ?>

      13) OR (stristr($nome,"\"")) OR (stristr($nome,"\\")) OR ($regpass != $reregpass) or !is_alphanumeric($nome)){ print _FERRCAMPO."
      <<"._INDIETRO.""; } else{ // installing profile if(file_exists("misc/firstinstall")) { if(count(list_users())==0) { $level=10; } else $level=0; unlink("misc/firstinstall"); } else { $level=0; } $nome=str_replace("<","",$nome); $nome=str_replace(">","",$nome); $nome=stripslashes($nome); $regpass=str_replace("<","",$regpass); $regpass=str_replace(">","",$regpass); $anag=str_replace(">","",$anag); $anag=str_replace("<","",$anag); $anag=stripslashes($anag); $email=str_replace("<","",$email); $email=str_replace(">","",$email); $email=stripslashes($email); $homep=str_replace("<","",$homep); $homep=str_replace(">","",$homep); $homep=stripslashes($homep); $prof=str_replace("<","",$prof); $prof=str_replace(">","",$prof); $prof=stripslashes($prof); $prov=str_replace("<","",$prov); $prov=str_replace(">","",$prov); $prov=stripslashes($prov); $ava=str_replace("<","",$ava); $ava=str_replace(">","",$ava); if ($ava=="") $ava="blank.png"; if ($url_avatar!="images/blank.png") { $ava = $url_avatar; $ava = str_replace("<", "", $ava); $ava = str_replace(">", "", $ava); } else { $ava = str_replace("<", "", $ava); $ava = str_replace(">", "", $ava); $ava = "images/".$ava; } $firma=str_replace("<","",$firma); $firma=str_replace(">","",$firma); $firma=stripslashes($firma); # Mette la password in MD5 $pass = ""; $pass = $regpass; $regpass = md5 ($regpass); $firma=str_replace("\n","
      ",$firma); $data = array(); $data['password'] = $regpass; $data['name'] = $anag; $data['mail'] = $email; $data['hiddenmail'] = $hiddenmail; $data['homepage'] = $homep; $data['work'] = $prof; $data['from'] = $prov; $data['avatar'] = $ava; $data['sign'] = $firma; $data['level'] = $level; $data['regmail'] = $email; if ($reguser==2){ //controllo che la mail non sia gia' stata usata per la registrazione di un altro utente if (in_array($email,list_reg_emails()) or in_array($email,list_reg_emails(1))){ echo "
      "._THEMAIL." $email "._MAILUSED; echo "

      <<"._INDIETRO."
      "; die(); } //genero il codice di attivazione $data['regcode'] = mt_rand(1,99999999); //devo controllare la validita' della mail //se non e' valida interrompo e permetto di tornare indietro if (!check_mail($email)){ echo "
      "._ERREMAIL."!"; echo "

      << "._INDIETRO."
      "; die(); } //se l'e-mail e' spammosa blocco tutto! if (is_spam($email,"emails")){ echo ""._ERREMAIL." ("._ISSPAM.")"; $addr = getparam("REMOTE_ADDR",PAR_SERVER, SAN_FLAT); fnlog("Registration","$addr||Failed registration with mail: \"".strip_tags($email)."\""); die(); } } if ($reguser=="2") save_user_profile($nome,$data,1); else save_user_profile($nome,$data); $addr=getparam("REMOTE_ADDR",PAR_SERVER, SAN_FLAT); $myforum=getparam("myforum",PAR_COOKIE,SAN_FLAT); fnlog("Registration", $addr."||".$myforum."||New registered user $nome."); echo "
      "; if ($reguser==2){ //stampo il link di attivazione a schermo (solo in fase di scrittura del codice) $url = "http://".$_SERVER['SERVER_NAME']."/".$_SERVER['SCRIPT_NAME']."?mod=none_Login&action=activateuser&user=$nome®code=".$data['regcode']; // echo "

      $url"; $message = _IST_REG_MAIL."\n\n$url"; if (@mail($email, _COMP_REG_MAIL." $sitename", $message,"FROM: $sitename \r\nX-Mailer: Flatnuke on PHP/".phpversion())){ echo _COMP_REG." $email"; echo "
      "._COMP_REG2; fnlog("Registration", $addr."||".$myforum."||Activation mail sent for $nome."); } else { echo _ACTIVATIONMAILNOTSENT; fnlog("Registration", $addr."||".$myforum."||Activation mail not sent for $nome."); } } else echo _FORAREG; ?>
      <<

      <<
      * @author Marco Segato | 20070317: ready to 2.5.9 * * @param string $user Profilo utente da eliminare */ function delete_user($user=""){ // security checks $myforum = getparam("myforum",PAR_COOKIE,SAN_FLAT); $user = getparam("user", PAR_GET, SAN_FLAT); $addr = getparam("REMOTE_ADDR",PAR_SERVER, SAN_FLAT); // who can delete my account? admins or myself ;) if( is_admin() OR (is_user() AND $user==$myforum) ) { // check if profile exists if(file_exists(get_fn_dir("users")."/".$user.".php") AND is_alphanumeric($user)) { unlink(get_fn_dir("users")."/".$user.".php"); fnlog("Deleteuser", $addr."||".$myforum."||User ".$user." deleted."); } else { fnlog("Deleteuser", $addr."||".$myforum."||Tried to delete non-existant ".$user." profile."); } // if I delete my own account, clear cookies if($user==$myforum){ logout(); } } // unauthorized tries else { fnlog("Deleteuser", $addr."||".$myforum."||Tried to delete ".$user." profile."); } // back to login section ?> * @author Marco Segato | 20070317: ready to 2.5.9 */ function logout(){ // security checks $myforum = getparam("myforum",PAR_COOKIE,SAN_FLAT); $addr = getparam("REMOTE_ADDR",PAR_SERVER, SAN_FLAT); $url = getparam("PHP_SELF",PAR_SERVER, SAN_FLAT); // rebuild path for cookies $path = pathinfo($url); $url = str_replace("/forum","",$path["dirname"]); if($url=="") $url="/"; // set cookies to null setcookie("secid","",NULL,"$url"); setcookie("myforum","",NULL,"$url"); fnlog("Logout", $addr."||".$myforum."||User $myforum logout."); // go back ?>
      ">
      "; } else if ($action=="reguser"){ echo ""; } $style1 = "font-style:bold; padding:0.2em;"; $style2 = "padding:0.2em;"; ?>
      ","\n",$profile['sign']); $profile['sign'] = chop($profile['sign']); ?>","\n",$profile['presentation']); // $profile['presentation'] = chop($profile['presentation']); ?>"; else echo ""; } ?>
      />
      " alt="avatar" border="0" style="max-width:120px;" id="avatar" />


      :
      "; } else { echo ""; } ?>
       
      "._REG_AGREEMENT_TERMS.""; } ?>
      "._FORAREG; ?>
      << * @since 2.7.1 */ function password_lost() { ?>
      * @since 2.7.1 */ function send_new_password() { // security checks $email = trim(getparam("email", PAR_POST, SAN_FLAT)); $addr = getparam("REMOTE_ADDR",PAR_SERVER, SAN_FLAT); global $sitename; // get the list of all users' emails $emails_active = list_users_emails(); //echo "
      "; print_r($emails_active); echo "
      "; //-> TEST echo "
      "; if(!in_array($email, $emails_active)) { echo _ERREMAIL; // provided address doesn't exist } else { $user_arr = array_keys($emails_active, $email); $user = $user_arr[0]; // username $user_data = load_user_profile($user); // user profile // create the new password for registration and save it $rand_pwd = rand(10000000, 99999999); $user_data['regcode'] = $rand_pwd; save_user_profile($user, $user_data); // try to send activation code to the user $url = "http://".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']."?mod=none_Login&action=newpwd&user=$user®code=$rand_pwd"; //echo "

      $url

      "; //-> TEST $message = _NEWPWDMAIL; $message = str_replace("__USERNAME__", $user, $message); $message = str_replace("__SITEURL__", "http://".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME'], $message); $message = str_replace("__URLCONFIRMPASSWORDCHANGE__", $url, $message); $message = str_replace("__REGCODE__", $rand_pwd, $message); if (@mail($email, _NEWPWDFROM." $sitename", $message,"FROM: $sitename \r\nX-Mailer: Flatnuke on PHP/".phpversion())){ echo _COMP_REG." $email"; echo "
      "._COMP_REG2; fnlog("New password", $addr."||||Activation mail for a new password sent to user '$user'."); } else { echo _ACTIVATIONMAILNOTSENT; fnlog("New password", $addr."||||Activation mail for a new password not sent to user '$user'."); } } echo "
      "; } /** * Attivazione nuova password richiesta * * La funzione permette di attivare la nuova password * inviata via email all'utente che ne ha fatto richiesta. * * @author Marco Segato * @since 2.7.1 * * @param string $user Nome utente * @param string $regcode Codice di attivazione */ function activate_newpwd($user, $regcode) { // security checks $user = getparam($user,PAR_NULL,SAN_FLAT); $regcode = getparam($regcode,PAR_NULL,SAN_FLAT); $addr = getparam("REMOTE_ADDR",PAR_SERVER, SAN_FLAT); echo "
      "; if (file_exists(get_fn_dir("users")."/$user.php") AND is_alphanumeric($user)) { $userdata = load_user_profile($user); if ($regcode==$userdata['regcode'] AND check_var($regcode,"digit")) { // build new password $userdata['password'] = md5($regcode); // once activated, reset regcode $userdata['regcode'] = 0; save_user_profile($user, $userdata); fnlog("New password","$addr||||User '$user' succesfully activated the new password."); } else { fnlog("New password","$addr||||Regcode of the user '$user' is not matching."); } } else { fnlog("New password","$addr||||Tried to activate a new password for unexistant '$user' user."); } // reset cookies logout(); header("Location: index.php?mod=none_Login"); die(); } ?>flatnuke-2.7.2/sections/none_Prova/0000755000175000017500000000000011177641445016650 5ustar simonesimoneflatnuke-2.7.2/sections/none_Prova/Prova3/0000755000175000017500000000000011177641445020022 5ustar simonesimoneflatnuke-2.7.2/sections/none_Prova/Prova3/level.php0000644000175000017500000000000310254337553021630 0ustar simonesimone10 flatnuke-2.7.2/sections/none_Prova/Prova3/section.php0000644000175000017500000000062111036155723022167 0ustar simonesimone Se sei entrato qui sei un amministratore! Controlla il file level.php in questa sezione!!

      Questa e' una sottosezione, anche qui e' possibile utilizzare la variabile $myurl.
      Il metodo da utilizzare e' sempre lo stesso: paperino flatnuke-2.7.2/sections/none_Prova/Prova3/none_paperino.txt0000644000175000017500000000032711036155723023412 0ustar simonesimoneQuesto e' il file none_paperino.txt; e' possibile inserire tag HTML.
      Si noti il titolo della sezione attuale, che permette facilmente di tornare alla "radice" dell'argomento che stiamo leggendo. flatnuke-2.7.2/sections/none_Prova/section.php0000644000175000017500000000110511036155723021013 0ustar simonesimone Questa e' una sezione di prova: per visualizzare un file allo stesso livello della directory si usa il link il mio link.
      Viene infatti utilizzata la variabile $myurl per far puntare l'indirizzo di riferimento alla rispettiva sezione.

      Come al solito, e' presente anche la lista delle sottosezioni.
      Sei amministratore!!!"; } ?> flatnuke-2.7.2/sections/none_Prova/Prova2/0000755000175000017500000000000011177641445020021 5ustar simonesimoneflatnuke-2.7.2/sections/none_Prova/Prova2/section.php0000644000175000017500000000044611036155723022173 0ustar simonesimone Questa e' una sottosezione, anche qui e' possibile utilizzare la variabile $myurl.
      Il metodo da utilizzare e' sempre lo stesso: altro file flatnuke-2.7.2/sections/none_Prova/Prova2/none_pluto.txt0000644000175000017500000000032411036155723022734 0ustar simonesimoneQuesto e' il file none_pluto.txt; e' possibile inserire tag HTML.
      Si noti il titolo della sezione attuale, che permette facilmente di tornare alla "radice" dell'argomento che stiamo leggendo. flatnuke-2.7.2/sections/none_Prova/README0000644000175000017500000000021011036155723017512 0ustar simonesimoneQuesta e' una sezione di prova, esaminare il codice di section.php per apprendere tramite un esempio pratico la costruzione di sezioni. flatnuke-2.7.2/sections/none_Prova/none_pippo.txt0000644000175000017500000000032411036155723021547 0ustar simonesimoneQuesto e' il file none_pippo.txt; e' possibile inserire tag HTML.
      Si noti il titolo della sezione attuale, che permette facilmente di tornare alla "radice" dell'argomento che stiamo leggendo. flatnuke-2.7.2/sections/Mappa_Sito/0000755000175000017500000000000011177641445016576 5ustar simonesimoneflatnuke-2.7.2/sections/Mappa_Sito/accesskey.php0000644000175000017500000000000110464347332021244 0ustar simonesimonemflatnuke-2.7.2/sections/Mappa_Sito/section.php0000644000175000017500000001001711040603570020734 0ustar simonesimone 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA **/ // previene che il blocco sia eseguito direttamente e redirige a index.php if (eregi("section.php",$_SERVER['PHP_SELF'])) { Header("Location: ../../index.php"); die(); } if (!function_exists("getLang")) //compatibilita' con flatnuke 2.xx (non traduce nulla) { function getLang($filename,$title=null) { return $title; } } global $lang,$theme; echo "\n\n"; //if (!function_exists("list_sections")) //{ /** * * * Ricava la lista delle sezioni o sottosezioni all' interno di una cartella * * @author Alessandro Vernassa * * @param string $path dove cercare le sezioni (es. sections/01_pippo) * @return array che contiene la lista delle sezioni, per scorrerlo utilizzare foreach */ function list_sections_sitemap($path) { $path=getparam($path, PAR_NULL, SAN_FLAT); $handle=opendir("$path"); $modlist=array(); while ($file = readdir($handle)) { if ($file != "." and $file!=".." and (!ereg("^\.",$file) and ($file!="CVS") ) and is_dir("$path/$file") and stristr($file,"none_")==false) { array_push($modlist,$file); } } closedir($handle); natsort($modlist); return $modlist; } //} /** * Stampa la lista delle sezioni e delle sottosessioni * * @param string $path dove cercare la sezione (es. sections/01_pippo) * * @author Alessandro Vernassa * */ function printsection($path) { global $theme; $path=getparam($path, PAR_NULL, SAN_FLAT); $modlist= list_sections_sitemap($path); if (count($modlist>0)) { foreach ($modlist as $mod) { if(stristr($mod,"_")) { $tmp=eregi_replace("^[0-9]*_","",$mod); $tmp=str_replace("_"," ",$tmp); } else $tmp=$mod; if (file_exists("$path/$mod/lang.xml")) { $tmp=getLang("$path/$mod/lang.xml",$tmp); } //controllo il livello if (!user_can_view_section(eregi_replace("^sections/","","$path/$mod"))) continue; //$next=count(list_sections("$path/$mod")); //if ($next>0) echo "\n
        "; // Find the image that identifies the current (sub)section; if not find, it takes the default one by the theme if(file_exists(str_replace("//","/","$path/$mod/section.png"))) { $section_image = str_replace("//","/","$path/$mod/section.png"); } else $section_image = "themes/$theme/images/section.png"; echo "\n
      • "; if ($path!="sections/") //echo "$tmp"; echo "$tmp"; else //echo "$tmp"; echo "$tmp"; printsection("$path/$mod"); echo "\n
      • "; //if ($next>0) echo "\n
      "; } } } ?> flatnuke-2.7.2/sections/none_Sondaggio/0000755000175000017500000000000011177641445017473 5ustar simonesimoneflatnuke-2.7.2/sections/none_Sondaggio/section.php0000644000175000017500000004475710634317253021663 0ustar simonesimone * Website http://www.marcosegato.tk * Versione 2.5 * Data 30/08/2005 */ // dati per finestra copyrights $modulo = "FlatPoll"; $versione = "2.5"; $autore = "Marco Segato"; $email = "segatom@users.sourceforge.net"; $homepage = "http://marcosegato.altervista.org"; $licenza = "GNU General Public License 2"; // dati per sistema di log $zone = "Poll"; # previene che blocco sia eseguito direttamente e redirige a index.php if (eregi("section.php",$_SERVER['PHP_SELF'])) { Header("Location: ../../index.php"); die(); } include ("sections/none_Sondaggio/config.php"); // security declarations $myforum = getparam("myforum",PAR_COOKIE,SAN_FLAT); $ip_indirizzo = getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $risultati = getparam("risultati",PAR_GET,SAN_FLAT); $vota = getparam("vota",PAR_POST,SAN_FLAT); $modifica = getparam("modifica",PAR_GET,SAN_FLAT); $mod = getparam("mod", PAR_POST, SAN_FLAT); $arc = getparam("arc", PAR_POST, SAN_FLAT); $inscomm = getparam("inscomm", PAR_GET, SAN_FLAT); $writecomm = getparam("writecomm", PAR_POST, SAN_FLAT); /*--------------------------------------------------------- questa sezione visualizza i risultati del sondaggio -----------------------------------------------------------*/ if ($risultati!="") { // stampa la situazione attuale del sondaggio print_poll(); // stampa link finestra copyright module_copyright($modulo, $versione, $autore, $email, $homepage, $licenza); } /*---------------------------------------------------------------------------------- la pagina richiama se stessa dopo aver votato il sondaggio e aggiorna i dati ------------------------------------------------------------------------------------*/ elseif ($vota!="") { /*------------------ controllo ip ---------------------*/ $ip_valido = 1; $ip_file_dati = get_file($sondaggio_ip_file); $votanti = get_xml_element("fp:votanti",$ip_file_dati); $votante = get_xml_array("fp:votante",$votanti); for($n=0; $n alert(\""._FP_GIAVOTATO." $sondaggio_ip_scadenza "._FP_ORE.".\"); window.location='index.php?mod=$mod1&risultati=1'; "; $ip_valido = 0; } } $risposta = getparam("risposta",PAR_POST,SAN_FLAT); if($ip_valido != 0 and $risposta != "") // ip e` valido, ed e` stata scelta almeno un'opzione di voto { // accede in modalit esclusiva $sem = lock($sondaggio_ip_file); // il primo IP che viene inserito if(!stristr($ip_file_dati,"")) { $ip_file_dati = "\n\t\n\t\t$ip_indirizzo\n\t\t".time()."\n\t\n"; } // c' almeno un IP registrato else { $ip_file_dati = str_replace("", "\t\n\t\t$ip_indirizzo\n\t\t".time()."\n\t\n",$ip_file_dati); } $file_ip_w = fopen($sondaggio_ip_file, "w"); fwrite($file_ip_w,"$ip_file_dati"); fclose($file_ip_w); //fine modalit esclusiva unlock($sem); /*----------------- fine controllo ip -------------------*/ $file_dati = get_file($sondaggio_file_dati); $opzioni = get_xml_element("fp:opzioni",$file_dati); // ricerca opzione sondaggio da aggiornare $opzione = get_xml_array("fp:opzione",$opzioni); $new_voto = get_xml_element("fp:voto",$opzione[$risposta]) + 1; // calcolo voto $file_dati = str_replace("".get_xml_element("fp:testo",$opzione[$risposta])."\n\t\t\t".get_xml_element("fp:voto",$opzione[$risposta])."", "".get_xml_element("fp:testo",$opzione[$risposta])."\n\t\t\t$new_voto",$file_dati); $file_dati_w = fopen($sondaggio_file_dati, "w+"); // aggiornamento file sondaggio // modalit esclusiva $sem = lock($sondaggio_file_dati); fwrite($file_dati_w,"$file_dati"); fclose($file_dati_w); //fine modalit esclusiva unlock($sem); fnlog($zone, "$ip_indirizzo||$myforum||Vote added."); } else echo "
      "._FP_VOTONONVALIDO."

      "; // stampa la situazione attuale del sondaggio print_poll(); // stampa link finestra copyright module_copyright($modulo, $versione, $autore, $email, $homepage, $licenza); } /*------------------------------------------------------------------------------------------- la pagina richiama se stessa per visualizzare dati del sondaggio prima della modifica ---------------------------------------------------------------------------------------------*/ elseif($modifica!="") { if(/*!(isset($myforum) and (getlevel($myforum,"home")==10) and versecid($myforum))*/ !is_admin()) { ?>"; $file_xml = get_file($sondaggio_file_dati); $attivo = get_xml_element("fp:attivo",$file_xml); $opzioni = get_xml_element("fp:opzioni",$file_xml); $opzione = get_xml_array("fp:opzione",$opzioni); echo ""._FP_STATOSONDAGGIO.""; // stato del sondaggio - aperto/chiuso if($attivo=="y") { echo ""._FP_APERTO.""; echo ""._FP_CHIUSO."
      "; } else { echo ""._FP_APERTO.""; echo ""._FP_CHIUSO."
      "; } echo "
      "._FP_DOMANDASONDAGGIO." "; // domanda sondaggio echo "

      "; echo "
      "._FP_ISTRUZIONIMODIFICA."

      "; echo ""; for($n=0; $n"; echo ""; echo ""; echo ""; echo ""; echo ""; } for($n=count($opzione); $n<9; $n++) // nel caso in cui non tutte e 9 fossero inizializzate { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
      "._FP_OPZIONENUM." "; echo $n+1; echo ""._FP_VOTI."
      "._FP_OPZIONENUM." "; echo $n+1; echo ""._FP_VOTI."
      "; // autorizzazione admin per modificare sondaggio if(/*isset($myforum) and (getlevel($myforum,"home")==10) and versecid($myforum)*/ is_admin()) { echo "
      "; echo "
      "; } echo ""; // stampa link finestra copyright module_copyright($modulo, $versione, $autore, $email, $homepage, $licenza); } /*-------------------------------------------------------------------------- la pagina richiama se stessa per salvare modifica dati del sondaggio ----------------------------------------------------------------------------*/ elseif($mod!="") { $file_xml = get_file($sondaggio_file_dati); $opzioni = get_xml_element("fp:opzioni",$file_xml); $opzione = get_xml_array("fp:opzione",$opzioni); $commenti = get_xml_element("fp:commenti",$file_xml); $commento = get_xml_array("fp:commento",$commenti); $fp_stato = getparam("fp_stato",PAR_POST,SAN_FLAT); if($fp_stato!="") $attivo = $fp_stato; else $attivo = "n"; $array_domanda = getparam("salva_domanda",PAR_POST,SAN_FLAT); $array_opzioni[0] = getparam("salva_opzioni0",PAR_POST,SAN_FLAT); $array_voti[0] = getparam("salva_voti0",PAR_POST,SAN_FLAT); $array_opzioni[1] = getparam("salva_opzioni1",PAR_POST,SAN_FLAT); $array_voti[1] = getparam("salva_voti1",PAR_POST,SAN_FLAT); $array_opzioni[2] = getparam("salva_opzioni2",PAR_POST,SAN_FLAT); $array_voti[2] = getparam("salva_voti2",PAR_POST,SAN_FLAT); $array_opzioni[3] = getparam("salva_opzioni3",PAR_POST,SAN_FLAT); $array_voti[3] = getparam("salva_voti3",PAR_POST,SAN_FLAT); $array_opzioni[4] = getparam("salva_opzioni4",PAR_POST,SAN_FLAT); $array_voti[4] = getparam("salva_voti4",PAR_POST,SAN_FLAT); $array_opzioni[5] = getparam("salva_opzioni5",PAR_POST,SAN_FLAT); $array_voti[5] = getparam("salva_voti5",PAR_POST,SAN_FLAT); $array_opzioni[6] = getparam("salva_opzioni6",PAR_POST,SAN_FLAT); $array_voti[6] = getparam("salva_voti6",PAR_POST,SAN_FLAT); $array_opzioni[7] = getparam("salva_opzioni7",PAR_POST,SAN_FLAT); $array_voti[7] = getparam("salva_voti7",PAR_POST,SAN_FLAT); $array_opzioni[8] = getparam("salva_opzioni8",PAR_POST,SAN_FLAT); $array_voti[8] = getparam("salva_voti8",PAR_POST,SAN_FLAT); $file_xml = "\n\n"; $file_xml .= "\t$attivo\n"; $file_xml .= "\t$array_domanda\n"; $file_xml .= "\t\n"; for($n=0; $n<9; $n++) { if(!is_numeric($array_voti[$n])) $array_voti[$n] = "0"; if($array_opzioni[$n]!="" and $array_voti[$n]!="") { $file_xml .= "\t\t\n"; $file_xml .= "\t\t\t".$array_opzioni[$n]."\n"; $file_xml .= "\t\t\t".$array_voti[$n]."\n"; $file_xml .= "\t\t\n"; } } $file_xml .= "\t\n"; if($commenti != "") { $file_xml .= "\t\n"; for($n=0; $n\n"; $file_xml .= "\t\t\t".get_xml_element("fp:what",$commento[$n])."\n"; $file_xml .= "\t\t\n"; } $file_xml .= "\t\n"; } $file_xml .= "\n"; $file_dati_w = fopen($sondaggio_file_dati, "w"); // accesso modalit esclusiva $sem = lock($sondaggio_file_dati); fwrite($file_dati_w, stripslashes($file_xml)); fclose($file_dati_w); // fine modalit esclusiva unlock($sem); fnlog($zone,"$ip_indirizzo||$myforum||Configuration changed."); echo ""; } /*---------------------------------------------------------------------------------------- la pagina richiama se stessa per archiviare un sondaggio e crearne uno nuovo vuoto ------------------------------------------------------------------------------------------*/ elseif($arc!="") { copy($sondaggio_file_dati, $percorso_vecchi."/".time().".xml"); // archiviazione sondaggio $file_w = fopen($sondaggio_file_dati, "w"); // crea nuovo sondaggio vuoto //accesso modalit esclusiva $sem = lock($sondaggio_file_dati); fwrite($file_w,"\n\n\tn\n\t"._FP_NUOVOSONDAGGIO."\n\t\n"); for($riga=1; $riga<4; $riga++) fwrite($file_w, "\t\t\n\t\t\t"._FP_OPZIONE."$riga\n\t\t\t$riga\n\t\t\n"); fwrite($file_w,"\t\n\n"); fclose($file_w); // fine modalit esclusiva unlock($sem); $file_ip_w = fopen($sondaggio_ip_file, "w"); // azzeramento IP registrati // accesso modalit esclusiva $sem = lock($sondaggio_ip_file); fwrite($file_ip_w,"\n"); fclose($file_ip_w); // fine modalit esclusiva unlock($sem); fnlog($zone, "$ip_indirizzo||$myforum||Poll stored, new one created."); echo ""; } /*-------------------------------------------------------------- questa sezione visualizza maschera per inserire commenti ----------------------------------------------------------------*/ elseif($inscomm!="") { OpenTableTitle(_FP_ADDCOMM); if(($myforum!="") or ($guestcomment==1)) // controllo se utente non registrato pu postare o no { if($myforum=="") $by = _FP_SCON; // utente sconosciuto else $by = $myforum; // utente registrato echo "

      "._FP_COMMENTI."



      "; } else echo _FP_DEVIREG." ".$sitename." "._FP_DEVIREG2; // utenti non registrati non possono postare CloseTableTitle(); // stampa link finestra copyright module_copyright($modulo, $versione, $autore, $email, $homepage, $licenza); } /*--------------------------- inserisce il commento -----------------------------*/ elseif($writecomm!="") { $by = getparam("by",PAR_POST,SAN_FLAT); $what = getparam("body",PAR_POST,SAN_HTML); $what = str_replace("\r","",$what); $what = str_replace("\n","
      ",$what); // controllo sull'accesso concorrente $lockfile = $sondaggio_file_dati; // accesso esclusivo alla risorsa $sem = lock($lockfile); $string = get_file($lockfile); // si tratta del primo commento inserito if(!stristr($string, "")) { $string = str_replace("", "\t\n\t\t\n\t\t\t$by\n\t\t\t$what\n\t\t\n\t\n",$string); } // c' almeno un commento gi inserito else { $string = str_replace("", "\t\n\t\t\t$by\n\t\t\t$what\n\t\t\n\t",$string); } $fp = fopen($lockfile, "w"); fwrite($fp, stripslashes("$string")); fclose($fp); // fine modalit esclusiva unlock($sem); fnlog($zone, "$ip_indirizzo||$myforum||Comment inserted."); echo ""; } /*--------------------------------------------------------------------------------- se nessuna opzione stata scelta e sondaggio aperto visualizza risultati ---------------------------------------------------------------------------------*/ else { $file_xml = get_file($sondaggio_file_dati); // controllo che il sondaggio sia attivo if(get_xml_element("fp:attivo",$file_xml)=="y") print_poll(); else echo _FP_NOACTIVE." "._FP_VECCHI.""; // stampa link finestra copyright module_copyright($modulo, $versione, $autore, $email, $homepage, $licenza); } /* * Funzione che stampa un grafico della situazione attuale del sondaggio */ function print_poll() { include ("sections/none_Sondaggio/config.php"); $file_xml = get_file($sondaggio_file_dati); $opzioni = get_xml_element("fp:opzioni",$file_xml); $opzione = get_xml_array("fp:opzione",$opzioni); $voti_tot = 0; for($n=0; $n".get_xml_element("fp:domanda",$file_xml)." ($voti_tot "._FP_VOTITOTALI.")

      "; echo ""; for($n=0; $n"; echo ""; echo ""; echo ""; // stampa -% printf(""; echo ""; echo ""; } echo "
      ".get_xml_element("fp:testo",$opzione[$n]).""; echo "\"%\""; // stampa immagine % echo " %01.1f",$perc); echo "%(".get_xml_element("fp:voto",$opzione[$n])." "._FP_VOTI.")
      "; echo "


      "; OpenTable(); echo ""._FP_COMMENTI." | "._FP_ADDCOMM.""; CloseTable(); echo "
      "; $commenti = get_xml_element("fp:commenti",$file_xml); $commento = get_xml_array("fp:commento",$commenti); for($n=0; $n"; if($user == _FP_SCON) echo ""._FP_DA." "._FP_SCON; else { // inserisco l'avatar nei commenti if(file_exists(get_fn_dir("users")."/$user.php")) { $userdata = load_user_profile($user); $img = $userdata['avatar']; if($img!="") { if(!stristr($img,"http://")) echo "avatar"; else echo "avatar"; } else echo "avatar"; } else echo "avatar"; // fine avatar print ""._FP_DA." $user"; } echo "

      ".get_xml_element("fp:what",$commento[$n]); print ""; echo "
      "; } } ?> flatnuke-2.7.2/sections/none_Sondaggio/xcento.png0000644000175000017500000000022510254337554021476 0ustar simonesimonePNG  IHDR )yPLTETܔ * Website http://www.marcosegato.tk * Versione 2.5 * Data 15/10/2006 */ // dati per finestra copyrights $modulo = "FlatPoll"; $versione = "2.5"; $autore = "Marco Segato"; $email = "segatom@users.sourceforge.net"; $homepage = "http://marcosegato.altervista.org"; $licenza = "GNU General Public License 2"; // dati per sistema di log $zone = "Poll"; # previene che blocco sia eseguito direttamente e redirige a index.php if (eregi("section.php",$_SERVER['PHP_SELF'])) { Header("Location: ../../../index.php"); die(); } include_once ("functions.php"); include ("sections/none_Sondaggio/config.php"); // security declarations $myforum = getparam("myforum",PAR_COOKIE,SAN_FLAT); $ip_indirizzo = getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $canc = getparam("canc",PAR_POST,SAN_FLAT); /*------------------------------------------------------------------------ la pagina richiama se stessa per eliminare un sondaggio archiviato --------------------------------------------------------------------------*/ if($canc!="" AND is_admin()) { $file_da_canc = getparam("file_da_canc",PAR_POST,SAN_FLAT); unlink($percorso_vecchi."/".$file_da_canc); // elimina sondaggio selezionato fnlog($zone, "$ip_indirizzo||$myforum||Old poll deleted."); echo ""; } /*--------------------------------------------------- stampa a video di tutti i sondaggi archiviati -----------------------------------------------------*/ $d = opendir($percorso_vecchi); $n_file = 0; while ($file = readdir($d)) { // carico tutti i files in un array if(!ereg("ip",$file) AND !ereg("sondaggio",$file) AND !($file==".") AND !($file=="..")) { $array_dir[$n_file] = $file; $n_file++; } } closedir($d); if($n_file>0) { rsort($array_dir); // ordina l'array in ordine decrescente for ($i=0; $i ".get_xml_element("fp:domanda",$file_xml)." ($voti_tot "._FP_VOTITOTALI.")"); echo "
      "; for($n=0; $n"; echo ""; echo ""; echo ""; // stampa -% printf(""; echo ""; echo ""; } echo "
      ".get_xml_element("fp:testo",$opzione[$n]).""; echo "\"%\""; // stampa immagine % echo " %01.1f",$perc); echo "%(".get_xml_element("fp:voto",$opzione[$n])." "._FP_VOTI.")

      "; echo ""; echo ""; // autorizzazione admin per visualizzare pulsante di cancellazione if(is_admin()) { echo ""; } echo "
      "._FP_CHIUSO." ".date("j/n/Y, H:i:s", substr($array_dir[$i],0,strpos($array_dir[$i],'.'))).""; echo "
      "; echo " "; echo ""; echo "

      "; $commenti = get_xml_element("fp:commenti",$file_xml); $commento = get_xml_array("fp:commento",$commenti); for($n=0; $n"._FP_DA." "._FP_SCON; else echo ""._FP_DA." ".get_xml_element("fp:by",$commento[$n]); echo "

      ".get_xml_element("fp:what",$commento[$n]); CloseTable(); echo "
      "; } CloseTableTitle(); } } } else echo _FP_NONEOLD; // stampa link finestra copyright module_copyright($modulo, $versione, $autore, $email, $homepage, $licenza); ?> flatnuke-2.7.2/sections/none_Sondaggio/config.php0000644000175000017500000000307410272235641021445 0ustar simonesimone * Website http://www.marcosegato.tk * Versione 2.5 * Data 05/08/2004 */ $mod1 = "none_Sondaggio"; // mod per index.php $mod2 = "none_Sondaggio/Vecchi_sondaggi"; // mod per index.php $mod3 = "misc/flatpoll"; // directory con gli archivi $sondaggio_file_dati = "$mod3/sondaggio.xml"; // file in cui e` salvato il sondaggio corrente $sondaggio_ip_file = "$mod3/ip.xml"; // file in cui sono salvati gli IP dei votanti $percorso_vecchi = $mod3; // directory che contiene i sondaggi archiviati $sondaggio_immagine = "sections/$mod1/xcento.png"; // immagine della percentuale dei voti $sondaggio_ip_scadenza = 2; // intervallo di ore tra un voto e l'altro dello stesso IP ?> flatnuke-2.7.2/sections/none_Headlines/0000755000175000017500000000000011177641445017455 5ustar simonesimoneflatnuke-2.7.2/sections/none_Headlines/section.php0000644000175000017500000000021710275710007021617 0ustar simonesimone Leggi le Headlines dei principali BLOG flatnuke-2.7.2/sections/none_Headlines/ZioBudda/0000755000175000017500000000000011177641445021156 5ustar simonesimoneflatnuke-2.7.2/sections/none_Headlines/ZioBudda/section.php0000644000175000017500000000024010667522002023315 0ustar simonesimone flatnuke-2.7.2/sections/none_Headlines/Punto-Informatico/0000755000175000017500000000000011177641445023032 5ustar simonesimoneflatnuke-2.7.2/sections/none_Headlines/Punto-Informatico/section.php0000644000175000017500000000025110275710010025164 0ustar simonesimone flatnuke-2.7.2/sections/none_Headlines/FlatNuke/0000755000175000017500000000000011177641445021166 5ustar simonesimoneflatnuke-2.7.2/sections/none_Headlines/FlatNuke/section.php0000644000175000017500000001065410467465351023352 0ustar simonesimone ".$title); print stripslashes($header)."

      ".stripslashes($body); print "


      "; echo _POSTATO.$giorni[date("w",$news+(3600*$fuso_orario))].date(" d ",$news+(3600*$fuso_orario)); $tmp=date("m",$news+(3600*$fuso_orario)); if ($tmp<10) $tmp=str_replace("0","",$tmp); print $mesi[$tmp-1]; echo date(" Y - ",$news+(3600*$fuso_orario)).date("H:",$news+(3600*$fuso_orario)).date("i",$news+(3600*$fuso_orario))."

      "; OpenTable(); echo ""._COMMENTI." | "._ADDCOMM." | "._STAMPA.""; CloseTable(); for($j=0;$j"; OpenTable(); $user=get_xml_element("fn:by",$comment[$j]); // autore del commento print ""._DA." $user "; // data di inserzione del commento $date_comment = get_xml_element("fn:date",$comment[$j]); if(is_numeric($date_comment)){ print ""._DATA.": "; echo $giorni[date("w",$date_comment+(3600*$fuso_orario))].date(" d ",$date_comment+(3600*$fuso_orario)); $tmp_c = date("m",$date_comment+(3600*$fuso_orario)); if ($tmp_c<10) $tmp_c = str_replace("0","",$tmp_c); print $mesi[$tmp_c-1]; $date_comment = date(" Y - ",$date_comment+(3600*$fuso_orario)).date("H:",$date_comment+(3600*$fuso_orario)).date("i",$date_comment+(3600*$fuso_orario)); } else $date_comment = "/"; print "$date_comment

      "; // contenuto del commento print stripslashes(get_xml_element("fn:post",$comment[$j])); CloseTable(); } CloseTableTitle(); } $rss = geturl($rss_file); $url_topass=""; $items = explode("",$rss); $content = ""; for ($i=0;$i","",$items[$i]); $link = ereg_replace(".*","",$link); $title2 = ereg_replace(".*","",$items[$i]); $title2 = ereg_replace(".*","",$title2); if ($items[$i] == "" AND $cont != 1) { $content = ""; } else { if (strcmp($link,$title2) AND $items[$i] != "") { $cont = 1; if(preg_match("/^.*id=(\d+).*/", $link, $f1)) { $id_news=$f1[1]; if($id_news == $hid) { $url_topass = $link; } } else $id_news=0; if($is_flatnuke == true) $content .= "· $title2
      \n"; else $content .= "· $title2
      \n"; } } } if(($hop == "read") and ($hid!=0) and $is_flatnuke and ($url_topass != "")) { echo "
      "; echo get_news($url_topass); echo "

      "; } echo $content; ?> flatnuke-2.7.2/sections/02_Forum/0000755000175000017500000000000011177641445016133 5ustar simonesimoneflatnuke-2.7.2/sections/02_Forum/accesskey.php0000644000175000017500000000000110464347215020601 0ustar simonesimonefflatnuke-2.7.2/sections/02_Forum/forum0000644000175000017500000000174610522420660017201 0ustar simonesimone flatnuke-2.7.2/sections/Gallery/0000755000175000017500000000000011177641445016141 5ustar simonesimoneflatnuke-2.7.2/sections/Gallery/section.php0000644000175000017500000000006110315535254020304 0ustar simonesimoneHere you can insert a description of the Gallery flatnuke-2.7.2/sections/Gallery/linux.png0000644000175000017500000000313210254337552020001 0ustar simonesimonePNG  IHDR;En0PLTEUMy8JIi{{ٻ霜''&''MUToiit:.<667^\u6( GD=xxz'yפĤzٸh T\F ;;seѕ ՜ sO Y DgwknenYWZ=Ƌ hJ0khLvI9I兓ktRNS@fbKGDH pHYs  ~tIME0;TmkIDATx w: )Nj2Ǥ$JR ܲ+#[f9kɲ:&iӏ@cהGt]rJrKA_a \ѭ%?z7ʖy7V+o} ʴ KI(_חȅJ=tPI@3!QRt Ā*ao$$/&v#r?{?b#s֕eZWލ6:Kj.#–&?YhZ>lO3# :Gu8vZvyJiDFK |=n$8Gaev=9}^2: @ҧS)_^NA*{G`t#o D M3#xC\0TL ?4WG!C^ ~r9^[%{8X]i}Z`tU񑰇'k}"tH$gC`6Jg S؂p3U5}C%<~W'HQ66mvK!Y)kImJ$0nZrY5)f){`݄l1+5ai] AYV|]( _w-ϟ}Xm%ꟑmQӦ ȧZV/,1&eD]1o4d-uk!⮻y Iك;dij؇SmV[Dգѫ,L4Ьե7ttNPgI8 rl)`/a!,k+A>Śz[vZ)37U uӊr;-3#M &ksdTNλګ7˶?4 d I}^,ϋ;5 +^w wٝĦ?C _v5xa\docuwQHupcWjM|' ߧ.gEce8zba`(,}߉p^rR* BV}WU`8HZx{|Xv)<4PBnJj_ego:5-ЪЖV^"f˝~5< $hV̶ynNlT8&v2.Vo96;*7pZ%L>Qiz¦_\^{rqo҃}tPbwƜ{R6VA@Gyq`m^Mg$j{n2>&B0HXwx~0(YZjF'HpVC1`r~ncY@'bvJG@y^tia|NOWi#L*L6Ӭ >󼮦$>^N\gMfs!*Nj‚*(/HHT?BUy!ոĒt9M6ZG5)yhani|dF4hZJ%<2vΟͤ?q`W.zjg@BPfCf8Vkj_UL@:@*Ǧ>Jmt6,0* nr`:AhQCƠXE:^_n~-.7,8NJ=/~ʮ@MayNN`[i>,%FI`iH6:}rùVHOnA6^b'Ei+2xQSb98G3Y?cgzti<u@XUhnFfƢͼ,StRNS@fbKGDH pHYs  ~tIME2Y2 wIDATxXR T8wi2s^*#4?rQg ƚfUTk p愜!6Rh1MZk5㌺&((=>p~66o`*ɸ󇱩N imU7C&CFj9Sdc QRm7D~޲%s0޿3UL9* "# %S6՞fKsЮN,=V1t<ϊhaX.Vˉ ȻqCڭDB 2-chuv GD@ e0U.a] x`׀ҍ0ZKƽoj?Fr*1Fsl;!#*.l~\ى\d?n3@_ Gߏ! :Vm}-|#6rX7HFlC c~?VhT!U2 o.ۨ2UD/1/ܠ-)– # 3/8x֭F27.Jw1tHP-mJ̗bڮpZ[Auo[(]!vBu_iˌv.i">^*7R3qJi}NF ֧M8Le1Y jˑS5՝Wm.]Q[ /pѳv=@P@v_c&v%s1lSW|; `p/ԏܘ^8~ÜKՇ"SKַ(@}zە:lFܹj xPvT|aN0q&%s.H&NM :)%$CВ&LD9: Oqr A^xم.rh}XJ[v>BЦӠiFwvY6No6D>8<^XGC;@Oq!7^jbqBI@G(z6OtH8~bXз2X,?ãf) jԠGRFk;-oÚtHaZ ]0NMC(ivhO?! qD6H$TMtZ(`1!bF;(RH*KT؝ p))r^2aLˍ,(&ŷS4&%쬦ԕJlKhBH$}G 1]k'F.P[F{cJx2-HT cm@ў馂>x5H1M ,xA7fbJ w!_s.!.7v߰Jbmbq9`5ŗ`@$Ze@ ̲T?tjq+A*@\*<Od_U,nZ,ҝǃ>&I(H{D1VBBB6Yv3e!RuP Ӌ{YYc rE3H}ffo;i|!đpqhcLXXJpm"bѨ>a>_Δ߆9_z\FnDH`fwx؉_|]R5&5^s".s{:84+SzQщ/yۇe,Bn?Z"MLv}}ޱo7ٳg[۴irB]r5t-M^*;}٪7LNNĆ}֛v$i;[P?i߻7qnUOt^Y|4ںoΝ۱sHkҦ{ݶ40.v}FsNy9{J-zc"iHkkϢ{cwM5 {ZmY0Ӻ)g۶s3G&Sg0expd/v 1OY?v$y>k׺cV=3<N=On?6}:?2goK>SmtaQTL9icceAu7_z(,,l!,yQM˚G_kn2ރ[oڳAקH> ~na%.57m]m/ c͈Cf_?*ZŞa͗6=qñ|V&7 Ϟuee7~|m=\7:ęͱ{cWտTMO]S,vJmBz0̩h͓״m:,r;m766! ×"g{}\n@y,}~'R:~iP&uՇjVIENDB`flatnuke-2.7.2/sections/01_Archivio_News/0000755000175000017500000000000011177641445017602 5ustar simonesimoneflatnuke-2.7.2/sections/01_Archivio_News/section.php0000644000175000017500000001126711177637545021774 0ustar simonesimone"; if(count($okanno)>0) sort($okanno); for ($i=0; $i < count($okanno); $i++){ if($okanno[$i]!="") echo "
    • $okanno[$i]
    • "; } echo "
    "; $mymy_modlist = ""; $myhandle = opendir('images/news'); while ($myfile = readdir($myhandle)) { if (!($myfile == "." or $myfile == "..")) { $mymy_modlist.= "$myfile "; } } closedir($myhandle); $mymy_modlist = explode(" ", $mymy_modlist); sort($mymy_modlist); echo ""._PERARGOMENTI.":
    "; for ($i=1; $i < sizeof($mymy_modlist); $i++) { $label=str_replace("_"," ", ereg_replace("\..*","",$mymy_modlist[$i])); echo ""; if($i%5==0) echo "
    "; } echo "
    "; } else if($year!="" AND $month==""){ $my_modlist = ""; $handle=opendir(get_fn_dir('news')); while ($file = readdir($handle)) { if (!( $file=="." or $file==".." )) { $my_modlist .= "$file "; } } closedir($handle); $my_modlist = explode(" ", $my_modlist); # vedo quali mesi ci sono nelle news di quest'anno. for ($i=0; $i < sizeof($my_modlist)-1; $i++){ $tmp=str_replace(".xml","",$my_modlist[$i]); $mese=date("m",$tmp+(3600*$fuso_orario)); if ($mese<10) $mese=str_replace("0","",$mese); if(date("Y",$tmp+(3600*$fuso_orario))==$year){ $ok[$mese-1]=1; } } echo "
      "; for ($i=0; $i < 12; $i++){ if($ok[$i]==1) echo "
    • $mesi[$i]
    • "; } echo "
    "; echo "<< "._INDIETRO.""; } else { $my_modlist = ""; $handle=opendir(get_fn_dir('news')); while ($file = readdir($handle)) { if (!( $file=="." or $file==".." )) { $my_modlist .= "$file "; } } closedir($handle); $my_modlist = explode(" ", $my_modlist); rsort($my_modlist); for ($i=0; $i < sizeof($my_modlist)-1; $i++){ $tmp=str_replace(".xml","",$my_modlist[$i]); $mese=date("m",$tmp+(3600*$fuso_orario)); $anno=date("Y",$tmp+(3600*$fuso_orario)); if ($mese<10) $mese=str_replace("0","",$mese); if($mese==$month AND $anno==$year){ $string=get_file('news/'.$my_modlist[$i]); $title=get_xml_element("fn:title",$string); $reads=get_xml_element("fn:reads",$string); $id=str_replace(".xml","",$my_modlist[$i]); echo " $title (". date("d/m/Y - H:i",$id+(3600*$fuso_orario)).") "._LETTO." $reads "._VOLTE."
    "; } } echo "
    << "._INDIETRO.""; } ?> flatnuke-2.7.2/sections/none_Statistiche/0000755000175000017500000000000011177641445020045 5ustar simonesimoneflatnuke-2.7.2/sections/none_Statistiche/level.php0000644000175000017500000000000110445214401021635 0ustar simonesimone1flatnuke-2.7.2/sections/none_Statistiche/section.php0000644000175000017500000003434311040642521022212 0ustar simonesimone * Versione 1.2 * Data 23/02/2004 */ if (eregi("section.php",$_SERVER['PHP_SELF'])) { Header("Location: ../../index.php"); die(); } $months=array("Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"); $currentYear = date("Y"); $totalStat ="0"; $totalSel ="0"; $op = getparam("op",PAR_GET,SAN_FLAT); $year = getparam("year",PAR_GET,SAN_FLAT); if($year=="") $yearSel = $currentYear; else $yearSel=$year; $month = getparam("month",PAR_GET,SAN_FLAT); if($month=="") $monthSel = ""; else $monthSel=$month; $years=""; // Lettura directory "/misc/flatstat" // In $years, vengono salvate solo le directory $handle=opendir('misc/flatstat'); while ($file = readdir($handle)) { if (!( $file=="." or $file==".." ) and (!ereg("^\.",$file)and ($file!="CVS"))) { if (is_dir("misc/flatstat/$file")) $years .= "$file "; } } closedir($handle); // $years diventa un'array contenente gli anni $years = explode(" ", $years); // $years viene ordinata in modo crescente sort($years); // Legge le statistiche generali di tutti gli anni // Calcola il totale visite // Inserisce le visite totali di ogni mese per ogni anno for ($j=1 ;$j
    "; switch($op){ // Visualizza statistiche del mese selezionato case "m": $totalSel="0"; openTable(); // Legge le statistiche del mese selezionato if (file_exists("misc/flatstat/$yearSel/$monthSel.php")){ $fd = file ("misc/flatstat/$yearSel/$monthSel.php"); for ($i =0; $i $yearSel:
    "; for ($i=0;$i < count($months); $i++){ // Se e' il mese selezionato // Stampa il nome del mese // Altrimenti, stampa il nome del mese e lo linka alle relative statistiche if ($i+1==$monthSel){ echo "
    $months[$i]";} else{ if ($monthsStat[$i]==0){ echo "
    $months[$i]";} else { echo "
    $months[$i]";} } } echo " "; // Stampa le visite di ogni giorno del mese for ($i=0;$i "; } echo "
    "; echo $i+1; echo " "; if ($totalSel!=0 && $daysStat[$i]!=0) { $percentage=($daysStat[$i]/$totalSel)*100; echo "
    ";} echo "
    $daysStat[$i]
    Totale Mese
    $totalSel
    "; } else { echo "Impossibile visualizzare le statistiche del mese selezionato"; die(); } echo "
    << Indietro"; closeTable(); break; // Visualizza tutti i referer case "r": openTable(); $total = 0; if (file_exists("misc/flatstat/referer.dat")){ // Lettura file referer in array con ordinamento $fd = file ("misc/flatstat/referer.dat"); for ($i=0 ; $i
    "; openTable(); echo "FILTRA
    - Visualizza referer appartenenti ad uno specificato dominio:
    Nome dominio
    "; closeTable(); echo "

    Totale: $total

    "; for ($i=0; $i80){ $referer .= substr($string, 0, 80); $referer .="
    "; $string = substr($string, 80); } $referer .=$string; echo "
    "; } echo "
    ".$data_array["counter"][$i]." $referer
    "; } else { echo "Errore! File referer non esistente"; } echo "
    << Indietro"; closeTable(); break; // Visualizza i referer filtrati, restituendo quelli che contengono la chiave di ricerca case "f": $dominio = getparam("dominio",PAR_POST,SAN_FLAT); $filter = getparam($dominio,PAR_NULL,SAN_HTML); /*$filter = $_POST["dominio"];*/ $total=0; openTable(); echo "Referer filtrati (\"$filter\")"; if ($filter!=""){ if (file_exists("misc/flatstat/referer.dat")){ // Lettura file referer e inserimento in array solo se soddisfa la ricerca $fd = file ("misc/flatstat/referer.dat"); for ($i=0 ; $iLa ricerca non ha prodotto risultati"; } else { array_multisort($data_array["counter"], SORT_NUMERIC, SORT_DESC, $data_array["referer"]); echo "

    Totale: $total

    "; for ($i=0; $i80){ $referer .= substr($string, 0, 80); $referer .="
    "; $string = substr($string, 80); } $referer .=$string; echo "
    "; } echo "
    ".$data_array["counter"][$i]." $referer
    "; } closeTable(); echo "
    << Indietro"; break; // Visualizza statistiche anno corrente o anno selezionato default: openTable(); echo "
    Anno:
    "; for ($i=1;$i < count($years); $i++){ // Se e' l'anno selezionato // Stampa il nome dell'anno // Altrimenti, stampa il nome dell'anno e lo linka alle relative statistiche if ($years[$i]==$yearSel){ echo "
    $years[$i]";} else{ echo "
    $years[$i]"; } } echo "
    "; for ($i=0;$i<12;$i++){ echo ""; } echo "
    "; // Se le statistiche del mese sono 0 // Stampa il nome del mese senza linkarlo alle relative statistiche // Altrimenti, stampa il nome del mese e lo linka alle relative statistiche if ($monthsStat[$i]==0){ echo $months[$i];} else { echo "$months[$i]";} echo " "; if ($totalSel!=0 && $monthsStat[$i]!=0) { $percentage=($monthsStat[$i]/$totalSel)*100; echo "
    ";} echo "
    $monthsStat[$i]
    Totale Anno
    $totalSel
    "; closeTable(); echo "
    "; // Controlla l'esistenza del file dei referer if (file_exists("misc/flatstat/referer.dat")){ // Legge il file dei referer $fd = file ("misc/flatstat/referer.dat"); for ($i=0 ; $i
    "; for ($i=0; $i<10 AND $i80){ $referer .= substr($string, 0, 80); $referer .="
    "; $string = substr($string, 80); } $referer .=$string; echo "
    "; } echo "
    ".$data_array["counter"][$i]." ".$referer."

    Visualizza tutti i referer"; closeTable(); } break; } module_copyright("FlatStat", "1.3", "Massimo Sandolo", "bastilani [at] supereva.it", "http://flatnuke.org", "GNU/GPL"); ?> flatnuke-2.7.2/sections/none_Statistiche/stat.php0000644000175000017500000001560310467462217021535 0ustar simonesimone * Versione 1.2 * Data 23/02/2004 */ if (eregi("stat.php",$_SERVER['PHP_SELF'])) { Header("Location: ../../index.php"); die(); } function stats() { if (file_exists("sections/none_Statistiche/referblacklist.php")){ //controllo la presenza di spam nei refer $spamstring=""; $spamarray=array(); $spamstring = get_file("sections/none_Statistiche/referblacklist.php"); $spamarray = explode("\n",$spamstring); // print_r($spamarray); $spamrule=""; foreach ($spamarray as $spamrule){ if (eregi("\<\?",$spamrule)) continue; if (trim($spamrule)=="") continue; if (eregi("^#",$spamrule)) continue; $from = getparam("HTTP_REFERER", PAR_SERVER, SAN_FLAT); //se spam ritorno if (eregi(trim($spamrule),$from)) return; } } // Crea la cartella misc/flatstat // Solo la prima volta che viene eseguito flatnuke, dopo la sua installazione if (!file_exists("misc/flatstat")){ if (!mkdir("misc/flatstat",0777)){ echo "Errore!
    Directory per le statistiche non creata, verificare i permessi di scrittura
    "; die(); } $tmp="0"; $lockfile="misc/flatstat/totale.php"; $sem=lock($lockfile); fnwrite($lockfile,$tmp,"w",array("nonull")); unlock($sem); } $modlist =""; // Legge la directory dedicata alle statistiche $handle=opendir("misc/flatstat"); while ($file = readdir($handle)) { if (!( $file=="." or $file==".." ) and (!ereg("^\.",$file)and ($file!="CVS"))) { $modlist .= "$file "; } } closedir($handle); $modlist = explode(" ", $modlist); sort($modlist); $currentYear= date("Y"); // Ricerca la cartella corrispondente all'anno in corso $search = array_search($currentYear,$modlist); // Verifica l'esito della ricerca if ($search == false || $search == null){ // Se la ricerca non ha prodotto risultati // Prova a creare la cartella dell'anno if (mkdir("misc/flatstat/$currentYear",0777)){ // La cartella stata creata // Genera un file per ogni mese for ($month=1;$month<=12;$month++) { if ($month==12) {$nextMonth=1;} else {$nextMonth=$month+1;} $daysInMonth= date("j",mktime(0,0,0,$nextMonth,0,$currentYear)); $lockfile="misc/flatstat/$currentYear/$month.php"; // accesso esclusivo alla risorsa $sem=lock($lockfile); $init = ""; for ($i=1; $i<=$daysInMonth; $i++) {$init.="$i|0\n";} fnwrite($lockfile,"$init\n","w+",array("nonull")); unlock($sem); } // Genera il file generale $lockfile="misc/flatstat/$currentYear/generale.php"; // accesso esclusivo alla risorsa $sem=lock($lockfile); $init=""; for ($i=1; $i<=12; $i++){ $init.="$i|0\n"; } fnwrite($lockfile,"$init\n","w+",array("nonull")); unlock($sem); } else { // La cartella non stata creata // Stampa un errore echo "Errore!
    Directory non creata, verificare i permessi di scrittura
    "; } } else { // La ricerca andata a buon fine } // Pu aggiungere una visita $month = date ("n"); $day = date ("j"); // Inserisce visita nel file generale $fd=file("misc/flatstat/$currentYear/generale.php"); $tmp =""; for($i=0; $i","",$from); if ($from!=""){ // Se il referer non proviene da una url inserita direttamente nel browser aggiorna i referer $updateReferer = false; $tmp=""; // Controlla l'esistenza del file referer if (file_exists("misc/flatstat/referer.dat")) { // Il file esiste // Legge il file $fd=file("misc/flatstat/referer.dat"); // Controlla l'assenza di PHPSESSID nel referer // Nel caso vi sia lo elimina $from_temp=explode("&PHPSESSID=",$from); if ($from_temp[0]!=$from){ $exp_temp = explode("&",$from_temp[1]); if ($exp_temp[0]!=$from_temp[1]){ $from_temp[1]="&".$exp_temp[1]; } else { $from_temp[1]=""; } $from=$from_temp[0]; $from.=$from_temp[1]; } // Cerca l'esistenza del referer for($i=0; $i flatnuke-2.7.2/sections/none_Statistiche/download_stats/0000755000175000017500000000000011177641445023072 5ustar simonesimoneflatnuke-2.7.2/sections/none_Statistiche/download_stats/section.php0000755000175000017500000001454710504565320025253 0ustar simonesimone

    Statistiche di Download


    "; $statfile = fopen($topdownloadsfile,"r"); $statstring = fread($statfile,filesize($topdownloadsfile)); fclose($statfile); $statstring = get_xml_element("fd:topdownloads",$statstring); $files = get_xml_array("fd:file",$statstring); $archivedfiles = array(); foreach ($files as $file){ $filepath = get_xml_element("fd:path",$file); //verifico che il file esista if (!file_exists($filepath)) continue; $lastdir = strrchr(dirname($filepath),"/"); if (eregi($archivedir,$lastdir)){ $archivedfiles[] = $filepath; continue; } if (!file_exists($filepath)) continue; // echo "$filepath

    ", show_file($filepath,$archivedir,$newfiletime,$icon_style); } echo "

    File Archiviati


    "; // print_r($archivedfiles); if (count($archivedfiles)!=0){ foreach ($archivedfiles as $archivedfile){ show_file($archivedfile,$archivedir,$newfiletime,$icon_style); // echo $archivedfile."
    "; } } } /** * Restituisce true se l'utente di livello 10 * (e dunque possiede i privilegi di amministrazione) */ /*function fdview_is_admin(){ include_once("shared.php"); if (!isset($_COOKIE['myforum'])) return false; if ((getlevel($_COOKIE['myforum'],"home"))=="10" and versecid($_COOKIE['myforum'])) { return true; } else return false; }*/ /** * Controlla l'esistenza del file $topdownloadsfile. Se non lo trova lo crea. * @param string il percorso del file * @author Aldo Boccacci */ function fdview_check_file($topdownloadsfile){ if (!is_dir(dirname($topdownloadsfile))) mkdir(dirname($topdownloadsfile),0777); if (!file_exists($topdownloadsfile)){ $tmpfile = fopen($topdownloadsfile,"w"); fwrite($tmpfile,"\n\n"); fclose($tmpfile); } } /** * Crea la tabella per mostrare il file * @param string $filepath il percorso del file da mostrare * @param string il set di icone da mostrare * @author Aldo Boccacci * @since 0.3 */ function show_file($filepath,$archivedir,$newfiletime,$icon_style){ $description = load_description($filepath); if ($description['hide']=="true" and !is_admin()) return; //controllo se il livello dell'utente adeguato a quello del file if ($description['level']!="-1"){ if (isset($_COOKIE['myforum']) and versecid($_COOKIE['myforum'])){ if ($description['level']>getLevel($_COOKIE['myforum'],"home")){ return; } } else { return; } } //controllo se il livello dell'utente adeguato a quello della sezione che ospita il file $mod=""; $mod = eregi_replace("^.*sections/","",dirname($filepath)); if (getlevel($_COOKIE['myforum'],"home")"; //intestazione con il nome del file echo " "; $path = pathinfo($filepath); echo getIcon($path['extension'],$icon_style); $mod = eregi_replace("sections/","",dirname($filepath)); echo "".basename($filepath).""; if (time()-filectime(get_xml_element("fd:path",$filepath))<($newfiletime*3600)){ //controllo se ci troviamo in una dir di archivio $lastdir = strrchr(dirname($filepath),"/"); if (!eregi($archivedir,$lastdir)){ if (file_exists("images/mime/new.gif")) echo " \"new"; } } echo ""; $hits = 0; if (trim($description['hits'])=="") $hits=0; else $hits =$description['hits']; //corpo echo ""._FDSECT.":".eregi_replace("^sections/","",dirname($filepath))." "._FDHITS.":$hits "; echo ""._FDDATE.":".date(_FDDATEFORMAT,filectime($filepath)).""; echo ""._FDSIZE.":".round((filesize($filepath)/1024))." kb"; echo "
    "; // closeTableTitle(); } ?>flatnuke-2.7.2/sections/none_Statistiche/AUTHOR0000644000175000017500000000005010254337554020763 0ustar simonesimoneMassimo Sandolo bastilani@supereva.it flatnuke-2.7.2/sections/none_Statistiche/referblacklist.php0000644000175000017500000000073410456127636023556 0ustar simonesimone #Insert spam refer below #this is a comment #blank line are dropped #every line is an eregi expression phentermine dospan roulette gotboredom cialis kiomono alprazolam fioricet bestbuy tramadol lortab ativan ambien tamiflu valium valb viagra levitra xanax tramadol hycodrone soma-online hydrocodone adipex a-gas aput apyrin arcjet arctg myboard\.info byplay 5000megs bravehost\.com ripway\.com jino\.ru mini-cat\.org phpnet\.us #porn erotic sex voyeur porn bowjob flatnuke-2.7.2/sections/none_Backend/0000755000175000017500000000000011177641445017110 5ustar simonesimoneflatnuke-2.7.2/sections/none_Backend/section.php0000644000175000017500000000200110275710007021243 0ustar simonesimone flatnuke-2.7.2/sections/none_Images/0000755000175000017500000000000011177641445016766 5ustar simonesimoneflatnuke-2.7.2/sections/none_Images/level.php0000644000175000017500000000000210572030135020560 0ustar simonesimone10flatnuke-2.7.2/sections/none_Images/section.php0000644000175000017500000000015610572030135021127 0ustar simonesimone

    flatnuke-2.7.2/sections/none_Images/gallery0000644000175000017500000000000210572030135020322 0ustar simonesimone flatnuke-2.7.2/sections/none_Calendar/0000755000175000017500000000000011177641445017272 5ustar simonesimoneflatnuke-2.7.2/sections/none_Calendar/section.php0000755000175000017500000000446110514402342021440 0ustar simonesimone(date("Y")-1000) AND $aa<(date("Y")+1000)) AND ($mm!="" AND is_numeric($mm) AND $mm>0 AND $mm<13) AND ($dd!="" AND is_numeric($dd) AND $dd>0 AND $dd<32)) { $my_modlist = array(); $handle = opendir('news'); while ($file = readdir($handle)) { if (!( $file=="." or $file==".." )) { array_push($my_modlist, $file); } } closedir($handle); if(count($my_modlist)>0) { rsort($my_modlist); } #print_r($my_modlist); //-> TEST for ($i=0; $i < sizeof($my_modlist); $i++) { $tmp = str_replace(".xml","",$my_modlist[$i]); $giorno = date("d",$tmp+(3600*$fuso_orario)); $mese = date("m",$tmp+(3600*$fuso_orario)); $anno = date("Y",$tmp+(3600*$fuso_orario)); if ($mese<10) { $mese = str_replace("0","",$mese); } if($anno==$aa AND $mese==$mm AND $giorno==$dd) { $string = get_file('news/'.$my_modlist[$i]); $title = get_xml_element("fn:title",$string); $reads = get_xml_element("fn:reads",$string); $id = str_replace(".xml","",$my_modlist[$i]); echo "\nRead "; echo "$title "; echo "(".date("d/m/Y - H:i",$id+(3600*$fuso_orario)).") "._LETTO." $reads "._VOLTE."
    "; } } } else echo _NORESULT; ?> flatnuke-2.7.2/sections/none_Calendar/block_calendar.php0000644000175000017500000001653610635202415022725 0ustar simonesimone(date("Y")+1000) ) { $aa = date("Y"); } if ( $mm=="" OR !is_numeric($mm) OR $mm<1 OR $mm>12 ) { $mm = date("n"); } // array containing all the news of the month $arraynews = array(); $dirnews = opendir('news'); while ($file = readdir($dirnews)) { $annonews = date("Y", intval(str_replace(".xml","",$file))); $mesenews = date("n", intval(str_replace(".xml","",$file))); if (!( $file=="." OR $file==".." )) { if ($annonews==$aa AND $mesenews==$mm) { array_push($arraynews, $file); } } } closedir($dirnews); if(count($arraynews>0)) rsort($arraynews); #print_r($arraynews); //-> TEST //---> START BUILDING CALENDAR echo "\n
    \n"; // print current date and time echo "\n
    \n"; echo ""._DATA.": ".date("d/m/Y",time()+(3600*$fuso_orario))."
    "; echo ""._ORA.": ".date("H:i",time()+(3600*$fuso_orario)); echo "\n
    "; // print header navigation; something like: Month Year $anno = $aa; $mese = $mm; if ($mese==1) { // first month of the year $back = "aa=".($anno-1)."&mm=12"; $backtitle = $mesi[11]." ".($aa-1); } else { $back = "aa=".$anno."&mm=".($mese-1); $backtitle = $mesi[$mm-2]." ".$aa; } if ($mese==12) { // last month of the year $next = "aa=".($anno+1)."&mm=1"; $nexttitle = $mesi[0]." ".($aa+1); } else { $next = "aa=".$anno."&mm=".($mese+1); $nexttitle = $mesi[$mm]." ".($aa); } echo "\n
    \n"; if(check_ahah()) { echo "« "; } else echo "« "; echo "".$mesi[$mm-1]." $aa "; if(check_ahah()) { echo "»"; } else echo "»"; echo "\n
    "; // print list of days-of-week's names echo "\n
    "; for ($i=1; $i<7; $i++) { echo "\n\t".substr($giorni[$i],0,2).""; // from monday to saturday } echo "\n\t".substr($giorni[0],0,2).""; // sunday echo "\n
    "; // print empty days $primo = mktime(0,0,0,$mm,1,$aa); // first day of the month $delta = date("w",$primo)-1; #echo $delta; //-> TEST if($delta == -1) { // sunday as first day of the month $delta = 6; } if($delta!=0) { // start a new week echo "\n\n"; /* * Check if there's a news in a particular day * * The function verifies if it can find a news from the * array $arraynews that is dated $dd/$mm/$yy. * * @param int $dd Day to check * @param int $mm Month to check * @param int $yy Year to check * @param array $arraynews Contains the list of news for a particular month * * @return string The string that will be printed (empty or the argument of the link) */ function is_there_a_news($dd, $mm, $yy, $arraynews=array()) { $dd = getparam($dd,PAR_NULL,SAN_FLAT); $mm = getparam($mm,PAR_NULL,SAN_FLAT); $yy = getparam($yy,PAR_NULL,SAN_FLAT); global $basesez; global $fuso_orario; for ($i=0; $i"; //-> TEST if($mese==$mm AND $anno==$yy AND $giorno==$dd) { $string = get_file('news/'.$arraynews[$i]); $title = get_xml_element("fn:title",$string); return "&aa=$anno&mm=$mese&dd=$giorno\" class=\"day\" title=\"News ".$giorno."/".$mese."/".$anno."\">".$dd.""; } } } /* * Verifies if the AHAH library exists. * * @return boolean TRUE or FALSE */ function check_ahah() { if(file_exists("include/javascripts/ahah.js")) { return TRUE; } else return FALSE; } ?> flatnuke-2.7.2/languages/0000755000175000017500000000000011177641445014661 5ustar simonesimoneflatnuke-2.7.2/languages/en.php0000644000175000017500000005507511031011604015761 0ustar simonesimone * Marco Segato */ $giorni = array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"); $mesi = array("January","February","March","April","May","June","July","August","September","October","November","December"); //su alcune piattaforme necessario... $GLOBALS['giorni'] = $giorni; $GLOBALS['mesi'] = $mesi; define("_CHARSET","ISO-8859-1"); define("_CERCA","Find"); define("_CERCASTR","Find word in:"); define("_ALLSITE","All the site"); define("_POSTATO","Posted "); define("_LETTO","read "); define("_VOLTE","times"); define("_LEGGITUTTO","Read all"); define("_COMMENTI","Comments"); define("_STAMPA","Print"); define("_INDIETRO","Back"); define("_PERARGOMENTI","By topic"); define("_TITNOTIZIA","News title"); define("_ARGOMENTO","Topic"); define("_INTMESSAGGIO","Message header"); define("_CORPOMESSAGGIO","Message body"); define("_PASSWORD","Password"); define("_INSNOTIZIA","Add news"); define("_SEGNEWS","Propose News"); define("_ANTEPRIMA","Preview"); define("_SEGNNOTIZIE","Highlighted news"); define("_LEGGI","Read"); define("_TUONOME","Your name"); define("_BACKEND","Download RSS/RDF file"); define("_MOTD","Welcome message"); define("_MODIFICA","Edit"); define("_NOMEUTENTE","Username"); define("_LOGIN","Log in"); define("_LOGOUT","Log out"); define("_NONREG","Have you registered yet?"); define("_REGORA","Register now!"); define("_BENVENUTO","Welcome"); define("_ADDNEWS","Add news"); define("_MODMOTD","Edit welcome message"); define("_DATA","Date"); define("_ORA","Time"); define("_PASSERR","Wrong password"); define("_ALERTSIG","Your highlight has been forwarded to the admin who will publish it"); define("_PUBNEWS","Publish"); define("_DELNEWS","Delete"); define("_HASCRITTO","wrote"); define("_NONPUOI", "You may not do that!"); define("_ADDCOMM", "Add a comment"); define("_DEVIREG", "You must be registered to"); define("_DEVIREG2", "to add a comment!"); define("_DEVIREG3", "to highlight news!"); define("_NORSS", "Can't find RSS file!"); define("_ARTTR","Article published on:"); define("_URLREF","Reference URL:"); define("_DA","By:"); define("_ELIMINA","Delete"); define("_MAINMENUTITLE", "Navigation"); define("_HOMEMENUTITLE", "Home"); define("_REMEMBERLOGIN", "Remember me"); define("_SITEURL","Site URL"); define("_SITENAME","Site name"); define("_THEME","FlatNuke theme"); define("_NEWSPP","Visibles news in the home page"); define("_ADMIN","Webmaster name"); define("_ADMINM","Webmaster mail"); define("_LANG","Site language"); define("_GUESTN","Unregistered users can highlight news"); define("_GUESTC","Unregistered users can highlight comments"); define("_FUSO","Timezone difference between the server and locale"); define("_TOPICPP","Forum topics per page"); define("_POSTPP","Forum posts per page"); define("_MEMBRIPP","Forum members per page"); define("_SECTNOTEXIST","Section doesn't exists!"); define("_NORESULT","No matching results"); define("_RELATEDNEWSLAST","Latest news about this argument"); define("_RELATEDNEWSALL","All the news about this argument"); define("_NOPREVNEWS","No older news"); define("_PREVNEWS","Previous news"); define("_NONEXTNEWS","No more recent news"); define("_NEXTNEWS","Next news"); define("_GOTOSECTION","Go to the section"); define("_VIEW_USERPROFILE","View user's profile"); define("_FREG","REGISTRATION"); define("_FCAMPI","*=required fields"); define("_FNOME","Name"); define("_FEMAIL","E-mail"); define("_FHOME","Homepage"); define("_FPROFES","Job"); define("_FPROV","Provenience"); define("_FAVAT","Avatar"); define("_FAVATREM","Or address of a remote image"); define("_FFIRMA","Signature"); define("_FNUOVOTOP","New thread"); define("_FTITTOP","Thread title"); define("_FNPAG","Pages"); define("_FNMESS","Messages"); define("_FINIPOST","First message"); define("_FULTPOST","Last message"); define("_FLOGIN","LOG IN"); define("_FERRCAMPO","You skipped some fields or you made some error: valid characters (max. 13) for the name are a-z, A-Z, 0-9"); define("_FORAREG","You are now registered"); define("_FUSERSCE","Username already taken"); define("_FNONREG","You're not registered yet!"); define("_FERRPASS","you put in a wrong password!"); define("_FERRACC","This function is reserved to registered users!"); define("_FMODPROF","Edit profile"); define("_FMODPROFTIT","EDIT PROFILE of"); define("_FDIVERS","only if different"); define("_FINVIA","Send"); define("_FOKMODPROF","Profile has been modified"); define("_FRISP","Reply"); define("_FUTENTE","User"); define("_FMESS","Message"); define("_FNUOVOMESS","New message"); define("_FOGG","Subject"); define("_FTOPOK","Thread created"); define("_FLEGGI","Read"); define("_FMESSOK","Message sent"); define("_FIND","Forum Index"); define("_FINDH","Home Page"); define("_BENVE","Welcome"); define("_SCON","unknown"); define("_FGUIDA","Help"); define("_FUTENTI","registered users"); define("_FDELUTENTE","Delete account"); define("_REG_AGREEMENT_TERMS","While the administrators and moderators of this forum will attempt to remove or edit any generally objectionable material as quickly as possible, it is impossible to review every message. Therefore you acknowledge that all posts made to these forums express the views and opinions of the author and not the administrators, moderators or webmaster (except for posts by these people) and hence will not be held liable.

    You agree not to post any abusive, obscene, vulgar, slanderous, hateful, threatening, sexually-oriented or any other material that may violate any applicable laws. Doing so may lead to you being immediately and permanently banned (and your service provider being informed). The IP address of all posts is recorded to aid in enforcing these conditions. You agree that the webmaster, administrator and moderators of this forum have the right to remove, edit, move or close any topic at any time should they see fit. As a user you agree to any information you have entered above being stored in a database. While this information will not be disclosed to any third party without your consent the webmaster, administrator and moderators cannot be held responsible for any cracking attempt that may lead to the data being compromised.

    This forum system uses cookies to store information on your local computer. These cookies do not contain any of the information you have entered above; they serve only to improve your viewing pleasure. The e-mail address is not actually used in any automatic function.

    By clicking Register below you agree to be bound by these conditions."); // taken & modified from PhpBB (http://www.phpbb.com/) define("_LEGAL","This is a free software released under the GNU General Public License."); define("_NOPUBNEWS","No highlighted news"); define("_MOTDMESS","Welcome to FlatNuke

    FlatNuke is a CMS (Content Management System) that makes no use of DBMS, but only text files (so its name).
    FlatNuke home page is
    this.

    ATTENTION!
    To train the site you need to create at least one account, the first user you register will be the administrator (with all permissions)! >>CREATE IT NOW!<<

    If you like FlatNuke send me a postcard from your city! You can find my address into the file AUTHOR"); define("_LEVEL","Level"); define("_NOLEVELSECT","You don't have right permissions to view this section"); define("_SICURO","Are you sure you want to do it?"); define("_FP_VOTA","Vote!"); define("_FP_RISULTATI","Results"); define("_FP_SONDAGGI","Polls"); define("_FP_VECCHI","old polls"); define("_FP_ADMIN","Admin"); define("_FP_VOTITOTALI","total votes"); define("_FP_VOTI","Votes"); define("_FP_GIAVOTATO","YOU ALREADY VOTED! You can only make a choice every"); define("_FP_ORE","hours"); define("_FP_VOTONONVALIDO","You didn't select any option, not a valid vote!"); define("_FP_COMMENTI","Comments"); define("_FP_ADDCOMM","Add a comment"); define("_FP_DA","By:"); define("_FP_SCON","unknown"); define("_FP_FINVIA","Send"); define("_FP_DEVIREG","You must be registered to"); define("_FP_DEVIREG2","to add a comment!"); define("_FP_NOACTIVE","No active poll at this moment:"); define("_FP_STATOSONDAGGIO","Poll status"); define("_FP_APERTO","Open"); define("_FP_DOMANDASONDAGGIO","Poll question"); define("_FP_ISTRUZIONIMODIFICA","Insert down here the options that can be voted by users: to make an option to be valid, it must have AND option AND vote, so if you create a new answer you have to insert 0 as number of votes!"); define("_FP_OPZIONENUM","Option number"); define("_FP_MODIFICA","Change"); define("_FP_CHIUDIARCHIVIA","Close and store"); define("_FP_MODIFICAOK","The poll has been changed!"); define("_FP_NUOVOSONDAGGIO","New poll"); define("_FP_OPZIONE","Option"); define("_FP_ARCHIVEOK","The poll has been stored!"); define("_FP_DELETEOK1","The poll closed on"); define("_FP_DELETEOK2","has been deleted!"); define("_FP_CHIUSO","Closed"); define("_FP_ELIMINA","Delete"); define("_FP_NONEOLD","No stored polls."); define("_FIG_TXT_PAGINA","Page "); define("_FIG_TXT_NOGD","Error: No GD library found (PHP)!"); define("_FIG_TXT_NOIMAGES","No images."); define("_FIG_ADMIN_SECT","Administration of the image gallery"); define("_FIG_TXT_NUMCOLSROWS","Images table dimensions: "); define("_FIG_TXT_NUMCOLS","columns "); define("_FIG_TXT_NUMROWS"," rows "); define("_FIG_TXT_DIMTHUMBS","Thumbs' heigth/width (default 175px): "); define("_FIG_TXT_REGUPLOADS","Let registered users upload images (Y/N): "); define("_FIG_TXT_COMMENTI","Let write comments (Y/N): "); define("_FIG_TXT_DELCOMM","Empty file with comments "); define("_FIG_TXT_UPLOAD","Add a new image to the gallery: "); define("_FIG_TXT_RENAME","Rename image: "); define("_FIG_TXT_DELETE","Delete an uploaded image: "); define("_FIG_ALERTNOTWR","Not writeable directory"); define("_FIG_ALERTNOTIMG","Uploaded file is not an image"); define("_FIG_ALERTIMGDEL","Image deleted"); define("_FIG_ALERTEXIST","Attention, file already exists"); define("_FIG_ALERTUPOK","File uploaded"); define("_FIG_COMMENTI","Comments"); define("_FIG_ADDCOMM","Add a comment"); define("_FIG_DA","By:"); define("_FIG_SCON","unknown"); define("_FIG_FINVIA","Send"); define("_FIG_RENAMEOK","Image renamed!"); define("_FIG_RENAMENO","Image not renamed!"); define("_FIG_DEVIREG","You must be registered to"); define("_FIG_DEVIREG2","to add a comment!"); define("_FIG_INGRANDIRE","Click to enlarge"); define("_MAINT","ATTENTION: site in work."); define("_MAINT_MSG","The administrator(s) can login through the form below:"); define("_FASTNEWSSTR","Add this link to your bookmarks and use it to publish news in a very fast and simple way:"); // 2.6 define("_SPAMALERT","The text of your message is marked as spam. Please click on \"back\" and edit your message."); define("_SEARCHDESC","Search contents on this site."); define("_ADVSEARCH","Advanced search"); define("_ARGUMENT","Argument"); define("_TOPICS","Topics"); define("_VIEWGROUPTITLE","View the group"); define("_VIEWARGUMENTTITLE","View the argument"); define("_VIEWTOPICTITLE","View the topic"); define("_ADMINS","Administrators"); define("_MODERATORS","Moderators"); define("_DELETEGROUP","Delete group"); define("_RENAMEGROUP","Rename group"); define("_RENAME","Rename"); define("_MOVE","Move"); define("_LOCK","Lock"); define("_UNLOCK","Unlock"); define("_RENAMEARGTITLE","Rename the argument"); define("_EDITARGTITLE","Edit the argument"); define("_MOVEARGTITLE","Move the argument"); define("_LOCKARGTITLE","Lock the argument"); define("_UNLOCKARGTITLE","Unlock the argument"); define("_DELETEARGTITLE","Delete the argument"); define("_THEARGUMENT","the argument"); define("_FFCONTROLPANEL","Forum's Control Panel"); define("_NEWGROUP","New Group"); define("_NEWARGUMENT","New Argument"); define("_GOTOTHEPAGE","Go to the page"); define("_GOTOTHEFIRSTPAGE","Go to the first page"); define("_GOTOTHELASTPAGE","Go to the last page"); define("_GOTOTHEPREVIOUSPAGE","Go to the previous page"); define("_GOTOTHENEXTPAGE","Go to the next page"); define("_EDITTOPIC","Edit the topic"); define("_DELETETOPIC","Delete the topic"); define("_MOVETOPIC","Move the topic"); define("_STICKYTOPIC","Sticky topic"); define("_UNSTICKYTOPIC","Normal topic"); define("_HIDETOPIC","Hide the topic"); define("_SHOWTOPIC","Show the topic"); define("_LOCKTOPIC","Lock the topic"); define("_UNLOCKTOPIC","Unlock the topic"); define("_STICKY","Sticky"); define("_UNSTICKY","Unsticky"); define("_HIDE","Hide"); define("_SHOW","Show"); define("_QUOTE","Quote"); define("_POSTSTICKY","Sticky"); define("_NORMAL","Normal"); define("_QUOTEPOST","Quote the post"); define("_EDITPOST","Edit post"); define("_STICKYPOST","Show the post on top"); define("_NORMALPOST","Show the post in normal position"); define("_DELETEPOST","Delete post"); define("_MAILALERT","Mail notification for new posts"); define("_REMOVEMAILALERT","Remove mail notification for new posts"); define("_VIEWFORUMHOME","View forum's home page"); define("_FORUMBACKUP","Do forum backup"); define("_EDITFORUMMOTD","Edit forum's motd"); define("_EDITFORUMHELP","Edit help message of the forum"); define("_EDITFLANUKECONFIG","Edit Flatnuke's config file"); define("_EDITFORUMTHEME","Edit forum's theme"); define("_EDITSPAMFILTER","Edit spam filter"); define("_EDITFORUMRULES","Edit forum's rules"); define("_FORUMMANAGEMENT","Forum management"); define("_CONFIG","Configuration"); define("_CHOOSEGROUPNAME","Choose group's name"); define("_CREATEGROUP","Create group"); define("_GROUPCREATED","Group created!"); define("_THEGROUP","The group"); define("_ALREADYEXISTS","already exists. Please choose another name."); define("_RETURN","Return"); define("_GROUPNOCHANGE","Attention! Group's name isn't changed!"); define("_GROUPRENAMED","Group successfully renamed!"); define("_DOESNTEXISTS","doesn't exists!"); define("_ATTENTION","Attention"); define("_DELETEGROUPALERT1","Do you really want to delete the group"); define("_DELETEGROUPALERT2","If you want to delete the group you have to check the form below and clik on the OK button.
    Attention: the group will be deleted only if it doesn't contain any argument."); define("_DELETEGROUPALERT3","Definitively delete the group"); define("_DELETEGROUPNOCONFIRM","If you want to delete the group you have to check the checkbox in the previous page."); define("_DELETEGROUPOK","Group successfully deleted!"); define("_GROUPNOTEMPTY","isn't empty and contains one ore more arguments.
    You will have to delete or move arguments before try to delete the group."); define("_ARGUMENTGROUP","Choose a group for the argument"); define("_ARGUMENTNAME","Choose the name of the argument"); define("_ARGUMENTLEVEL","Select a level"); define("_ARGUMENTIMAGE","Choose an image for the argument"); define("_ARGUMENTDESC","Write a description"); define("_CREATEARGUMENT","Create argument"); define("_ARGUMENTCREATED","Argument created"); define("_ARGUMENTEXISTS","already exists in the group"); define("_ARGUMENTCHANGENAME","change the name or choose another group."); define("_RENAMEARGUMENT","Rename argument"); define("_RENAMETHEARGUMENT","Rename the argument"); define("_ARGUMENTRENAMED","Argument successfully renamed"); define("_SIZE","Size"); define("_ARGUMENTEDIT","Edit argument"); define("_ARGUMENTEDITED","Argument edited"); define("_ARGUMENTMOVE","Choose in wich group to move the argument"); define("_ARGUMENTMOVED","Argument successfully moved"); define("_NOGROUP","There isn't a group where to move the argument"); define("_NOTWRITABLE","isn't writable"); define("_ARGUMENTLOCKED","Argument locked"); define("_ARGALREADYLOCKED","The argument was already locked"); define("_ARGUMENTUNLOCKED","Argument unlocked"); define("_ARGALREADYUNLOCKED","The argument was already unlocked"); define("_DELETEARGUMENT1","Do you really want delete the argument"); define("_DELETEARGUMENT2","inside the group"); define("_DELETEARGUMENT3","If you want do that please check the checkbox present below and press the OK button.
    Attention: all topic contained will be deleted!"); define("_DELETEARGUMENT","delete the argument"); define("_ARGUMENTDELETED","Argument successfully deleted"); define("_DIRNOTDELETED","It was impossible to delete the dir"); define("_FILENOTDELETED","It was impossible to delete the file"); define("_DELETEARGNOCONFIRM","If you want to delete the argument you have to check the checkbox in the previous page."); define("_THEFILE","the file"); define("_ASKDELETETOPIC","Are you sure do you want to delete the topic"); define("_TOPICDELETED","Topic deleted"); define("_CHOOSETOPICDEST","Choose where to move the topic"); define("_TOPICMOVED","Topic moved"); define("_TOPICNOTMOVED","It was impossible to move the topic"); define("_TOPICHIDDEN","The topic is hidden"); define("_TOPICSHOWED","The topic is shown"); define("_TOPICLOCKED","The topic is locked"); define("_TOPICUNLOCKED","The topic is unlocked"); define("_VIEWFFLOG","View Flatforum's log"); define("_VIEWFFERRORLOG","View Flatforum's error log"); define("_ISSPAM","is considered spam"); define("_LASTEDITBY","Last edit by"); //2.7 define("_HIDDENMAIL","E-mail not visible"); define("_POSTDELETED","Post deleted!"); define("_THEDIR","The directory"); define("_COMP_REG","It has been sended one email to you to the address:"); define("_COMP_REG2"," with the instructions to complete the registration"); define ("_ERREMAIL","E-mail address is not valid"); define("_IST_REG_MAIL","To complete the registration click on the following link:"); define("_COMP_REG_MAIL","Complete registration on"); define("_THEMAIL","The e-mail"); define("_MAILUSED","was already used for the registration of a user. Every e-mail address can be used only for the registration of one user."); define("_ACTIVATIONMAILNOTSENT","I was not able to send to you a mail with the activation code. Please contact the administrator of this site."); define("_WAITINGUSERLOGIN","You need to complete the registration process. Please follow the instructions sent you by e-mail."); define("_CONTACTADMIN","If you experience any problem, please contact the admin of the site"); define("_MANAGESECTION","Manage section"); define("_MANAGEFILE","Manage file"); define("_FNCREATESUBSECTION","Create subsection"); define("_FNCREATEFILE","Create file"); define("_FNRENAMESECTION","Rename section"); define("_FNDELETESECTION","Delete section"); define("_FNRENAMEFILE","Rename file"); define("_FNDELETEFILE","Delete file"); define("_FNMOVESECTION","Move section"); define("_FNMOVEFILE","Move file"); define("_FNSECTIONPERM","Section permissions"); define("_FNSECTIONRENAMED","Section renamed"); define("_CREATE","Create"); define("_FNSECTIONCREATED","Section created"); define("_FNSECTIONDELETED","Section deleted"); define("_FNSECTIONMOVED","Section moved"); define("_FNFILECREATED","File created"); define("_ERROR","Error"); define("_FNFILEDELETED","File deleted"); define("_MANAGEFLATNUKE","Manage Flatnuke"); define("_FNFILERENAMED","File renamed"); define("_GOTOFILE","Go to file"); define("_FNCHOOSEDEST","Choose destination"); define("_FNFILEMOVED","File moved"); define("_EDITHTML","Edit html code"); define("_EDITFCKEDITOR","Edit with FCKEditor"); define("_FNCHOOSEEDITOR","Choose the editor"); define("_DELETESUBSECTIONS","You need to delete alla subsections"); define("_FNVIEWPERMS","View permissions"); define("_FNEDITPERMS","Edit permissions"); define("_FNADDUSER","Add user"); define("_FNREMOVEUSER","Remove user"); define("_USERS","Users"); define("_FNEDITSECTION","Edit section"); define("_FNEDITFILE","Edit file"); define("_FNMANAGESECTTITLE","Admin options for the current section"); define("_FNMANAGEFILETITLE","Admin options for the current file"); define("_FNMANAGEVIEWPERMSTITLE","Set view permissions for the current section"); define("_FNUSERADDED","User added"); define("_FNCHOOSEUSER","You must choose a user"); define("_FNUSERREMOVED","User removed"); define("_FNWRITEPERMS","Write permissions"); define("_FNMANAGEEDITPERMSTITLE","Set edit permissions for the current section"); define("_FNEDITALLOW1","Allow the user"); define("_FNEDITALLOW2","to edit the section"); define("_CANCEL","Cancel"); define("_SECTIONTYPE","Section type"); define("_STANDARD","Standard"); define("_DOWNLOADMAIN","Download (with subcategories)"); define("_DOWNLOADSINGLE","Download (single section)"); define("_DOWNLOADMAINTITLE","Create a section that show files present in subsections"); define("_DOWNLOADSINGLETITLE","Permit to load files in the section"); define("_ISNOTADIR","is not a directory"); define("_ISNOTAFILE","is not a file"); define("_CHANGESECTTYPE","Change section type"); define("_EXEC","Exec");//check translation define("_CHOOSEACTION","Choose action"); define("_MANAGESECTNOTE","Edit section's text or choose an admin option on the right"); define("_FNPRESENTATION","Presentation");//check translation // 2.7.1 define("_NEWPWDSTRING","Lost password"); define("_NEWPWDFORM","Recover Password:

    To recover your password, please provide the e-mail address you have associated with your member account and click on the Submit button.
    The e-mail will also contain your NEW password.
    Pay attention on the fact that you will not be able to use your new password till you will validate the request; so, without validation, you still have to use the old password."); define("_NEWPWDFROM","Recover password from:"); define("_NEWPWDMAIL","Hi __USERNAME__,\n this email has been sent to you from __SITEURL__ because someone asked to provide a new password for your account.\n If you didn't request anything, just ignore this email: your password will remain the same. To avoid errors or abuses, only you are able to validate password recovery.\n *** Continue only if you want to recover your password ***\n ------------------------------------------------ HOW TO VALIDATE THE REQUEST ------------------------------------------------\n To validate your request, just click on link below:\n __URLCONFIRMPASSWORDCHANGE__\n (your e-mail program should open the download page in your browser; if your e-mail program does not do this, you can paste the URL in your browser and press the Enter key to open the link).\n Once this process of activation/validation will be completed, you can login to the site using the new password you can find below. You can change your password at any time by editing your account information.\n ------------------------------------------------ YOUR NEW PASSWORD (AFTER VALIDATION) ------------------------------------------------\n Use your new password only after visiting the link in this e-mail.\n After validation, your new password will be: __REGCODE__\n Keep your password secure and do not share it with other people. You can change your password at any time by editing your account information."); ?>flatnuke-2.7.2/languages/fr.php0000644000175000017500000007036511031011606015767 0ustar simonesimone */ $giorni = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"); $mesi = array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"); //su alcune piattaforme necessario... $GLOBALS['giorni'] = $giorni; $GLOBALS['mesi'] = $mesi; define("_CHARSET","ISO-8859-1"); define("_CERCA","Recherche"); define("_CERCASTR","Rechercher dans:"); define("_ALLSITE","Tout le site"); define("_POSTATO","Transmis "); define("_LETTO","Lu "); define("_VOLTE","fois"); define("_LEGGITUTTO","Lire tout"); define("_COMMENTI","Commentaires"); define("_STAMPA","Imprimer"); define("_INDIETRO","Arrière"); define("_PERARGOMENTI","Pour arguments"); define("_TITNOTIZIA","Titre de l’article"); define("_ARGOMENTO","Argument"); define("_INTMESSAGGIO","Tête du message"); define("_CORPOMESSAGGIO","Corps du message"); define("_PASSWORD","Mot de passe"); define("_INSNOTIZIA","Envoyer article"); define("_SEGNEWS","Signaler article"); define("_ANTEPRIMA","Prevue"); define("_SEGNNOTIZIE","Articles signalé"); define("_LEGGI","Lire"); define("_TUONOME","Votre nom"); define("_BACKEND","Prélever RSS/RDF"); define("_MOTD","Message de bienvenu"); define("_MODIFICA","Modifier"); define("_NOMEUTENTE","Surnom"); define("_LOGIN","Entrer"); define("_LOGOUT","Sortir"); define("_NONREG","Vous n’avez pas encore de compte??"); define("_REGORA","Enregistrez Vous!"); define("_BENVENUTO","Bienvenu"); define("_ADDNEWS","Envoyer un article"); define("_MODMOTD","Modifier le bienvenu"); define("_DATA","Date"); define("_ORA","Heure"); define("_PASSERR","Mauvais mot de passe"); define("_ALERTSIG","Ton remarquage a été envoyé, l’admin va le publier"); define("_PUBNEWS","Publier"); define("_DELNEWS","Effacer"); define("_HASCRITTO","a écrit"); define("_NONPUOI","On ne peut pas faire ça!"); define("_ADDCOMM","Ajoutez un commentaire"); define("_DEVIREG","Veuillez vous enregistrer"); define("_DEVIREG2","pour ajouter un commentaire!"); define("_DEVIREG3","pour soumettre un article!"); define("_NORSS","Il n’y a pas de RSS!"); define("_ARTTR","Article extrait de:"); define("_URLREF","URL de référence:"); define("_DA","Par:"); define("_ELIMINA","Effacer"); define("_MAINMENUTITLE", "Menu"); define("_HOMEMENUTITLE", "Accueil"); define("_REMEMBERLOGIN", "Rappeler le login"); define("_SITEURL","Adresse du site"); define("_SITENAME","Nom du site"); define("_THEME","Thème FlatNuke"); define("_NEWSPP","Articles dans la 1ère page"); define("_ADMIN","Nom du webmaster"); define("_ADMINM","Email du webmaster"); define("_LANG","Langage du site"); define("_GUESTN","Un visiteur anonyme ne peut pas soumettre un article"); define("_GUESTC","Un visiteur anonyme ne peut pas ajouter un commentaire"); define("_FUSO","Difference d’horaire entre le server et l’heure locale"); define("_TOPICPP","Sujets du forum chaque page"); define("_POSTPP","Post du forum chaque page"); define("_MEMBRIPP","Membres forum chaque page"); define("_SECTNOTEXIST","Cette section n’existe pas!"); define("_NORESULT","Aucune correspondance trouvé"); define("_RELATEDNEWSLAST","Derniers articles sur cet argument"); define("_RELATEDNEWSALL","Tous les articles sur cet argument"); define("_NOPREVNEWS","Aucun article précédent"); define("_PREVNEWS","Article précédent"); define("_NONEXTNEWS","Aucun article plus rcent"); define("_NEXTNEWS","Article suivant"); define("_GOTOSECTION","Aller à la section"); define("_VIEW_USERPROFILE","Information du Profil"); define("_FREG","ENREGISTREMENT"); define("_FCAMPI","*=champs requis"); define("_FNOME","Nom"); define("_FEMAIL","E-mail"); define("_FHOME","Site web"); define("_FPROFES","Occupation"); define("_FPROV","Emplacement"); define("_FAVAT","Avatar"); define("_FAVATREM","ou adresse d’une image"); define("_FFIRMA","Signature"); define("_FNUOVOTOP","Nouveau sujet"); define("_FTITTOP","Titre du sujet"); define("_FNPAG","Pages"); define("_FNMESS","Messages"); define("_FINIPOST","Premier message"); define("_FULTPOST","Dernier message"); define("_FLOGIN","ENTRER"); define("_FERRCAMPO","Vous avez oublié quelques champs ou vous avez peut-être commis une erreur de compilation: dans les noms on peut utiliser seulement les charactères (max. 13) a-z, A-Z, 0-9"); define("_FORAREG","Vous tes maintenant enregistré"); define("_FUSERSCE","Nom reservé"); define("_FNONREG","vous n’êtes pas enregistrés!"); define("_FERRPASS","vous avez trompé le mot de passe!"); define("_FERRACC","Reservé aux utilisateurs enregistrés!"); define("_FMODPROF","Modifier profil"); define("_FMODPROFTIT","MODIFIER PROFIL de"); define("_FDIVERS","seulement s’il est divers"); define("_FINVIA","Envoyer"); define("_FOKMODPROF","Le profil a été modifié "); define("_FRISP","Répondre"); define("_FUTENTE","Utilisateur"); define("_FMESS","Message"); define("_FNUOVOMESS","Nouveau message"); define("_FOGG","Sujet"); define("_FTOPOK","Sujet creée"); define("_FLEGGI","Lire"); define("_FMESSOK","Message envoyé"); define("_FIND","Index du Forum"); define("_FINDH","Page d'accueil"); define("_BENVE","Bienvenu"); define("_SCON","inconnu"); define("_FGUIDA","Aide"); define("_FUTENTI","utilisateurs enregistrés"); define("_FDELUTENTE","Effacer utilisateur"); define("_REG_AGREEMENT_TERMS","Les administrateurs et mod’rateurs de ce forum s’efforceront de supprimer ou ’diter tous les messages à caractère r’pr’hensible aussi rapidement que possible. Toutefois, il leur est impossible de passer en revue tous les messages. Vous admettez donc que tous les messages postés sur ces forums expriment la vue et opinion de leurs auteurs respectifs, et non pas des administrateurs, ou modérateurs, ou webmestres (excepté les messages postés par eux-même) et par conséquent ne peuvent pas être tenus pour responsables.

    Vous consentez à ne pas poster de messages injurieux, obscènes, vulgaires, diffamatoires, menaçants, sexuels ou tout autre message qui violeraient les lois applicables. Le faire peut vous conduire à être banni immédiatement de façon permanente (et votre fournisseur d’accès à internet en sera informé). L’adresse IP de chaque message est enregistrée afin d’aider à faire respecter ces conditions. Vous êtes d’accord sur le fait que le webmestre, l’administrateur et les modérateurs de ce forum ont le droit de supprimer, éditer, déplacer ou verrouiller n’importe quel sujet de discussion à tout moment. En tant qu’utilisateur, vous êtes d’accord sur le fait que toutes les informations que vous donnerez ci-après seront stockées dans une base de données. Cependant, ces informations ne seront divulguées à aucune tierce personne ou société sans votre accord. Le webmestre, l’administrateur, et les modérateurs ne peuvent pas être tenus pour responsables si une tentative de piratage informatique conduit à l’accès de ces données.

    Ce forum uti lise les cookies pour stocker des informations sur votre ordinateur. Ces cookies ne contiendront aucune information que vous aurez entré ci-après; ils servent uniquement à améliorer le confort d’utilisation. L’adresse e-mail est uniquement utilisée afin de confirmer les détails de votre enregistrement ainsi que votre mot de passe (et aussi pour vous envoyer un nouveau mot de passe dans le cas oú vous l’oublieriez).

    En vous enregistrant, vous vous portez garant du fait d’être en accord avec le réglement ci-dessus."); // taken & modified from PhpBB (http://www.phpbb.com/) define("_LEGAL","Logiciel libre distribu sous licence GNU General Public License."); define("_NOPUBNEWS","Il n’y a pas d’articles signalés"); define("_MOTDMESS","Bienvenus dans Flatnuke

    Flatnuke est un CMS (système de gestion de contenu) ne nécessitant pas de base de données DBMS, fonctionnant seulement sur fichiers plats (dont son nom).
    Le site officiel de Flatnuke est ceci.

    ATTENZIONE!
    Pour administrer le site il faut créer un compte d'utilisateur, le premier utilisateur qui va s’enregistrer deviendra administrateur (il aure toutes les permissions)! >>CREER MAINTENANT! <<

    Si vous avez aimé Flatnuke envoyez une carte postale de ton ville! Mon adresse est dans le fichier AUTHOR"); define("_LEVEL","Niveau"); define("_NOLEVELSECT","Vous n'avez pas la permission de voyer cette section "); define("_SICURO","Vous êtes sûr de faire ça?"); define("_FP_VOTA","Voter!"); define("_FP_RISULTATI","Résultats"); define("_FP_SONDAGGI","Sondages"); define("_FP_VECCHI","ancien sondages"); define("_FP_ADMIN","Admin"); define("_FP_VOTITOTALI","totaux de votes"); define("_FP_VOTI","Votes"); define("_FP_GIAVOTATO","Vous avez déjà voté! On ne peut donner qu’une préférence chaque"); define("_FP_ORE","heures"); define("_FP_VOTONONVALIDO","Vous n'avez choisi aucune option, vote pas valide!"); define("_FP_COMMENTI","Commentaires"); define("_FP_ADDCOMM","Ajouter un commentaire"); define("_FP_DA","Par:"); define("_FP_SCON","inconnu"); define("_FP_FINVIA","Envoyer"); define("_FP_DEVIREG","Veuillez vous enregistrer"); define("_FP_DEVIREG2","pour ajouter un commentaire!"); define("_FP_NOACTIVE","Pas de sondages actifs maintenant:"); define("_FP_STATOSONDAGGIO","Etat du sondage"); define("_FP_APERTO","Ouvert"); define("_FP_DOMANDASONDAGGIO","Question du sondage"); define("_FP_ISTRUZIONIMODIFICA","Inserez ci dessous les options à voter par les utilisateurs: afin q'’une ré à insérer soit valide, elle doit contenir et l'option et le vote, donc si vous créez une nouvelle réponse vous devez insérer 0 comme nombre de votes!"); define("_FP_OPZIONENUM","Option nombre"); define("_FP_MODIFICA","Modifier"); define("_FP_CHIUDIARCHIVIA","Ferme et archive"); define("_FP_MODIFICAOK","Le sondage a été modifié!"); define("_FP_NUOVOSONDAGGIO","Nouveau sondage"); define("_FP_OPZIONE","Option"); define("_FP_ARCHIVEOK","Le sondage a été archivé!"); define("_FP_DELETEOK1","Le sondage a été fermé le"); define("_FP_DELETEOK2","a été effacé!"); define("_FP_CHIUSO","Fermé"); define("_FP_ELIMINA","Effacer"); define("_FP_NONEOLD","Pas de sondages archivs."); define("_FIG_TXT_PAGINA","Pae "); define("_FIG_TXT_NOGD","Erreur: Il n’y a pas la bibliothque GD de PHP!"); define("_FIG_TXT_NOIMAGES","Aucune image."); define("_FIG_ADMIN_SECT","Administration de la gallerie"); define("_FIG_TXT_NUMCOLSROWS","Dimension de la table des images: "); define("_FIG_TXT_NUMCOLS","colonnes "); define("_FIG_TXT_NUMROWS","lignes "); define("_FIG_TXT_DIMTHUMBS","Hauteur/largeur thumbs (default 175px): "); define("_FIG_TXT_REGUPLOADS","Permission d’envoyer aux utilisateurs enregistrés (Oui/Non): "); define("_FIG_TXT_COMMENTI","Permission d’ajouter des commentaires (Oui/Non): "); define("_FIG_TXT_DELCOMM","Vider les fichier avec des commentaires"); define("_FIG_TXT_UPLOAD","Envoyer nouvelle image: "); define("_FIG_TXT_RENAME","Renommer image: "); define("_FIG_TXT_DELETE","Effacer image: "); define("_FIG_ALERTNOTWR","On ne peut pas écrire dans ce répertoire"); define("_FIG_ALERTNOTIMG","Le fichier envoyé n’est pas un’image"); define("_FIG_ALERTIMGDEL","Image effacé"); define("_FIG_ALERTEXIST","Attention, fichier déjà existant!"); define("_FIG_ALERTUPOK","Fichier envoyé"); define("_FIG_COMMENTI","Commentaires"); define("_FIG_ADDCOMM","Ajouter un commentaire"); define("_FIG_DA","Par:"); define("_FIG_SCON","inconnu"); define("_FIG_FINVIA","Envoyer"); define("_FIG_RENAMEOK","Image renommée!"); define("_FIG_RENAMENO","Image pas renommée!"); define("_FIG_DEVIREG","Veuillez vous enregistrer"); define("_FIG_DEVIREG2","pour ajouter un commentaire!"); define("_FIG_INGRANDIRE","Clic pour agrandir"); define("_MAINT","ATTENTION: manutention du site."); define("_MAINT_MSG","L'administrateur peut accomplir son entrée dans le form suivant:"); define("_FASTNEWSSTR","Ajouter ce lien ai preferiti e usalo come scorciatoia per pubblicare le news in modo rapido e semplice:"); // 2.6 define("_SPAMALERT","The text of your message is marked as spam. Please click on \"back\" and edit your message."); // need translation define("_SEARCHDESC","Recherche dans ce site"); define("_ADVSEARCH","Recherche avancée"); define("_ARGUMENT","Argument");//need translation define("_TOPICS","Topics");//need translation define("_VIEWGROUPTITLE","View the group");//need translation define("_VIEWARGUMENTTITLE","View the argument");//need translation define("_VIEWTOPICTITLE","View the topic");//need translation define("_ADMINS","Administrators");//need translation define("_MODERATORS","Moderators");//need translation define("_DELETEGROUP","Delete group");//need translation define("_RENAMEGROUP","Rename group");//need translation define("_RENAME","Rename");//need translation define("_MOVE","Move");//need translation define("_LOCK","Lock");//need translation define("_UNLOCK","Unlock");//need translation define("_RENAMEARGTITLE","Rename the argument");//need translation define("_EDITARGTITLE","Edit the argument");//need translation define("_MOVEARGTITLE","Move the argument");//need translation define("_LOCKARGTITLE","Lock the argument");//need translation define("_UNLOCKARGTITLE","Unlock the argument");//need translation define("_DELETEARGTITLE","Delete the argument");//need translation define("_THEARGUMENT","the argument");//need translation define("_FFCONTROLPANEL","Forum's Control Panel");//need translation define("_NEWGROUP","New Group");//need translation define("_NEWARGUMENT","New Argument");//need translation define("_GOTOTHEPAGE","Go to the page");//need translation define("_GOTOTHEFIRSTPAGE","Go to the first page");//need translation define("_GOTOTHELASTPAGE","Go to the last page");//need translation define("_GOTOTHEPREVIOUSPAGE","Go to the previous page");//need translation define("_GOTOTHENEXTPAGE","Go to the next page");//need translation define("_EDITTOPIC","Edit the topic");//need translation define("_DELETETOPIC","Delete the topic");//need translation define("_MOVETOPIC","Move the topic");//need translation define("_STICKYTOPIC","Sticky topic");//need translation define("_UNSTICKYTOPIC","Normal topic");//need translation define("_HIDETOPIC","Hide the topic");//need translation define("_SHOWTOPIC","Show the topic");//need translation define("_LOCKTOPIC","Lock the topic");//need translation define("_UNLOCKTOPIC","Unlock the topic");//need translation define("_STICKY","Sticky");//need translation define("_UNSTICKY","Unsticky");//need translation define("_HIDE","Hide");//need translation define("_SHOW","Show");//need translation define("_QUOTE","Quote");//need translation define("_POSTSTICKY","Sticky");//need translation define("_NORMAL","Normal");//need translation define("_QUOTEPOST","Quote the post");//need translation define("_EDITPOST","Edit post");//need translation define("_STICKYPOST","Show the post on top");//need translation define("_NORMALPOST","Show the post in normal position");//need translation define("_DELETEPOST","Delete post");//need translation define("_MAILALERT","Mail notification for new posts");//need translation define("_REMOVEMAILALERT","Remove mail notification for new posts");//need translation define("_VIEWFORUMHOME","View forum's home page");//need translation define("_FORUMBACKUP","Do forum backup");//need translation define("_EDITFORUMMOTD","Edit forum's motd");//need translation define("_EDITFORUMHELP","Edit help message of the forum");//need translation define("_EDITFLANUKECONFIG","Edit Flatnuke's config file");//need translation define("_EDITFORUMTHEME","Edit forum's theme");//need translation define("_EDITSPAMFILTER","Edit spam filter");//need translation define("_EDITFORUMRULES","Edit forum's rules");//need translation define("_FORUMMANAGEMENT","Forum management");//need translation define("_CONFIG","Configuration");//need translation define("_CHOOSEGROUPNAME","Choose group's name");//need translation define("_CREATEGROUP","Create group");//need translation define("_GROUPCREATED","Group created!");//need translation define("_THEGROUP","The group");//need translation define("_ALREADYEXISTS","already exists. Please choose another name.");//need translation define("_RETURN","Return");//need translation define("_GROUPNOCHANGE","Attention! Group's name isn't changed!");//need translation define("_GROUPRENAMED","Group successfully renamed!");//need translation define("_DOESNTEXISTS","doesn't exists!");//need translation define("_ATTENTION","Attention");//need translation define("_DELETEGROUPALERT1","Do you really want to delete the group");//need translation define("_DELETEGROUPALERT2","If you want to delete the group you have to check the form below and clik on the OK button.
    Attention: the group will be deleted only if it doesn't contain any argument.");//need translation define("_DELETEGROUPALERT3","Definitively delete the group");//need translation define("_DELETEGROUPNOCONFIRM","If you want to delete the group you have to check the checkbox in the previous page.");//need translation define("_DELETEGROUPOK","Group successfully deleted!");//need translation define("_GROUPNOTEMPTY","isn't empty and contains one ore more arguments.
    You will have to delete or move arguments before try to delete the group.");//need translation define("_ARGUMENTGROUP","Choose a group for the argument");//need translation define("_ARGUMENTNAME","Choose the name of the argument");//need translation define("_ARGUMENTLEVEL","Select a level");//need translation define("_ARGUMENTIMAGE","Choose an image for the argument");//need translation define("_ARGUMENTDESC","Write a description");//need translation define("_CREATEARGUMENT","Create argument");//need translation define("_ARGUMENTCREATED","Argument created");//need translation define("_ARGUMENTEXISTS","already exists in the group");//need translation define("_ARGUMENTCHANGENAME","change the name or choose another group.");//need translation define("_RENAMEARGUMENT","Rename argument");//need translation define("_RENAMETHEARGUMENT","Rename the argument");//need translation define("_ARGUMENTRENAMED","Argument successfully renamed");//need translation define("_SIZE","Size");//need translation define("_ARGUMENTEDIT","Edit argument");//need translation define("_ARGUMENTEDITED","Argument edited");//need translation define("_ARGUMENTMOVE","Choose in wich group to move the argument");//need translation define("_ARGUMENTMOVED","Argument successfully moved");//need translation define("_NOGROUP","There isn't a group where to move the argument");//need translation define("_NOTWRITABLE","isn't writable");//need translation define("_ARGUMENTLOCKED","Argument locked");//need translation define("_ARGALREADYLOCKED","The argument was already locked");//need translation define("_ARGUMENTUNLOCKED","Argument unlocked");//need translation define("_ARGALREADYUNLOCKED","The argument was already unlocked");//need translation define("_DELETEARGUMENT1","Do you really want delete the argument");//need translation define("_DELETEARGUMENT2","inside the group");//need translation define("_DELETEARGUMENT3","If you want do that please check the checkbox present below and press the OK button.
    Attention: all topic contained will be deleted!");//need translation define("_DELETEARGUMENT","delete the argument");//need translation define("_ARGUMENTDELETED","Argument successfully deleted");//need translation define("_DIRNOTDELETED","It was impossible to delete the dir");//need translation define("_FILENOTDELETED","It was impossible to delete the file");//need translation define("_DELETEARGNOCONFIRM","If you want to delete the argument you have to check the checkbox in the previous page."); define("_THEFILE","the file");//need translation define("_ASKDELETETOPIC","Are you sure do you want to delete the topic");//need translation define("_TOPICDELETED","Topic deleted");//need translation define("_CHOOSETOPICDEST","Choose where to move the topic");//need translation define("_TOPICMOVED","Topic moved");//need translation define("_TOPICNOTMOVED","It was impossible to move the topic");//need translation define("_TOPICHIDDEN","The topic is hidden");//need translation define("_TOPICSHOWED","The topic is shown");//need translation define("_TOPICLOCKED","The topic is locked");//need translation define("_TOPICUNLOCKED","The topic is unlocked");//need translation define("_VIEWFFLOG","View Flatforum's log");//need translation define("_VIEWFFERRORLOG","View Flatforum's error log");//need translation define("_ISSPAM","is considered spam");//need translation define("_LASTEDITBY","Last edit by");//need translation //2.7 define("_HIDDENMAIL","E-mail not visible");//need translation define("_POSTDELETED","Post deleted!");//need translation define("_THEDIR","The directory");//need translation define("_COMP_REG","It has been sended one email to you to the address:");//need translation define("_COMP_REG2"," with the instructions to complete the registration");//need translation define ("_ERREMAIL","E-mail address is not valid");//need translation define("_IST_REG_MAIL","To complete the registration click on the following link:");//need translation define("_COMP_REG_MAIL","Complete registration on");//need translation define("_THEMAIL","The e-mail");//need translation define("_MAILUSED","was already used for the registration of a user. Every e-mail address can be used only for the registration of one user.");//need translation define("_ACTIVATIONMAILNOTSENT","I was not able to send to you a mail with the activation code. Please contact the administrator of this site.");//need translation define("_WAITINGUSERLOGIN","You need to complete the registration process. Please follow the instructions sent you by e-mail.");//need translation define("_CONTACTADMIN","If you experience any problem, please contact the admin of the site");//need translation define("_MANAGESECTION","Manage section");//need translation define("_MANAGEFILE","Manage file");//need translation define("_FNCREATESUBSECTION","Create subsection");//need translation define("_FNCREATEFILE","Create file");//need translation define("_FNRENAMESECTION","Rename section");//need translation define("_FNDELETESECTION","Delete section");//need translation define("_FNRENAMEFILE","Rename file");//need translation define("_FNDELETEFILE","Delete file");//need translation define("_FNMOVESECTION","Move section");//need translation define("_FNMOVEFILE","Move file");//need translation define("_FNSECTIONPERM","Section permissions");//need translation define("_FNSECTIONRENAMED","Section renamed");//need translation define("_CREATE","Create");//need translation define("_FNSECTIONCREATED","Section created");//need translation define("_FNSECTIONDELETED","Section deleted");//need translation define("_FNSECTIONMOVED","Section moved");//need translation define("_FNFILECREATED","File created");//need translation define("_ERROR","Error");//need translation define("_FNFILEDELETED","File deleted");//need translation define("_MANAGEFLATNUKE","Manage Flatnuke");//need translation define("_FNFILERENAMED","File renamed");//need translation define("_GOTOFILE","Go to file");//need translation define("_FNCHOOSEDEST","Choose destination");//need translation define("_FNFILEMOVED","File moved");//need translation define("_EDITHTML","Edit html code");//need translation define("_EDITFCKEDITOR","Modifica with FCKEditor");//need translation define("_FNCHOOSEEDITOR","Choose the editor");//need translation define("_DELETESUBSECTIONS","You need to delete alla subsections");//need translation define("_FNVIEWPERMS","View permissions");//need translation define("_FNEDITPERMS","Edit permissions");//need translation define("_FNADDUSER","Add user");//need translation define("_FNREMOVEUSER","Remove user");//need translation define("_USERS","Users");//need translation define("_FNEDITSECTION","Edit section");//need translation define("_FNEDITFILE","Edit file");//need translation define("_FNMANAGESECTTITLE","Admin options for the current section");//need translation define("_FNMANAGEFILETITLE","Admin options for the current file");//need translation define("_FNMANAGEPERMSTITLE","Set view permissions for the current section");//need translation define("_FNUSERADDED","User added");//need translation define("_FNCHOOSEUSER","You must choose a user");//need translation define("_FNUSERREMOVED","User removed");//need translation define("_FNWRITEPERMS","Write permissions");//need translation define("_FNMANAGEEDITPERMSTITLE","Set edit permissions for the current section");//need translation define("_FNEDITALLOW1","Allow the user");//need translation define("_FNEDITALLOW2","to edit the section");//need translation define("_CANCEL","Cancel");//need translation define("_SECTIONTYPE","Section type");//need translation define("_STANDARD","Standard");//need translation define("_DOWNLOADMAIN","Download (with subcategories)");//need translation define("_DOWNLOADSINGLE","Download (single section)");//need translation define("_DOWNLOADMAINTITLE","Create a section that show files present in subsections");//need translation define("_DOWNLOADSINGLETITLE","Permit to load files in the section");//need translation define("_ISNOTADIR","is not a directory");//need translation define("_ISNOTAFILE","is not a file");//need translation define("_CHANGESECTTYPE","Change section type");//need translation define("_EXEC","Exec");//need translation define("_CHOOSEACTION","Choose action");//need translation define("_MANAGESECTNOTE","Edit section's text or choose an admin option on the right");//need translation define("_FNPRESENTATION","Presentation");//need translation // 2.7.1 define("_NEWPWDSTRING","Lost password");//need translation define("_NEWPWDFORM","Recover Password:

    To recover your password, please provide the e-mail address you have associated with your member account and click on the Submit button.
    The e-mail will also contain your NEW password.
    Pay attention on the fact that you will not be able to use your new password till you will validate the request; so, without validation, you still have to use the old password.");//need translation define("_NEWPWDFROM","Recover password from:");//need translation define("_NEWPWDMAIL","Hi __USERNAME__,\n this email has been sent to you from __SITEURL__ because someone asked to provide a new password for your account.\n If you didn't request anything, just ignore this email: your password will remain the same. To avoid errors or abuses, only you are able to validate password recovery.\n *** Continue only if you want to recover your password ***\n ------------------------------------------------ HOW TO VALIDATE THE REQUEST ------------------------------------------------\n To validate your request, just click on link below:\n __URLCONFIRMPASSWORDCHANGE__\n (your e-mail program should open the download page in your browser; if your e-mail program does not do this, you can paste the URL in your browser and press the Enter key to open the link).\n Once this process of activation/validation will be completed, you can login to the site using the new password you can find below. You can change your password at any time by editing your account information.\n ------------------------------------------------ YOUR NEW PASSWORD (AFTER VALIDATION) ------------------------------------------------\n Use your new password only after visiting the link in this e-mail.\n After validation, your new password will be: __REGCODE__\n Keep your password secure and do not share it with other people. You can change your password at any time by editing your account information.");//need translation ?>flatnuke-2.7.2/languages/it.php0000644000175000017500000006062311177637545016023 0ustar simonesimone * Marco Segato */ $giorni = array("Domenica","Lunedi","Martedi","Mercoledi","Giovedi","Venerdi","Sabato"); $mesi = array("Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"); //su alcune piattaforme e' necessario... $GLOBALS['giorni'] = $giorni; $GLOBALS['mesi'] = $mesi; define("_CHARSET","ISO-8859-1"); define("_CERCA","Cerca"); define("_CERCASTR","Cerca parola in:"); define("_ALLSITE","Tutto il sito"); define("_POSTATO","Pubblicato "); define("_LETTO","letto "); define("_VOLTE","volte"); define("_LEGGITUTTO","Leggi tutto"); define("_COMMENTI","Commenti"); define("_STAMPA","Stampa"); define("_INDIETRO","Indietro"); define("_PERARGOMENTI","Per argomenti"); define("_TITNOTIZIA","Titolo della notizia"); define("_ARGOMENTO","Argomento"); define("_INTMESSAGGIO","Intestazione messaggio"); define("_CORPOMESSAGGIO","Corpo messaggio"); define("_PASSWORD","Password"); define("_INSNOTIZIA","Inserisci notizia"); define("_SEGNEWS","Segnala News"); define("_ANTEPRIMA","Anteprima"); define("_SEGNNOTIZIE","Notizie segnalate"); define("_LEGGI","Leggile"); define("_TUONOME","Il tuo nome"); define("_BACKEND","Preleva file RSS/RDF"); define("_MOTD","Messaggio di benvenuto"); define("_MODIFICA","Modifica"); define("_NOMEUTENTE","Nome utente"); define("_LOGIN","Entra"); define("_LOGOUT","Esci"); define("_NONREG","Non sei ancora registrato?"); define("_REGORA","Registrati ora!"); define("_BENVENUTO","Benvenuto"); define("_ADDNEWS","Aggiungi una notizia"); define("_MODMOTD","Modifica benvenuto"); define("_DATA","Data"); define("_ORA","Ora"); define("_PASSERR","Password errata"); define("_ALERTSIG","La tua segnalazione stata inoltrata, l'admin provveder a pubblicarla"); define("_PUBNEWS","Pubblica"); define("_DELNEWS","Cancella"); define("_HASCRITTO","ha scritto"); define("_NONPUOI","Non lo puoi fare!"); define("_ADDCOMM","Aggiungi commento"); define("_DEVIREG","Devi essere registrato a"); define("_DEVIREG2","per inserire un commento!"); define("_DEVIREG3","per segnalare una notizia!"); define("_NORSS","Non trovo il file RSS!"); define("_ARTTR","Articolo tratto da:"); define("_URLREF","URL di riferimento:"); define("_DA","Da:"); define("_ELIMINA","Elimina"); define("_MAINMENUTITLE", "Menu"); define("_HOMEMENUTITLE", "Home"); define("_REMEMBERLOGIN", "Ricorda login"); define("_SITEURL","Indirizzo del sito"); define("_SITENAME","Nome del sito"); define("_THEME","Tema FlatNuke"); define("_NEWSPP","News visibili in home page"); define("_ADMIN","Nome del webmaster"); define("_ADMINM","Mail del webmaster"); define("_LANG","Lingua del sito"); define("_GUESTN","Un utente non registrato pu segnalare una news"); define("_GUESTC","Un utente non registrato pu inserire un commento"); define("_FUSO","Differenza di orario tra server e ora locale"); define("_TOPICPP","Topic forum per pagina"); define("_POSTPP","Post forum per pagina"); define("_MEMBRIPP","Membri forum per pagina"); define("_SECTNOTEXIST","Sezione non esistente!"); define("_NORESULT","Nessuna corrispondenza trovata"); define("_RELATEDNEWSLAST","Le ultime notizie relative a questo argomento"); define("_RELATEDNEWSALL","Tutte le notizie relative a questo argomento"); define("_NOPREVNEWS","Nessuna notizia pi vecchia"); define("_PREVNEWS","Notizia precedente"); define("_NONEXTNEWS","Nessuna notizia pi recente"); define("_NEXTNEWS","Notizia successiva"); define("_GOTOSECTION","Vai alla sezione"); define("_VIEW_USERPROFILE","Visualizza il profilo dell'utente"); define("_FREG","REGISTRAZIONE"); define("_FCAMPI","*=campi richiesti"); define("_FNOME","Nome"); define("_FEMAIL","E-mail"); define("_FHOME","Sito web"); define("_FPROFES","Professione"); define("_FPROV","Provenienza"); define("_FAVAT","Avatar"); define("_FAVATREM","Oppure indirizzo immagine remota"); define("_FFIRMA","Firma"); define("_FNUOVOTOP","Nuova discussione"); define("_FTITTOP","Titolo discussione"); define("_FNPAG","Pagine"); define("_FNMESS","Messaggi"); define("_FINIPOST","Messaggio iniziale"); define("_FULTPOST","Ultimo messaggio"); define("_FLOGIN","ENTRA"); define("_FERRCAMPO","Hai tralasciato qualche campo o hai commesso qualche errore di compilazione: nel nome puoi usare solo i caratteri (max. 13) a-z, A-Z, 0-9"); define("_FORAREG","Ora sei registrato"); define("_FUSERSCE","Nome utente gi scelto"); define("_FNONREG","non sei ancora registrato!"); define("_FERRPASS","hai sbagliato password!"); define("_FERRACC","Funzione riservata ad utenti registrati!"); define("_FMODPROF","Modifica profilo"); define("_FMODPROFTIT","MODIFICA PROFILO di"); define("_FDIVERS","solo se diversa"); define("_FINVIA","Invia"); define("_FOKMODPROF","Il profilo stato modificato"); define("_FRISP","Rispondi"); define("_FUTENTE","Utente"); define("_FMESS","Messaggio"); define("_FNUOVOMESS","Nuovo messaggio"); define("_FOGG","Oggetto"); define("_FTOPOK","Discussione creata"); define("_FLEGGI","Leggi"); define("_FMESSOK","Messaggio inviato"); define("_FIND","Indice Forum"); define("_FINDH","Home Page"); define("_BENVE","Benvenuto"); define("_SCON","sconosciuto"); define("_FGUIDA","Aiuto"); define("_FUTENTI","utenti registrati"); define("_FDELUTENTE","Elimina account"); define("_REG_AGREEMENT_TERMS","Anche se gli amministratori e i moderatori di questo forum cercheranno di rimuovere o modificare tutto il materiale contestabile il pi velocemente possibile, comunque impossibile verificare ogni messaggio. Tuttavia sei consapevole che tutti i messaggi di questo forum esprimono il punto di vista e le opinioni dell'autore e non quelle degli amministratori, dei moderatori o del webmaster (eccetto i messaggi degli stessi) e per questo non sono perseguibili.

    L'utente concorda di non inviare messaggi abusivi, osceni, volgari, diffamatori, di odio, minatori, sessuali o qualunque altro materiale che possa violare qualunque legge applicabile. Inserendo messaggi di questo tipo l'utente verr immediatamente e permanentemente escluso (e il tuo provider verr informato). L'indirizzo IP di tutti i messaggi viene registrato per aiutare a rinforzare queste condizioni. L'utente concorda che il webmaster, l'amministratore e i moderatori di questo forum hanno il diritto di rimuovere, modificare, o chiudere ogni Topic ogni volta che lo ritengano necessario. Come utente concordi che ogni informazione che stata inserita verr conservata in un database. Poich queste informazioni non verranno cedute a terzi senza il tuo consenso, il webmaster, l'amministratore e i moderatori non possono essere ritenuti responsabili per gli attacchi da parte di crackers che possano compromettere i dati.

    Questo forum usa i cookies per conservare informazioni sul tuo computer locale. Questi cookies non contengono le informazioni che hai inserito in precedenza, servono soltanto per migliorare il piacere della tua visita. L'indirizzo email non viene attualmente utilizzato in nessuna procedura automatica.

    Cliccando qui sotto accetti queste condizioni."); // taken & modified from PhpBB (http://www.phpbb.com/) define("_LEGAL","This is a free software released under the GNU General Public License."); define("_NOPUBNEWS","Non ci sono notizie segnalate"); define("_MOTDMESS","Benvenuti su Flatnuke

    Flatnuke un CMS (Content Management System) che non fa uso di DBMS, appoggiandosi esclusivamente a file di testo (da qui il nome).
    L'home page di Flatnuke questa.

    ATTENZIONE!
    Per amministrare il sito occorre creare un account, il primo utente che si registra sar amministratore (avr tutti i permessi)! >>CREALO ORA! <<

    Se hai apprezzato Flatnuke mandami una cartolina dalla tua citt! Trovi il mio indirizzo sul file AUTHOR"); define("_LEVEL","Livello"); define("_NOLEVELSECT","Non hai i permessi per visualizzare questa sezione"); define("_SICURO","Sei sicuro di volerlo fare?"); define("_FP_VOTA","Vota!"); define("_FP_RISULTATI","Risultati"); define("_FP_SONDAGGI","Sondaggi"); define("_FP_VECCHI","vecchi sondaggi"); define("_FP_ADMIN","Admin"); define("_FP_VOTITOTALI","voti totali"); define("_FP_VOTI","Voti"); define("_FP_GIAVOTATO","HAI GIA` VOTATO! Puoi esprimere 1 sola preferenza ogni"); define("_FP_ORE","ore"); define("_FP_VOTONONVALIDO","Non hai scelto nemmeno un'opzione, voto non valido!"); define("_FP_COMMENTI","Commenti"); define("_FP_ADDCOMM","Aggiungi commento"); define("_FP_DA","Da:"); define("_FP_SCON","sconosciuto"); define("_FP_FINVIA","Invia"); define("_FP_DEVIREG","Devi essere registrato a"); define("_FP_DEVIREG2","per inserire un commento!"); define("_FP_NOACTIVE","Nessun sondaggio attivo in questo momento:"); define("_FP_STATOSONDAGGIO","Stato del sondaggio"); define("_FP_APERTO","Aperto"); define("_FP_DOMANDASONDAGGIO","Domanda del sondaggio"); define("_FP_ISTRUZIONIMODIFICA","Inserisci qui sotto le opzioni che possono essere votate dagli utenti: perché una risposta da inserire sia valida, deve contenere sia l'opzione che il voto, quindi se crei una nuova risposta inserisci 0 come numero di voti!"); define("_FP_OPZIONENUM","Opzione numero"); define("_FP_MODIFICA","Modifica"); define("_FP_CHIUDIARCHIVIA","Chiudi e archivia"); define("_FP_MODIFICAOK","Il sondaggio stato modificato!"); define("_FP_NUOVOSONDAGGIO","Nuovo sondaggio"); define("_FP_OPZIONE","Opzione"); define("_FP_ARCHIVEOK","Il sondaggio stato archiviato!"); define("_FP_DELETEOK1","Il sondaggio chiuso il"); define("_FP_DELETEOK2","E' stato eliminato!"); define("_FP_CHIUSO","Chiuso"); define("_FP_ELIMINA","Elimina"); define("_FP_NONEOLD","Nessun sondaggio archiviato."); define("_FIG_TXT_PAGINA","Pagina "); define("_FIG_TXT_NOGD","Errore: Non trovata la libreria GD di PHP!"); define("_FIG_TXT_NOIMAGES","Nessuna immagine presente."); define("_FIG_ADMIN_SECT","Amministrazione della galleria di immagini"); define("_FIG_TXT_NUMCOLSROWS","Dimensioni tabella delle immagini: "); define("_FIG_TXT_NUMCOLS","colonne "); define("_FIG_TXT_NUMROWS"," righe "); define("_FIG_TXT_DIMTHUMBS","Altezza/larghezza anteprima (default 175px): "); define("_FIG_TXT_REGUPLOADS","Permetti uploads da utenti registrati (Y/N): "); define("_FIG_TXT_COMMENTI","Permetti inserimento commenti (Y/N): "); define("_FIG_TXT_DELCOMM","Svuota file con i commenti "); define("_FIG_TXT_UPLOAD","Aggiungi nuova immagine: "); define("_FIG_TXT_RENAME","Rinomina immagine: "); define("_FIG_TXT_DELETE","Elimina immagine caricata: "); define("_FIG_ALERTNOTWR","Directory non scrivibile"); define("_FIG_ALERTNOTIMG","Il file caricato non una immagine"); define("_FIG_ALERTIMGDEL","Immagine eliminata"); define("_FIG_ALERTEXIST","Attenzione, file gi esistente"); define("_FIG_ALERTUPOK","File caricato con successo"); define("_FIG_COMMENTI","Commenti"); define("_FIG_ADDCOMM","Aggiungi commento"); define("_FIG_DA","Da:"); define("_FIG_SCON","sconosciuto"); define("_FIG_FINVIA","Invia"); define("_FIG_RENAMEOK","Immagine rinominata!"); define("_FIG_RENAMENO","Immagine non rinominata!"); define("_FIG_DEVIREG","Devi essere registrato a"); define("_FIG_DEVIREG2","per inserire un commento!"); define("_FIG_INGRANDIRE","Clicca per ingrandire"); define("_MAINT","ATTENZIONE: sito in manutenzione."); define("_MAINT_MSG","L'amministratore pu eseguire il login dal form sottostante:"); define("_FASTNEWSSTR","Aggiungi questo link ai preferiti e usalo come scorciatoia per pubblicare le news in modo rapido e semplice:"); // 2.6 define("_SPAMALERT","Il testo del tuo messaggio considerato spam. Per piacere clicca su \"Indietro\" e modificalo."); define("_SEARCHDESC","Ricerca parole o frasi all'interno del sito."); define("_ADVSEARCH","Ricerca avanzata"); define("_ARGUMENT","Argomento"); define("_TOPICS","Discussioni"); define("_VIEWGROUPTITLE","Visualizza il gruppo"); define("_VIEWARGUMENTTITLE","Visualizza l'argomento"); define("_VIEWTOPICTITLE","Visualizza la discussione"); define("_ADMINS","Amministratori"); define("_MODERATORS","Moderatori"); define("_DELETEGROUP","Elimina gruppo"); define("_RENAMEGROUP","Rinomina gruppo"); define("_RENAME","Rinomina"); define("_MOVE","Sposta"); define("_LOCK","Blocca"); define("_UNLOCK","Sblocca"); define("_RENAMEARGTITLE","Rinomina l'argomento"); define("_EDITARGTITLE","Modifica l'argomento"); define("_MOVEARGTITLE","Sposta l'argomento"); define("_LOCKARGTITLE","Blocca l'argomento"); define("_UNLOCKARGTITLE","Sblocca l'argomento"); define("_DELETEARGTITLE","Elimina l'argomento"); define("_THEARGUMENT","l'argomento"); define("_FFCONTROLPANEL","Pannello di controllo del forum"); define("_NEWGROUP","Nuovo Gruppo"); define("_NEWARGUMENT","Nuovo Argomento"); define("_GOTOTHEPAGE","Vai alla pagina"); define("_GOTOTHEFIRSTPAGE","Vai alla prima pagina"); define("_GOTOTHELASTPAGE","Vai all'ultima pagina"); define("_GOTOTHEPREVIOUSPAGE","Vai alla pagina precedente"); define("_GOTOTHENEXTPAGE","Vai alla pagina successiva"); define("_EDITTOPIC","Modifica il topic"); define("_DELETETOPIC","Elimina il topic"); define("_MOVETOPIC","Sposta il topic"); define("_STICKYTOPIC","Evidenzia il topic"); define("_UNSTICKYTOPIC","Togli l'evidenziazione al topic"); define("_HIDETOPIC","Nascondi il topic"); define("_SHOWTOPIC","Mostra il topic"); define("_LOCKTOPIC","Blocca il topic"); define("_UNLOCKTOPIC","Sblocca il topic"); define("_STICKY","Evidenzia"); define("_UNSTICKY","Togli evidenziazione"); define("_HIDE","Nascondi"); define("_SHOW","Mostra"); define("_QUOTE","Quota"); define("_POSTSTICKY","Sempre in cima"); define("_NORMAL","Normale"); define("_QUOTEPOST","Quota il messaggio"); define("_EDITPOST","Modifica il messaggio"); define("_STICKYPOST","Mostra il messaggio sempre in cima"); define("_NORMALPOST","Mostra il messaggio nella sua posizione normale"); define("_DELETEPOST","Elimina il messaggio"); define("_MAILALERT","Avvisami via mail in caso di nuovi messaggi nella discussione"); define("_REMOVEMAILALERT","Rimuovi avviso via mail di nuovi messaggi"); define("_VIEWFORUMHOME","Visualizza la pagina principale del forum"); define("_FORUMBACKUP","Esegui il backup del forum"); define("_EDITFORUMMOTD","Modifica il messaggio di benvenuto del forum"); define("_EDITFORUMHELP","Modifica messaggio d'aiuto del forum"); define("_EDITFLANUKECONFIG","Modifica la configurazione di Flatnuke"); define("_EDITFORUMTHEME","Modifica il tema del forum"); define("_EDITSPAMFILTER","Modifica il filtro antispam"); define("_EDITFORUMRULES","Modifica il regolamento del forum"); define("_FORUMMANAGEMENT","Gestione del forum"); define("_CONFIG","Configurazione"); define("_CHOOSEGROUPNAME","Scegli il nome del gruppo"); define("_CREATEGROUP","Crea gruppo"); define("_GROUPCREATED","Gruppo creato!"); define("_THEGROUP","Il gruppo"); define("_ALREADYEXISTS","esiste gi. Scegliere un altro nome"); define("_RETURN","Ritorna"); define("_GROUPNOCHANGE","Attenzione! Il nome del gruppo non cambiato!"); define("_GROUPRENAMED","Gruppo rinominato con successo!"); define("_DOESNTEXISTS","non esiste"); define("_ATTENTION","Attenzione"); define("_DELETEGROUPALERT1","Sei sicuro di voler eliminare il gruppo"); define("_DELETEGROUPALERT2","Se sei sicuro di volerlo eliminare fai un segno di spunta nella casella sottostante e clicca su ok.
    Attenzione: sar possibile eliminare il gruppo soltanto se non contiene nessun argomento."); define("_DELETEGROUPALERT3","Elimina definivamente il gruppo"); define("_DELETEGROUPNOCONFIRM","Per confermare la volont di eliminare il gruppo devi fare un segno di spunta nel form precedente."); define("_DELETEGROUPOK","Gruppo eliminato correttamente!"); define("_GROUPNOTEMPTY","Non vuoto ma contiene ancora uno o pi argomenti.
    Prima di eliminarlo dovrete rimuovere o spostare gli argomenti contenuti"); define("_ARGUMENTGROUP","Scegli in quale gruppo creare l'argomento"); define("_ARGUMENTNAME","Scegli il nome dell'argomento"); define("_ARGUMENTLEVEL","Indica il livello dell'argomento"); define("_ARGUMENTIMAGE","Scegli un'immagine da associare all'argomento"); define("_ARGUMENTDESC","Indica una descrizione"); define("_CREATEARGUMENT","Crea argomento"); define("_ARGUMENTCREATED","Argomento creato"); define("_ARGUMENTEXISTS","esiste gi nel gruppo"); define("_ARGUMENTCHANGENAME","scegliere un altro nome o cambiare gruppo."); define("_RENAMEARGUMENT","Rinomina argomento con successo"); define("_RENAMETHEARGUMENT","Rinomina l'argomento"); define("_ARGUMENTRENAMED","Argomento rinominato"); define("_SIZE","Dimensione"); define("_ARGUMENTEDIT","Modifica argomento"); define("_ARGUMENTEDITED","Argomento modificato"); define("_ARGUMENTMOVE","Scegli in quale gruppo spostare l'argomento"); define("_ARGUMENTMOVED","Argomento spstato con successo"); define("_NOGROUP","Nessun gruppo disponibile in cui spostare l'argomento"); define("_NOTWRITABLE","non scrivibile"); define("_ARGUMENTLOCKED","Argomento bloccato"); define("_ARGALREADYLOCKED","L'argomento era gi bloccato"); define("_ARGUMENTUNLOCKED","Argomento sbloccato"); define("_ARGALREADYUNLOCKED","L'argomento era gi sbloccato"); define("_DELETEARGUMENT1","Sei sicuro di voler eliminare l'argomento"); define("_DELETEARGUMENT2","contenuto nell'argomento"); define("_DELETEARGUMENT3","Se sei sicuro di volerlo eliminare fai un segno di spunta nella casella sottostante e clicca su ok.
    Attenzione: tutti i topic saranno eliminati definitivamente!"); define("_DELETEARGUMENT","elimina l'argomento"); define("_ARGUMENTDELETED","Argomento eliminato con successo"); define("_DIRNOTDELETED","Non stato possibile eliminare la cartella"); define("_FILENOTDELETED","Non stato possibile eliminare il file"); define("_DELETEARGNOCONFIRM","Per confermare la volont di eliminare l'argomento devi fare un segno di spunta nel form precedente."); define("_THEFILE","il file"); define("_ASKDELETETOPIC","Sei sicuro di voler eliminare la discussione"); define("_TOPICDELETED","Discussione eliminata"); define("_CHOOSETOPICDEST","Scegli dove spostare la discussione"); define("_TOPICMOVED","Discussione spostata"); define("_TOPICNOTMOVED","Non sono riuscito a spostare la discussione"); define("_TOPICHIDDEN","Il topic sar nascosto"); define("_TOPICSHOWED","Il topic sar mostrato"); define("_TOPICLOCKED","Il topic sar bloccato"); define("_TOPICUNLOCKED","Il topic sar sbloccato"); define("_VIEWFFLOG","Visualizza il log di Flatforum"); define("_VIEWFFERRORLOG","Visualizza il log degli errori di Flatforum"); define("_ISSPAM","E' considerato spam"); define("_LASTEDITBY","Ultima modifica di"); //2.7 define("_HIDDENMAIL","Mail non visibile"); define("_POSTDELETED","Post eliminato!"); define("_THEDIR","La cartella"); define("_COMP_REG","Ti stata inviata una e-mail all' indirizzo:"); define("_COMP_REG2"," con le istruzioni per completare la registrazione"); define ("_ERREMAIL","Indirizzo email non valido"); define("_IST_REG_MAIL","Per completare la registrazione clicca sul seguente indirizzo:"); define("_COMP_REG_MAIL","Completa registrazione su"); define("_THEMAIL","L'e-mail"); define("_MAILUSED"," gi stata usata per la registrazione di un utente. Ogni indirizzo e-mail pu essere usato per la registrazione di un solo utente."); define("_ACTIVATIONMAILNOTSENT","Non sono riuscito a spedire l'e-mail di attivazione. Per piacere contatta l'amministratore del sito"); define("_WAITINGUSERLOGIN","Prima di effettuare il login necessario completare la procedura di registrazione seguendo le istruzioni riportate nella mail inviata dal portale."); define("_CONTACTADMIN","In caso di necessit contatta l'amministratore del sito."); define("_MANAGESECTION","Gestione sezione"); define("_MANAGEFILE","Gestione file"); define("_FNCREATESUBSECTION","Crea sottosezione"); define("_FNCREATEFILE","Crea un file"); define("_FNRENAMESECTION","Rinomina sezione"); define("_FNDELETESECTION","Elimina sezione"); define("_FNRENAMEFILE","Rinomina file"); define("_FNDELETEFILE","Elimina file"); define("_FNMOVESECTION","Sposta sezione"); define("_FNMOVEFILE","Sposta file"); define("_FNSECTIONPERM","Permessi sezione"); define("_FNSECTIONRENAMED","Sezione rinominata"); define("_CREATE","Crea"); define("_FNSECTIONCREATED","Sezione creata"); define("_FNSECTIONDELETED","Sezione eliminata"); define("_FNSECTIONMOVED","Sezione spostata"); define("_FNFILECREATED","File creato"); define("_ERROR","Errore"); define("_FNFILEDELETED","File eliminato"); define("_MANAGEFLATNUKE","Amministra Flatnuke"); define("_FNFILERENAMED","File rinominato"); define("_GOTOFILE","Vai al file"); define("_FNCHOOSEDEST","Scegli destinazione"); define("_FNFILEMOVED","File spostato"); define("_EDITHTML","Modifica codice html"); define("_EDITFCKEDITOR","Modifica con FCKEditor"); define("_FNCHOOSEEDITOR","Scegli l'editor"); define("_DELETESUBSECTIONS","Devi prima eliminare le sottosezioni"); define("_FNVIEWPERMS","Permessi visione"); define("_FNEDITPERMS","Permessi modifica"); define("_FNADDUSER","Aggiungi utente"); define("_FNREMOVEUSER","Rimuovi utente"); define("_USERS","Utenti"); define("_FNEDITSECTION","Modifica sezione"); define("_FNEDITFILE","Modifica file"); define("_FNMANAGESECTTITLE","Funzioni di amministrazione della sezione corrente"); define("_FNMANAGEFILETITLE","Funzioni di amministrazione del file corrente"); define("_FNMANAGEVIEWPERMSTITLE","Imposta i permessi di visione della sezione corrente"); define("_FNUSERADDED","Aggiunto utente"); define("_FNCHOOSEUSER","Devi scegliere un utente"); define("_FNUSERREMOVED","Utente rimosso"); define("_FNWRITEPERMS","Permessi scrittura"); define("_FNMANAGEEDITPERMSTITLE","Imposta i permessi di scrittura della sezione corrente"); define("_FNEDITALLOW1","Autorizzare l'utente"); define("_FNEDITALLOW2","a modificare la sezione"); define("_CANCEL","Annulla"); define("_SECTIONTYPE","Tipo sezione"); define("_STANDARD","Standard"); define("_DOWNLOADMAIN","Download (con sottocategorie)"); define("_DOWNLOADSINGLE","Download (singola sezione)"); define("_DOWNLOADMAINTITLE","Crea una pagina di riepilogo che mostra i file inseriti nelle sottosezioni"); define("_DOWNLOADSINGLETITLE","Permette di inserire file direttamente nella sezione"); define("_ISNOTADIR","non una cartella"); define("_ISNOTAFILE","non un file"); define("_CHANGESECTTYPE","Cambia tipo sezione"); define("_EXEC","Esegui"); define("_CHOOSEACTION","Scegli azione"); define("_MANAGESECTNOTE","Modifica il testo della sezione corrente o scegli un'opzione di amministrazione nell'elenco a destra"); define("_FNPRESENTATION","Presentazione"); // 2.7.1 define("_NEWPWDSTRING","Recupera password"); define("_NEWPWDFORM","Richiedi una nuova password:

    Inserisci il tuo indirizzo di posta elettronica; ti verrà immediatamente spedita una e-mail contenente le istruzioni su come convalidare la tua richiesta di recupero della password.
    L'e-mail inviata conterrà inoltre la tua NUOVA password.
    Presta bene attenzione al fatto che non sarai in grado di utilizzare la nuova password finché non avrai convalidato la richiesta; quindi, in mancanza di convalida, resterà valida la vecchia password."); define("_NEWPWDFROM","Richiesta nuova password da:"); define("_NEWPWDMAIL","Ciao __USERNAME__,\n questa e-mail ti stata inviata da __SITEURL__ in seguito ad una richiesta di recupero password.\n Se non hai fatto tu la richiesta di recupero, ignora questa e-mail: la tua vecchia password rimarr invariata. Per evitare errori o abusi, puoi convalidare soltanto tu la richiesta tramite questa e-mail.\n *** Continua solo se vuoi recuperare la password ***\n ------------------------------------------------ ISTRUZIONI PER CONVALIDARE LA RICHIESTA ------------------------------------------------\n Per convalidare la tua richiesta, clicca sul link fornito qui sotto:\n __URLCONFIRMPASSWORDCHANGE__\n (alcuni programmi di posta elettronica non permettono di cliccare il link sopra riportato, in tal caso copia ed incolla il link completo nella barra degli indirizzi del tuo browser).\n Una volta che il processo di attivazione/convalida sar completato, potrai collegarti al sito utilizzando la tua nuova password che trovi qui sotto. Potrai modificare questa password in ogni momento, utilizzando le funzioni del tuo pannello di controllo.\n ------------------------------------------------ LA TUA NUOVA PASSWORD (DOPO LA CONVALIDA) ------------------------------------------------\n Usa la nuova password solo dopo averla convalidata col link soprastante.\n Dopo la convalida, la tua nuova password sar: __REGCODE__\n Tieni la password in un luogo sicuro e lontano da occhi indiscreti. Se desideri cambiarla, usa il pannello di controllo presente nel sito."); ?>flatnuke-2.7.2/languages/de.php0000644000175000017500000006373311031011606015751 0ustar simonesimone * Bjorn Splinter of http://myflatnuke.org * Egle Mascolo */ $giorni = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"); $mesi = array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"); //su alcune piattaforme necessario... $GLOBALS['giorni'] = $giorni; $GLOBALS['mesi'] = $mesi; define("_CHARSET","ISO-8859-1"); define("_CERCA","Suchen"); define("_CERCASTR","Suchen in: "); define("_ALLSITE","gesamter Website"); define("_POSTATO","geposted "); define("_LETTO","gelesen "); define("_VOLTE","Male"); define("_LEGGITUTTO","Alles lesen"); define("_COMMENTI","Kommentare"); define("_STAMPA","Drucken"); define("_INDIETRO","Zurück"); define("_PERARGOMENTI","Nach Thema"); define("_TITNOTIZIA","Newstitel"); define("_ARGOMENTO","Thema"); define("_INTMESSAGGIO","Nachrichtenkopf"); define("_CORPOMESSAGGIO","Nachrichtenkörper"); define("_PASSWORD","Passwort"); define("_INSNOTIZIA","News hinzufügen"); define("_SEGNEWS","News vorschlagen"); define("_ANTEPRIMA","Vorschau"); define("_SEGNNOTIZIE","Wartende News lesen"); define("_LEGGI","Lies"); define("_TUONOME","Dein Name"); define("_BACKEND","RSS/RDF-Datei downloaden"); define("_MOTD","Willkommensnachricht"); define("_MODIFICA","Bearbeiten"); define("_NOMEUTENTE","Benutzername"); define("_LOGIN","Anmelden"); define("_LOGOUT","Abmelden"); define("_NONREG","Hast Du dich schon registriert?"); define("_REGORA","Jetzt registrieren!"); define("_BENVENUTO","Willkommen"); define("_ADDNEWS","News hinzufügen"); define("_MODMOTD","Willkommensnachricht bearbeiten"); define("_DATA","Datum"); define("_ORA","Zeit"); define("_PASSERR","Falsches Passwort"); define("_ALERTSIG","Dein Artikel wurde an den Administrator weitergeleitet"); define("_PUBNEWS","Veröffentlichen"); define("_DELNEWS","Löschen"); define("_HASCRITTO","schrieb"); define("_NONPUOI","Aktion nicht erlaubt!"); define("_ADDCOMM","Kommentar hinzufügen"); define("_DEVIREG","Du musst registriert sein"); define("_DEVIREG2","um einen Kommentar hinzuzufügen!"); define("_DEVIREG3","um News vorzuschlagen!"); define("_NORSS","Die RSS-Datei kann nicht gefunden werden!"); define("_ARTTR","Artikel veröffentlicht am:"); define("_URLREF","URL:"); define("_DA","von:"); define("_ELIMINA","löschen"); define("_MAINMENUTITLE", "Hauptmenü"); define("_HOMEMENUTITLE", "Startseite"); define("_REMEMBERLOGIN", "Login merken"); define("_SITEURL","URL der Site"); define("_SITENAME","Name der Site"); define("_THEME","FlatNuke Design"); define("_NEWSPP","Sichtbare News auf der Startseite"); define("_ADMIN","Name des Webmasters"); define("_ADMINM","Emailadresse des Webmasters"); define("_LANG","Seite Sprache"); define("_GUESTN","Anonyme Nutzer können News schreiben"); define("_GUESTC","Anonyme Nutzer können Kommentare schreiben"); define("_FUSO","Zeitunterschied zwischen Server und Heimatland der Site"); define("_TOPICPP","Forumthemen pro Seite"); define("_POSTPP","Forumposts pro Seite"); define("_MEMBRIPP","Angezeigte Benutzer pro Seite"); define("_SECTNOTEXIST","Sektion existiert nicht!"); define("_NORESULT","Keine passenden Ergebnisse"); define("_RELATEDNEWSLAST","Neueste Einträge in dieser Kategorie"); define("_RELATEDNEWSALL","Alle Einträge in dieser Kategorie"); define("_NOPREVNEWS","Keine vorherigen Artikel"); define("_PREVNEWS","Vorhergehende Artikel"); define("_NONEXTNEWS","Keine neueren Artikel"); define("_NEXTNEWS","Nächste Artikel"); define("_GOTOSECTION","Sektion ansehen"); define("_VIEW_USERPROFILE","Userprofil ansehen."); define("_FREG","REGISTRATION"); define("_FCAMPI","*=Pflichtfelder"); define("_FNOME","Name"); define("_FEMAIL","E-Mail"); define("_FHOME","Homepage"); define("_FPROFES","Beruf"); define("_FPROV","Bundesland"); define("_FAVAT","Avatar"); define("_FAVATREM","Oder Adresse eines Bildes im Web"); define("_FFIRMA","Signatur"); define("_FNUOVOTOP","Neues Thema"); define("_FTITTOP","Thementitel"); define("_FNPAG","Seiten"); define("_FNMESS","Nachrichten"); define("_FINIPOST","Erste Nachricht"); define("_FULTPOST","Letzte Nachricht"); define("_FLOGIN","Anmelden"); define("_FERRCAMPO","Du hast Felder übersprungen oder ungültige Zeichen eingegeben: gültige Eingaben sind Klein- (a-z) und Grossbuchstaben (A-Z),sowie Zahlen (0-9)!"); define("_FORAREG","Nun bist Du registriert"); define("_FUSERSCE","Den Benutzer gibts schon"); define("_FNONREG","Du bist noch nicht registriert!"); define("_FERRPASS","Du hast ein falsches Passwort eingegeben!"); define("_FERRACC","Diese Funktion ist nur für registrierte Benutzer!"); define("_FMODPROF","Profil bearbeiten"); define("_FMODPROFTIT","Profil bearbeiten von "); define("_FDIVERS","nur wenn verschieden"); define("_FINVIA","Abschicken"); define("_FOKMODPROF","Dein Profil wurde geändert"); define("_FRISP","Antworten"); define("_FUTENTE","Benutzer"); define("_FMESS","Nachricht"); define("_FNUOVOMESS","Neue Nachricht"); define("_FOGG","Betreff"); define("_FTOPOK","Thema angelegt"); define("_FLEGGI","Lesen"); define("_FMESSOK","Nachricht abgeschickt"); define("_FIND","Forum Inhaltsverzeichnis"); define("_FINDH","Homepage"); define("_BENVE","Willkommen"); define("_SCON","unbekannt"); define("_FGUIDA","Hilfe"); define("_FUTENTI","registrierte Benutzer"); define("_FDELUTENTE","Account löschen"); define("_REG_AGREEMENT_TERMS","Die Administratoren und Moderatoren dieses Forums versuchen mügliche anstüssige oder illegale Inhalte schnellstmüglichst zu lüschen oder bearbeiten; es ist jedoch unter Umständen nicht müglich, jeden einzelnen Post zu prüfen. Deshalb bestätigst Du mit Absenden dieses Formulars darüber Aufgeklärt zu sein, dass die Einträge in diesem Forum nur die Ansichten und Meinung des jeweiligen Autors wiederspiegeln, jedoch nicht die der Betreiber (Webmaster, Adminstratoren und Moderatoren) dieses Forums (ausser natürlich sie sind von betreffenden Personen), und diese deswegen nicht für den Inhalt solcher Einträge verantwortlich gemacht werden künnen.

    Du stimmst weiterhin zu, keine vulgären, obszünen, sexbezogenen, bedrohlichen, gewaltverherrlichenden oder sonstwie als anstüssig zu betrachtenden Inhalte in diesem Forum zu verüffentlichen, und auch die geltende Rechtslage zu achten. Missachtung dieses Punkts kann dazu führen, dass Du sofort und dauerhaft gebannt wirst (und eventuell dein Internetanbieter informiert wird). Um diese Müglichkeit zu haben werden zu allen Einträgen die IP-Adressen gespeichert. Du stimmst zu, dass die Betreiber dieses Forums das Recht haben, Inhalte frei zu lüschen, umbenennen, verschieben oder bearbeiten, wenn dies passend erscheint. Als registrierter Benutzer stimmst Du zu, dass die von Dir oben angegebenen Daten in einer Datenbank gespeichert werden. Diese Informationen werden vertraulich gehandhabt und nicht ohne Dein Wissen an Dritte weitergegeben, jedoch künnten Daten durch Versuche, den Server zu hacken unsicher werden. Du bestätigst hiermit, dass die Betreiber dieser Site für solche Probleme nicht verantwortlich gemacht werden künnen.

    Diese Forensoftware benutzt Cookies um Informationen auf Deinem heimischen Computer zu speichern. Diese Cookies enthalten keine der oben eingegebenen Daten; sie dienen nur dem optimalen Anzeigen der Website. Die Emailadresse wird von keiner automatischen Funktion benutzt.

    Durch klicken des 'Registrieren'-Knopfes bestätigst Du, dass Du diese Bestimmungen gelesen hast und akzeptierst."); // taken & modified from PhpBB (http://www.phpbb.com/) define("_LEGAL","Dies ist freie Software verüffentlicht unter der GNU General Public License."); define("_NOPUBNEWS","Keine geposteten News"); define("_MOTDMESS","Willkommen bei FlatNuke

    FlatNuke ist ein CMS (Content Management System) dass keine Datenbankanbindung benutzt, sondern alles in Textdateien speichert (daher auch der Name).
    Die Homepage von FlatNuke ist HIER.

    ACHTUNG!
    Zum konfigurieren der Site muss mindestens EIN registrierter Benutzer vorhanden sein, Der erste registrierte Benutzer wird Administrator (mit allen Rechten)! >>JETZT ERZEUGEN<<

    Wenn Du FlatNuke magst schick mir eine Postkarte aus deinem Wohnort! Meine Adresse findest Du in der Datei 'AUTHOR'"); define("_LEVEL","Benutzerlevel"); define("_NOLEVELSECT","Du hast nicht das Recht, diesen Inhalt zu betrachten"); define("_SICURO","Sicher, dass Du das tun willst?"); define("_FP_VOTA","Abstimmen!"); define("_FP_RISULTATI","Ergebnisse"); define("_FP_SONDAGGI","Umfragen"); define("_FP_VECCHI","Alte Umfragen"); define("_FP_ADMIN","Administration"); define("_FP_VOTITOTALI","Gesamtstimmen"); define("_FP_VOTI","Stimmen"); define("_FP_GIAVOTATO","Du hast schon gewählt, man kann nur alle"); define("_FP_ORE","Stunden eine Stimme abgeben"); define("_FP_VOTONONVALIDO","Nichts ausgewählt, Stimme nicht gültig!"); define("_FP_COMMENTI","Kommentare"); define("_FP_ADDCOMM","Kommentar hinzufügen"); define("_FP_DA","von:"); define("_FP_SCON","unbekannt"); define("_FP_FINVIA","Abschicken"); define("_FP_DEVIREG","Du musst registriert sein"); define("_FP_DEVIREG2","um einen Kommentar hinzuzufügen!"); define("_FP_NOACTIVE","Momentan keine aktive Umfrage vorhanden:"); define("_FP_STATOSONDAGGIO","Umfragestatus"); define("_FP_APERTO","Aktiv"); define("_FP_DOMANDASONDAGGIO","Frage"); define("_FP_ISTRUZIONIMODIFICA","Wähle die Antworten, die die Nutzer auswählen können:
    damit eine Antwort gültig ist, müssen sowohl die Option als auch das Stimmfeld ausgefüllt sein. Wenn du eine neue Antwort machst, tippe 0 als Zahl der Stimmen ein"); define("_FP_OPZIONENUM","Option Nummer"); define("_FP_MODIFICA","ändern"); define("_FP_CHIUDIARCHIVIA","Beenden und archivieren"); define("_FP_MODIFICAOK","die Umfrage ist geändert worden!"); define("_FP_NUOVOSONDAGGIO","neue Umfrage"); define("_FP_OPZIONE","Option"); define("_FP_ARCHIVEOK","die Umfrage ist archiviert worden!"); define("_FP_DELETEOK1","die"); define("_FP_DELETEOK2","gewählte Umfrage ist gelöscht worden!"); define("_FP_CHIUSO","Beendet"); define("_FP_ELIMINA","löschen"); define("_FP_NONEOLD","Keine gespeicherten Umfragen."); define("_FIG_TXT_PAGINA","Seite "); define("_FIG_TXT_NOGD","Fehler: GD library nicht gefunden (PHP)!"); define("_FIG_TXT_NOIMAGES","Keine Bilder."); define("_FIG_ADMIN_SECT","Gallerieadministration"); define("_FIG_TXT_NUMCOLSROWS","Bildtabelle Maße: "); define("_FIG_TXT_NUMCOLS","Spalten "); define("_FIG_TXT_NUMROWS"," Reihen "); define("_FIG_TXT_DIMTHUMBS","Thumbnail Höhe/Breite (Standartwert: 175px): "); define("_FIG_TXT_REGUPLOADS","Dürfen registrierte User Bilder hochladen? (Y/N): "); define("_FIG_TXT_COMMENTI","Kommentare erlauben? (Y/N): "); define("_FIG_TXT_DELCOMM","Kommentardatei leeren? "); define("_FIG_TXT_UPLOAD","Neues Bild zur Gallerie hinzufügen: "); define("_FIG_TXT_RENAME","Benennen Sie Bild um: "); define("_FIG_TXT_DELETE","Ein hochgeladenes Bild löschen: "); define("_FIG_ALERTNOTWR","Keine Schreibrechte für Verzeichnis!"); define("_FIG_ALERTNOTIMG","Die hochgeladene Datei ist KEIN Bild!"); define("_FIG_ALERTIMGDEL","Bild gelöscht"); define("_FIG_ALERTEXIST","Achtung: Datei existiert bereits"); define("_FIG_ALERTUPOK","Datei hochgeladen"); define("_FIG_COMMENTI","Kommentare"); define("_FIG_ADDCOMM","Kommentar hinzufügen"); define("_FIG_DA","von:"); define("_FIG_SCON","unbekannt"); define("_FIG_FINVIA","Abschicken"); define("_FIG_RENAMEOK","Bild umbenannt!"); define("_FIG_RENAMENO","Bild nicht umbenannt!"); define("_FIG_DEVIREG","Du musst registriert sein"); define("_FIG_DEVIREG2","um einen Kommentar hinzuzufügen!"); define("_FIG_INGRANDIRE","klicken Sie, um zu vergrößern"); define("_MAINT","ACHTUNG: Site aktiv."); define("_MAINT_MSG","Administratoranmeldung im Formular unten:"); define("_FASTNEWSSTR","Add this link to your bookmarks and use it to publish news in a very fast and simple way:"); // need translation // 2.6 define("_SPAMALERT","Der Text deines Posts hat den Spamfilter aktiviert. Bitte \"Zurück\" klicken und bearbeiten."); define("_SEARCHDESC","Auf dieser Website suchen."); define("_ADVSEARCH","Erweiterte Suche"); define("_ARGUMENT","Kategorie"); define("_TOPICS","Themen"); define("_VIEWGROUPTITLE","Unterforum ansehen"); define("_VIEWARGUMENTTITLE","Kategorie ansehen"); define("_VIEWTOPICTITLE","View the topic"); // need translation define("_ADMINS","Administratoren"); define("_MODERATORS","Moderatoren"); define("_DELETEGROUP","Unterforum löschen"); define("_RENAMEGROUP","Unterforum umbenennen"); define("_RENAME","Umbenennen"); define("_MOVE","Verschieben"); define("_LOCK","Sperren"); define("_UNLOCK","Sperre aufheben"); define("_RENAMEARGTITLE","Kategorie umbenennen"); define("_EDITARGTITLE","Kategorie bearbeiten"); define("_MOVEARGTITLE","Kategorie verschieben"); define("_LOCKARGTITLE","Kategorie sperren"); define("_UNLOCKARGTITLE","Kategorie öffnen"); define("_DELETEARGTITLE","Kategorie löschen"); define("_THEARGUMENT","die Kategorie"); define("_FFCONTROLPANEL","Forumadministration"); define("_NEWGROUP","Neues Unterforum"); define("_NEWARGUMENT","Neue Kategorie"); define("_GOTOTHEPAGE","Zur Seite wechseln"); define("_GOTOTHEFIRSTPAGE","Zur ersten Seite wechseln"); define("_GOTOTHELASTPAGE","Zur letzten Seite wechseln"); define("_GOTOTHEPREVIOUSPAGE","Zur vorigen Seite wechseln"); define("_GOTOTHENEXTPAGE","Zur nächsten Seite wechseln"); define("_EDITTOPIC","Thema bearbeiten"); define("_DELETETOPIC","Thema lüschen"); define("_MOVETOPIC","Thema verschieben"); define("_STICKYTOPIC","Sticky ans Thema"); define("_UNSTICKYTOPIC","Sticky entfernen"); define("_HIDETOPIC","Thema verstecken"); define("_SHOWTOPIC","Thema sichtbar machen"); define("_LOCKTOPIC","Thema sperren"); define("_UNLOCKTOPIC","Sperre aufheben"); define("_STICKY","Sticky"); define("_UNSTICKY","Sticky entfernen"); define("_HIDE","Verstecken"); define("_SHOW","Zeigen"); define("_QUOTE","Zitieren"); define("_POSTSTICKY","Sticky"); define("_NORMAL","Normal"); define("_QUOTEPOST","Post zitieren"); define("_EDITPOST","Post bearbeiten"); define("_STICKYPOST","Post oben anzeigen"); define("_NORMALPOST","Post in normaler Position anzeigen"); define("_DELETEPOST","Post lüschen"); define("_MAILALERT","Über neue Posts per Mail benachrichtigen"); define("_REMOVEMAILALERT","Mailbenachrichtigung bei neuen Posts deaktivieren"); define("_VIEWFORUMHOME","Startseite des Forums üffnen"); define("_FORUMBACKUP","Backup vom Forum machen"); define("_EDITFORUMMOTD","Begrüssungstext des Forums bearbeiten"); define("_EDITFORUMHELP","Hilfetext des Forums bearbeiten"); define("_EDITFLANUKECONFIG","Flatnukes Konfiguration bearbeiten"); define("_EDITFORUMTHEME","Forumdesign bearbeiten"); define("_EDITSPAMFILTER","Spamfilter bearbeiten"); define("_EDITFORUMRULES","Forumregeln bearbeiten"); define("_FORUMMANAGEMENT","Forenverwaltung"); define("_CONFIG","Konfiguration"); define("_CHOOSEGROUPNAME","Neues Unterforum- Name eingeben"); define("_CREATEGROUP","Unterforum erzeugen"); define("_GROUPCREATED","Unterforum erzeugt!"); define("_THEGROUP","Das Unterforum "); define("_ALREADYEXISTS","existiert bereits. Bitte anderen Namen auswählen."); define("_RETURN","Zurück"); define("_GROUPNOCHANGE","Achtung! Name konnte nicht geändert werden!"); define("_GROUPRENAMED","Forum erfolgreich umbenannt!"); define("_DOESNTEXISTS","existiert nicht!"); define("_ATTENTION","Achtung"); define("_DELETEGROUPALERT1","Unterforum WIRKLICH löschen"); define("_DELETEGROUPALERT2","In dem Fall bitte den Haken in de nächsten Zeile setzen und 'OK' klicken.
    Achtung: das Unterforum kann nur gelöscht werden, falls es keine Kategorien enthält ."); define("_DELETEGROUPALERT3","Unterforum definitiv löschen"); define("_DELETEGROUPNOCONFIRM","Wenn Du das Unterforum wirklich löschen willst musst du im vorigen Fenster den Haken zur Bestätigung setzen."); define("_DELETEGROUPOK","Unterforum erfolgreich gelöscht!"); define("_GROUPNOTEMPTY","enthält ein oder mehrere Kategorien.
    Vorm löschen des Unterforums musst Du diese verschieben oder löschen."); define("_ARGUMENTGROUP","Unterforum für Kategorie auswählen"); define("_ARGUMENTNAME","Name für Kategorie auswählen"); define("_ARGUMENTLEVEL","Benutzerlevel auswählen"); define("_ARGUMENTIMAGE","Bild für Katogorie wählen"); define("_ARGUMENTDESC","Beschreibung"); define("_CREATEARGUMENT","Kategorie erzeugen"); define("_ARGUMENTCREATED","Kategorie erzeugt"); define("_ARGUMENTEXISTS","existiert in diesem Unterforum schon"); define("_ARGUMENTCHANGENAME","Name ändern oder anderes Unterforum auswählen."); define("_RENAMEARGUMENT","Kategorie umbenennen"); define("_RENAMETHEARGUMENT","Kategorie umbenennen"); define("_ARGUMENTRENAMED","Kategorie umbenannt"); define("_SIZE","Grüsse"); define("_ARGUMENTEDIT","Kategorie bearbeiten"); define("_ARGUMENTEDITED","Kategorie bearbeitet"); define("_ARGUMENTMOVE","Bitte auswählen, in welchem Unterforum die Kategorie gespeichert werden soll"); define("_ARGUMENTMOVED","Kategorie erfolgreich verschoben"); define("_NOGROUP","Kein Unterforum zum verschieben vorhanden"); define("_NOTWRITABLE","is nicht beschreibbar"); define("_ARGUMENTLOCKED","Kategorie gesperrt"); define("_ARGALREADYLOCKED","Kategorie ist bereits gesperrt"); define("_ARGUMENTUNLOCKED","Kategorie freigegeben"); define("_ARGALREADYUNLOCKED","Kategorie ist bereits offen"); define("_DELETEARGUMENT1","Kategorie wirklich lüschen"); define("_DELETEARGUMENT2","in Unterforum "); define("_DELETEARGUMENT3","Wenn Du dies wirklich tun willst unten den Haken setzen und 'OK' klicken.
    Achtung: alle vorhandenen Themen werden gelüscht!"); define("_DELETEARGUMENT","Kategorie lüschen"); define("_ARGUMENTDELETED","Kategorie gelüscht"); define("_DIRNOTDELETED","Lüschen des Ordners nicht müglich"); define("_FILENOTDELETED","Lüschen der Datei nicht müglich"); define("_DELETEARGNOCONFIRM","Wenn Du die Kategorie wirklich lüschen willst auf der vorigen Seite den Haken zur Bestätigung setzen."); define("_THEFILE","die Datei"); define("_ASKDELETETOPIC","Bist Du sicher, dass Du das Thema lüschen willst"); define("_TOPICDELETED","Thema gelüscht"); define("_CHOOSETOPICDEST","Ziel zum verschieben auswählen"); define("_TOPICMOVED","Thema verschoben"); define("_TOPICNOTMOVED","Verschieben des Themas nicht müglich"); define("_TOPICHIDDEN","Das Thema ist versteckt"); define("_TOPICSHOWED","Das Thema ist sichtbar"); define("_TOPICLOCKED","Das Thema ist gesperrt"); define("_TOPICUNLOCKED","Das Thema ist offen"); define("_VIEWFFLOG","Forumlog ansehen"); define("_VIEWFFERRORLOG","Fehlerlog des Forums ansehen"); define("_ISSPAM","wird als Spam betrachtet"); define("_LASTEDITBY","Last edit by");//need translation //2.7 define("_HIDDENMAIL","E-mail not visible");//need translation define("_POSTDELETED","Post deleted!");//need translation define("_THEDIR","The directory");//need translation define("_COMP_REG","Eine E-mail wurde an die folgende Adresse geschickt:"); define("_COMP_REG2",". Die E-mail wird alle die noetige Anweisungen um die Registrierung fertigzustellen enthalten"); define ("_ERREMAIL","Ungueltige E-mail Adresse"); define("_IST_REG_MAIL","Um die Registrierung fertigzustellen, bitte die folgende Adresse anklicken:"); define("_THEMAIL","The e-mail");//need translation define("_MAILUSED","was already used for the registration of a user. Every e-mail address can be used only for the registration of one user.");//need translation define("_ACTIVATIONMAILNOTSENT","I was not able to send to you a mail with the activation code. Please contact the administrator of this site.");//need translation define("_WAITINGUSERLOGIN","You need to complete the registration process. Please follow the instructions sent you by e-mail.");//need translation define("_CONTACTADMIN","If you experience any problem, please contact the admin of the site");//need translation define("_MANAGESECTION","Manage section");//need translation define("_MANAGEFILE","Manage file");//need translation define("_FNCREATESUBSECTION","Create subsection");//need translation define("_FNCREATEFILE","Create file");//need translation define("_FNRENAMESECTION","Rename section");//need translation define("_FNDELETESECTION","Delete section");//need translation define("_FNRENAMEFILE","Rename file");//need translation define("_FNDELETEFILE","Delete file");//need translation define("_FNMOVESECTION","Move section");//need translation define("_FNMOVEFILE","Move file");//need translation define("_FNSECTIONPERM","Section permissions");//need translation define("_FNSECTIONRENAMED","Section renamed");//need translation define("_CREATE","Create");//need translation define("_FNSECTIONCREATED","Section created");//need translation define("_FNSECTIONDELETED","Section deleted");//need translation define("_FNSECTIONMOVED","Section moved");//need translation define("_FNFILECREATED","File created");//need translation define("_ERROR","Error");//need translation define("_FNFILEDELETED","File deleted");//need translation define("_MANAGEFLATNUKE","Manage Flatnuke");//need translation define("_FNFILERENAMED","File renamed");//need translation define("_GOTOFILE","Go to file");//need translation define("_FNCHOOSEDEST","Choose destination");//need translation define("_FNFILEMOVED","File moved");//need translation define("_EDITHTML","Edit html code");//need translation define("_EDITFCKEDITOR","Modifica with FCKEditor");//need translation define("_FNCHOOSEEDITOR","Choose the editor");//need translation define("_DELETESUBSECTIONS","You need to delete alla subsections");//need translation define("_FNVIEWPERMS","View permissions");//need translation define("_FNEDITPERMS","Edit permissions");//need translation define("_FNADDUSER","Add user");//need translation define("_FNREMOVEUSER","Remove user");//need translation define("_USERS","Users");//need translation define("_FNEDITSECTION","Edit section");//need translation define("_FNEDITFILE","Edit file");//need translation define("_FNMANAGESECTTITLE","Admin options for the current section");//need translation define("_FNMANAGEFILETITLE","Admin options for the current file");//need translation define("_FNMANAGEVIEWPERMSTITLE","Set view permissions for the current section");//need translation define("_FNUSERADDED","User added");//need translation define("_FNCHOOSEUSER","You must choose a user");//need translation define("_FNUSERREMOVED","User removed");//need translation define("_FNWRITEPERMS","Write permissions");//need translation define("_FNMANAGEEDITPERMSTITLE","Set edit permissions for the current section");//need translation define("_FNEDITALLOW1","Allow the user");//need translation define("_FNEDITALLOW2","to edit the section");//need translation define("_CANCEL","Cancel");//need translation define("_SECTIONTYPE","Section type");//need translation define("_STANDARD","Standard");//need translation define("_DOWNLOADMAIN","Download (with subcategories)");//need translation define("_DOWNLOADSINGLE","Download (single section)");//need translation define("_DOWNLOADMAINTITLE","Create a section that show files present in subsections");//need translation define("_DOWNLOADSINGLETITLE","Permit to load files in the section");//need translation define("_ISNOTADIR","is not a directory");//need translation define("_ISNOTAFILE","is not a file");//need translation define("_CHANGESECTTYPE","Change section type");//need translation define("_EXEC","Exec");//need translation define("_CHOOSEACTION","Choose action");//need translation define("_MANAGESECTNOTE","Edit section's text or choose an admin option on the right");//need translation define("_FNPRESENTATION","Presentation");//need translation // 2.7.1 define("_NEWPWDSTRING","Lost password");//need translation define("_NEWPWDFORM","Recover Password:

    To recover your password, please provide the e-mail address you have associated with your member account and click on the Submit button.
    The e-mail will also contain your NEW password.
    Pay attention on the fact that you will not be able to use your new password till you will validate the request; so, without validation, you still have to use the old password.");//need translation define("_NEWPWDFROM","Recover password from:");//need translation define("_NEWPWDMAIL","Hi __USERNAME__,\n this email has been sent to you from __SITEURL__ because someone asked to provide a new password for your account.\n If you didn't request anything, just ignore this email: your password will remain the same. To avoid errors or abuses, only you are able to validate password recovery.\n *** Continue only if you want to recover your password ***\n ------------------------------------------------ HOW TO VALIDATE THE REQUEST ------------------------------------------------\n To validate your request, just click on link below:\n __URLCONFIRMPASSWORDCHANGE__\n (your e-mail program should open the download page in your browser; if your e-mail program does not do this, you can paste the URL in your browser and press the Enter key to open the link).\n Once this process of activation/validation will be completed, you can login to the site using the new password you can find below. You can change your password at any time by editing your account information.\n ------------------------------------------------ YOUR NEW PASSWORD (AFTER VALIDATION) ------------------------------------------------\n Use your new password only after visiting the link in this e-mail.\n After validation, your new password will be: __REGCODE__\n Keep your password secure and do not share it with other people. You can change your password at any time by editing your account information.");//need translation ?>flatnuke-2.7.2/languages/fd+lang/0000755000175000017500000000000011177641445016167 5ustar simonesimoneflatnuke-2.7.2/languages/fd+lang/fd+it.php0000755000175000017500000001761310767674604017723 0ustar simonesimoneNon obbligatorio che il nuovo file abbia lo stesso nome del vecchio. Se il nome del nuovo file sar diverso dal vecchio, FlatDownloadPlus si occuper di modificare il riferimento al corrispondente file \".description\"
    Il vecchio file sar eliminato."); define("_FDEDITSAVE", "Salva modifiche"); define("_FDEDITDONE", "Ho applicato le modifiche"); define("_FDSHOWINBLOCKS","mostra il file nei blocchi di statistica"); define("_FDBLOCKS","Blocchi"); define("_FDUSERLABEL","Etichetta"); define("_FDUSERVALUE","Valore"); define("_FDUSERBOTH","Devono essere settati entrambi"); define("_FDBASIC","Base"); define("_FDADVANCED","Avanzate"); //Rename File define("_FDRENAMECHOOSE","Scegli un nuovo nome:"); define("_FDRENAMEEXTLIMIT","Per motivi di sicurezza non puoi modificare l'estensione del file."); define("_FDRENAMEFILE","Il file "); define("_FDRENAMENOFD","non gestito da FD+."); // define("_FDRENAME",""); define("_FDRENAMEOK","File rinominato con successo"); define("_FDRENAMENOTCHANGED","Il nuovo nome uguale al precedente."); define("_FDRENAMEEXISTS1","Esiste gi un file chiamato"); define("_FDRENAMEEXISTS2","nella cartella"); define("_FDRENAMECHANGENAME","Scegliere un altro nome."); define("_FDRENAMEALERT","Attenzione! ho avuto problemi a rinominare il file "); //Delete file define("_FDDELSURE","Sei sicuro di voler eliminare il file: "); define("_FDDEL", "Elimina"); define("_FDCANC", "Annulla"); define("_FDDELOK","ho eliminato correttamente: "); define("_FDAND","e"); //Archive file define("_FDARCHIVEOK","il file stato archiviato con successo."); define("_FDARCHIVEGO","vai alla cartella di archivio."); define("_FDRESTOREOK","il file stato ripristinato con successo."); define("_FDARCHIVERETURN","ritorna alla sezione di partenza"); define("_GOTOARCHIVEDIR","Vai alla cartella di archivio"); //Add file define("_FDADDWHERE","Aggiungi un nuovo file nella cartella: "); define("_FDADDHEADER","In questa pagina potrai mettere in download un nuovo file, nonch inserire tutte le informazioni descrittive."); define("_FDADDFOOTER","Qui sotto potrai selezionare il file da mettere in download."); define("_NOTVALIDEXT","L'estensione del file che hai cercato di caricare sul server non tra quelle supportate da FD+. Modifica la variabile $extensions all'inizio del file \"fd+.php\""); //upload file define("_FDTOOBIG","Attenzione!
    Il file troppo grande e non sar salvato sul server."); define("_FDUPLOADOK","file caricato con successo"); define("_FDUPLOADEXISTS","Attenzione! Esiste gi un file con lo stesso nome nella cartella prescelta.
    Prima di ripetere l'operazione eliminatelo.

    Se invece era vostra intenzione modificare il file messo in download, usate la funzione modifica."); define("_FDFILENOTSELECT","Devi selezionare un file!"); //save file define("_FDSAVESIZE","Attenzione! il file misura "); //move file define("_FDMOVE","Sposta"); define("_FDMOVEFILE","Sposta il file "); define("_FDMOVEFILESECTION"," nella sezione"); define("_FDMOVELINK","(clicca sul link per spostare)"); define("_FDMOVECONFIRM","Spostare il file "); define("_FDMOVEFAIL","Non sono riuscito a spostare il file "); define("_FDMOVESUCCESS","spostato con successo nella sezione"); define("_FDMOVETITLE","Sposta il file: "); define("_FDDIR","La cartella"); define("_FDNOTWRITE","non scrivibile!"); //creazione cartelle define("_FDCREATESECTDOWNLOAD","Crea sezione di Download"); define("_FDCREATESECT","Crea sezione"); define("_FDCREATESECTOK","creata con successo!"); define("_FDCREATEONLYDIR","sono riuscito a creare la cartella ma non a creare il file section.php"); define("_FDCREATEDIRERROR","Attenzione!: non sono riuscito a creare la directory: "); define("_FDCHECKPERM","Verificare i permessi."); define("_FDHIDDENSECT","sezione nascosta"); define("_FDCHOOSESECTNAME","Scegli il nome della sezione:"); define("_FDCREATESUBSECT","Crea una nuova sezione all'interno di: "); //Alert define("_FDDESCTOOLONG","Attenzione! la stringa contenente la descrizione troppo lunga!"); define("_FDNAMETOOLONG","Attenzione! la stringa contenente la descrizione troppo lunga!"); define("_FDREDONLYDIR","Attenzione: non possibile scrivere nella cartella. Verificare i permessi."); define("_FDERROR","Errore!"); //error define("_FDNONPUOI","Non lo puoi fare! (Errore di sicurezza.)
    "); define("_FDERROR1","Il file inviato eccede le dimensioni specificate nel parametro upload_max_filesize di php.ini."); define("_FDERROR2","Il file inviato eccede le dimensioni specificate nel parametro MAX_FILE_SIZE del form."); define("_FDERROR3","Upload eseguito parzialmente."); define("_FDERROR4","Nessun file stato inviato."); define("_FDERROR6","Cartella temporanea mancante."); define("_FDERROR7","Fallita la scrittura su disco."); //DOWNLOAD STATS define("_FDSECT","Sezione"); //TOP DOWNLOAD define("_FDTOPSTAT","Statistiche"); define("_FDTOPSTATS", "Statistiche Download"); //remote file/url define("_FDADDURL","Aggiungi file remoto"); define("_FDCHOOSEURL","Specifica l'url del file da mettere in download:"); //FDuser define("_FDWAITFORADMIN","Il file non sar immediatamente visibile. Attendere l'approvazione dell'amministratore del sito."); define("_FDLIMIT","Raggiunto il limite massimo di file proponibili.
    Attendi che l'amministratore pubblichi i file in attesa di approvazione."); define("_FDPUBLISHFILES","Pubblica i file"); define("_FDPROPOSE","Proponi un file"); define("_FDWAITINGFILES","file in attesa di validazione"); ?>flatnuke-2.7.2/languages/fd+lang/fd+pt.php0000644000175000017500000001645110767674604017726 0ustar simonesimone */ //User interface define("_FDNAME","Nome"); define("_FDSIZE","Tamanho"); define("_FDDATE","Date"); define("_FDVERSION", "Verso"); define("_FDDESC","Descrio"); define("_FDHITS","Hits"); define("_FDDOWNLOAD","DOWNLOAD!"); define("_FDSTAT","Descarregar Estatsticas"); define("_FDSTATTITLE","Ver estatsticas de downloads"); define("_FDDOWNLOADFILE","Descarregar o ficheiro: "); define("_FDARCHIVEDIR","Directrio de arquivo"); /*define("_GOTOSECTION","Go to the section");*/ define("_FDUPLOADER","Enviado por"); define("_FDUPLOADERTITLE","Ver perfil do utilizador"); define("_FDSUMMARY","Summary");//need translation define("_FDSUBDIRS","Subsections");//need translation define("_FDRATING","Rating");//need translation define("_FDRATEFILE","Rate this file");//need translation define("_FDALREADYRATED","You have already rated this file!");//need translation define("_FDVOTES","votes");//need translation define("_FDTOVOTEAFILE","to vote a file");//need translation define("_ENABLEVOTE","Enable vote");//need translation //Date format define("_FDDATEFORMAT","m/d/Y H:i:s"); //gpg sign define("_FDGPGSIGN","assinatura gpg"); define("_FDGPGSIGNTITLE","Descarregar assinatura gpg do ficheiro: "); define("_FDDELETESIG","Apagar assinatura"); //Admin define("_FDARCHIVE","Arquivo"); define("_FDRESTORE","Recuperar"); define("_FDEDIT","Editar"); define("_FDDELETE","Apagar"); define("_FDHIDE","Esconder"); define("_FDSHOW","Mostrar"); define("_FDRENAME","Renomear"); define("_FDADDFILE","Adiconar ficheiro"); define("_FDARCHIVETITLE","Arquivar o ficheiro: "); define("_FDRESTORETITLE","Recuperar o ficheiro: "); define("_FDEDITTITLE","Editar o ttulo para o ficheiro: "); define("_FDDELETETITLE","Apagar o ficheiro: "); define("_FDHIDETITLE","Esconder o ficheiro: "); define("_FDSHOWTITLE","Fazer visvel o ficheiro: "); define("_FDRENAMETITLE","Renomear o ficheiro: "); define("_FDADDFILETITLE","Adicionar ficheiro nesta seco."); define("_FADMINPANEL","Admin panel");//need translation define("_FDALLOWUSERUPLOAD","Allow users to propose files in this section");//need translation define("_FDBACK","Trs"); //Edit/Add file define("_FDRETURN","Retornar"); define("_FDEDITDESC","Editar descrio do ficheiro: "); define("_FDEDITHEADER","Nesta pgina pode editar a descrio do ficheiro gerido por FlatDownloadPlus. As mudanas sero gravadas no ficheiro: "); define("_FDEDITFOOTER","Pode tambm mudar o ficheiro em si.
    O novo ficheiro pode ter um nome diferente. Se o novo nome diferente, fd+ mudar a correspondente \".descrio\".
    O ficheiro antigo ser apagado."); define("_FDEDITSAVE", "Gravar mudanas"); define("_FDEDITDONE", "Mudanas aplicadas"); define("_FDBASIC","Basic");//need translation define("_FDADVANCED","Advanced");//need translation //Rename File define("_FDRENAMECHOOSE","Escolher um novo nome: "); define("_FDRENAMEEXTLIMIT","No possvel editar a extenso do ficheiro."); define("_FDRENAMEFILE","O ficheiro "); define("_FDRENAMENOFD","no um ficheiro FD+."); define("_FDRENAMEOK","Ficheiro renomeado com sucesso."); define("_FDRENAMENOTCHANGED","Nome do ficheiro no foi mudado."); define("_FDRENAMEEXISTS1","J existe ficheiro chamado"); define("_FDRENAMEEXISTS2","no directrio"); define("_FDRENAMECHANGENAME","Escolhe outro nome."); define("_FDRENAMEALERT","Ateno! O ficheiro no pde ser renomeado"); //Delete file define("_FDDELSURE","Tem certeza que quer apagar o ficheiro: "); define("_FDDEL", "Apagar"); define("_FDCANC", "Cancelar"); define("_FDDELOK","Ficheiros apagados: "); define("_FDAND","and"); //Archive file define("_FDARCHIVEOK","Ficheiro arquivado."); define("_FDARCHIVEGO","Ir para o directrio de arquivo."); define("_FDRESTOREOK","O ficheiro foi recuperado com sucesso"); define("_FDARCHIVERETURN","retornar para a seco anterior"); define("_GOTOARCHIVEDIR","Ir para a seco de arquivo"); //Add file define("_FDADDWHERE","Adicionar novo ficheiro na directoria: "); define("_FDADDHEADER","Aqui pode adicionar outro ficheiro para a pasta corrente"); define("_FDADDFOOTER","Escolhe um ficheiro no seu disco rigido."); define("_NOTVALIDEXT","A extenso deste ficheiro no suportada por FD+. Adicionar esta extenso na varivel $extenses do ficheiro \"fd+.php\""); //save file define("_FDSAVESIZE","Ateno! O tamanho do ficheiro "); //move file define("_FDMOVE","Mover"); define("_FDMOVEFILE","Mover o ficheiro "); define("_FDMOVEFILESECTION"," para a seco"); define("_FDMOVELINK","(clicar no link para mover)"); define("_FDMOVECONFIRM","Mover o ficheiro "); define("_FDMOVEFAIL","No possvel mover o ficheiro "); define("_FDMOVESUCCESS","movido com sucesso"); define("_FDMOVETITLE","Mover o ficheiro: "); define("_FDDIR","O directrio"); //creazione cartelle define("_FDCREATESECTDOWNLOAD","Seco de Download criada"); define("_FDCREATESECT","Criar seco"); define("_FDCREATESECTOK","criado com sucesso!"); define("_FDCREATEONLYDIR","Seco criada, mas no foi possivel criar o ficheiro section.php"); define("_FDCREATEDIRERROR","Ateno!: No pde ser criada a seco: "); define("_FDCHECKPERM","Verificar permisses de escrita."); define("_FDHIDDENSECT","esconder seco"); define("_FDCHOOSESECTNAME","Escolher o nome da seco:"); define("_FDCREATESUBSECT","Criar uma seco em: "); define("_FDNOTWRITE","is not writeable!"); //upload file define("_FDTOOBIG","Ateno!
    Este ficheiro no pode ser enviado para o servidor por ser muito grande."); define("_FDUPLOADOK","Ficheiro enviado com sucesso."); define("_FDUPLOADEXISTS","Ateno! Na directoria seleccionada esiste um ficheiro com o mesmo nome.
    Se quer modificar este ficheiro ou a descrio relacionada, usa a funo Editar."); define("_FDFILENOTSELECT","Seleccione um ficheiro!"); //Alert define("_FDDESCTOOLONG","Ateno! a descrio muito longa."); define("_FDNAMETOOLONG","Ateno! o ttulo muito longo."); define("_FDREDONLYDIR","Ateno: verificar permisso de escrita nesta directoria."); define("_FDERROR","Erro!"); //error define("_FDNONPUOI","You may not do that! (erro de segurana.)
    FDPlus: linha "); define("_FDERROR1","O ficheiro enviado excede o upload_max_filesize directive in php.ini."); define("_FDERROR2","O ficheiro enviado excede o MAX_FILE_SIZE directive que foi especificado no formulrio HTML."); define("_FDERROR3","O ficheiro enviado o foi apenas parcialmente."); define("_FDERROR4","Nenhum ficheiro foi enviado."); define("_FDERROR6","Falta pasta temporria."); define("_FDERROR7","A escrita do ficheiro no disco falhou."); //DOWNLOAD STATS define("_FDSECT","Section"); define("_FDTOPSTATS", "Descarregar Estatsticas"); //TOP DOWNLOAD define("_FDTOPSTAT","Estatsticas"); //remote file/url define("_FDADDURL","Add remote file"); define("_FDCHOOSEURL","Specify the url of the file:"); //FDuser define("_FDWAITFORADMIN","The file will not be immediately visible. Wait for site's administrator approval.");//need translation define("_FDLIMIT","Raggiunto il limite massimo di file proponibili.
    Attendi che l'amministratore pubblichi i file in attesa di approvazione."); //need translation define("_FDPUBLISHFILES","Publish files");//need translation define("_FDPROPOSE","Propose a file");//need translation define("_FDWAITINGFILES","files waiting validation");//need translation ?> flatnuke-2.7.2/languages/fd+lang/fd+de.php0000644000175000017500000002337210767674604017673 0ustar simonesimone Author /* @author Bjoern Splinter Translator */ //Benutzerinterface define("_FDNAME","Name"); define("_FDSIZE","Grösse"); define("_FDDATE","Herausgekommen am");//need translation (new string="Date") define("_FDVERSION", "Version"); define("_FDDESC","Beschreibung"); define("_FDHITS","Hits"); define("_FDDOWNLOAD","HERUNTERLADEN!"); define("_FDSTAT","Downloadstatistik"); define("_FDSTATTITLE","Downloadstatistik ansehen"); define("_FDDOWNLOADFILE","Datei herunterladen: "); define("_FDARCHIVEDIR","Archivverzeichnis"); /*define("_GOTOSECTION","Sektion ansehen");*/ define("_FDUPLOADER","Hochgeladen von"); define("_FDUPLOADERTITLE","Userprofil ansehen"); define("_FDSUMMARY","Summary");//need translation define("_FDSUBDIRS","Subsections");//need translation define("_FDRATING","Rating");//need translation define("_FDRATEFILE","Rate this file");//need translation define("_FDALREADYRATED","You have already rated this file!");//need translation define("_FDVOTES","votes");//need translation define("_FDTOVOTEAFILE","to vote a file");//need translation define("_ENABLEVOTE","Enable vote");//need translation //Datumsformat define("_FDDATEFORMAT","d/m/Y H:i:s"); //gpg signatur define("_FDGPGSIGN","GPG Signatur"); define("_FDGPGSIGNTITLE","GPG Signatur dieser Datei herunterladen: "); define("_FDDELETESIG","Signatur löschen"); //screenshot define("_FDDELETESCREEN","Delete screenshot");//need translation define("_FDSCREENSHOT","Screenshot of the file: "); //need translation //Administration define("_FDARCHIVE","Archivieren"); define("_FDRESTORE","Wiederherstellen"); define("_FDEDIT","Bearbeiten"); define("_FDDELETE","Löschen"); define("_FDHIDE","Verstecken"); define("_FDSHOW","Zeigen"); define("_FDRENAME","Umbenennen"); define("_FDPUBLISH","Publish");//need translation define("_FDADDFILE","Datei hinzufügen"); define("_FDARCHIVETITLE","Datei archivieren: "); define("_FDRESTORETITLE","Datei wiederherstellen: "); define("_FDEDITTITLE","Dateititel bearbeiten: "); define("_FDDELETETITLE","Datei löschen: "); define("_FDHIDETITLE","Datei verstecken: "); define("_FDSHOWTITLE","Datei sichtbar machen: "); define("_FDRENAMETITLE","Datei umbenennen: "); define("_FDADDFILETITLE","Datei zu dieser Sektion hinzufügen."); define("_FADMINPANEL","Admin panel");//need translazione define("_FDALLOWUSERUPLOAD","Allow users to propose files in this section");//need translation define("_FDBACK","Zurück"); //Edit/Add file define("_FDRETURN","Return"); define("_FDEDITDESC","Dateibeschreibung bearbeiten: "); define("_FDEDITHEADER","Auf dieser Seite kannst Du die Beschreibung dieses Eintrags ändern. Änderungen werden gespeichert in: "); define("_FDEDITFOOTER","Du kannst auch die Datei selbst ändern.
    Die neue Datei kann einen anderen Namen haben, fd+ wird die zugehörige  \".description\" automatisch ändern
     und die alte Datei löschen."); define("_FDEDITSAVE", "Änderung speichern"); define("_FDEDITDONE", "Änderungen gespeichert"); define("_FDSHOWINBLOCKS","Show file in statistics blocks"); //need translation define("_FDBLOCKS","Blocks"); //need translation define("_FDUSERLABEL","Label"); //need translation define("_FDUSERVALUE","Value"); //need translation define("_FDUSERBOTH","Devono essere settati entrambi"); //need translation define("_FDBASIC","Basic");//need translation define("_FDADVANCED","Advanced");//need translation //Rename File define("_FDRENAMECHOOSE","Neuen Namen auswählen: "); define("_FDRENAMEEXTLIMIT","Die Dateierweiterung kann nicht geändert werden!."); define("_FDRENAMEFILE","Die Datei "); define("_FDRENAMENOFD","ist keine FD+-Datei."); define("_FDRENAMEOK","Umbenennen erfolgreich."); define("_FDRENAMENOTCHANGED","Name nicht geändert."); define("_FDRENAMEEXISTS1","Eine Datei mit Namen"); define("_FDRENAMEEXISTS2","ist im Verzeichnis bereits vorhanden!"); define("_FDRENAMECHANGENAME","Anderen Namen angeben."); define("_FDRENAMEALERT","ACHTUNG! Datei kann nicht umbenannt werden"); //Delete file define("_FDDELSURE","Bist Du sicher, dass Du folgende Dateien löschen willst: "); define("_FDDEL", "Löschen"); define("_FDCANC", "Abbrechen"); define("_FDDELOK","Dateien gelöscht: "); define("_FDAND","und"); //Archive file define("_FDARCHIVEOK","Datei archiviert."); define("_FDARCHIVEGO","Zum Archivverzeichnis gehen."); define("_FDRESTOREOK","Datei erfolgreich wiederhergestellt"); define("_FDARCHIVERETURN","zurück zur vorherigen Sektion"); define("_GOTOARCHIVEDIR","Zur Archivsektion gehen"); //Add file define("_FDADDWHERE","Neue Datei zum Verzeichnis hinzufügen: "); define("_FDADDHEADER","Auf dieser Seite kannst Du eine neue Datei zum Verzeichnis hinzufügen"); define("_FDADDFOOTER","Eine Datei auf deinem Rechner auswählen."); define("_NOTVALIDEXT","Die Erweiterung dieser Datei wird von FD+ nicht unterstützt. Bitte füge zuerst diese Erweiterung zur Variable $extensions in der Datei \"fd+.php\" hinzu"); //save file define("_FDSAVESIZE","ACHTUNG! Dateigrösse ist "); //move file define("_FDMOVE","Verschieben"); define("_FDMOVEFILE","Datei verschieben "); define("_FDMOVEFILESECTION"," nach Sektion"); define("_FDMOVELINK","(zum Verschieben auf die Verknüpfung klicken)"); define("_FDMOVECONFIRM","Datei verschieben "); define("_FDMOVEFAIL","Verschieben der Datei nicht möglich "); define("_FDMOVESUCCESS","erfolgreich verschoben"); define("_FDMOVETITLE","Folgende Datei verschieben: "); define("_FDDIR","Das Verzeichnis"); //creazione cartelle define("_FDCREATESECTDOWNLOAD","Downloadsektion erzeugen"); define("_FDCREATESECT","Sektion erzeugen"); define("_FDCREATESECTOK","erfolgreich erzeugt!"); define("_FDCREATEONLYDIR","Sektion erzeugt, Datei section.php konnte aber nicht erstellt werden!"); define("_FDCREATEDIRERROR","ACHTUNG!: folgende Sektion konnte nicht erstellt werden: "); define("_FDCHECKPERM","Schreibrechte überprüfen."); define("_FDHIDDENSECT","versteckte Sektion"); define("_FDCHOOSESECTNAME","Name der Sektion eingeben:"); define("_FDCREATESUBSECT","Sektion erstellen in: "); define("_FDNOTWRITE","ist nicht beschreibbar!"); //upload file define("_FDTOOBIG","ACHTUNG!
    Diese Datei wird nicht hochgeladen, da sie zu gross ist."); define("_FDUPLOADOK","Datei erfolgreich hochgeladen."); define("_FDUPLOADEXISTS","ACHTUNG! Im ausgewählten Verzeichnis existiert bereits eine Datei mit diesem Namen. 
     Um diese Datei oder die zugehörige Beschreibung zu ändern bitte die Bearbeitungsfunktion nutzen."); define("_FDFILENOTSELECT","Datei auswählen!"); //Alert define("_FDDESCTOOLONG","ACHTUNG! Beschreibung zu lang."); define("_FDNAMETOOLONG","ACHTUNG! Titel zu lang."); define("_FDREDONLYDIR","ACHTUNG: bitte Schreibrechte für dieses Verzeichnis überprüfen."); define("_FDERROR","Fehler!"); //error define("_FDNONPUOI","Aktion nicht erlaubt! (Sichrheitsfehler.)
    "); define("_FDERROR1","Die hochgeladene Datei ist grösser als die \"upload_max_filesize\"-Direktive in der php.ini."); define("_FDERROR2","Die hochgeladene Datei ist grösser als die \"MAX_FILE_SIZE\"-Direktive im HTMLformular."); define("_FDERROR3","Datei nur teilweise hochgeladen."); define("_FDERROR4","Keine Datei hochgeladen."); define("_FDERROR6","Temporäres Verzeichnis nicht vorhanden."); define("_FDERROR7","Konnte Datei nicht speichern, Schreibvorgang fehlgeschlagen."); //DOWNLOAD STATS define("_FDSECT","Sektion"); define("_FDTOPSTATS","Download Statistiken"); //TOP DOWNLOAD define("_FDTOPSTAT","Statistik"); //remote file/url define("_FDADDURL","Add remote file"); //need translation define("_FDCHOOSEURL","Specify the url of the file:"); //need translation //FDuser define("_FDWAITFORADMIN","The file will not be immediately visible. Wait for site's administrator approval."); //need translation define("_FDLIMIT","Raggiunto il limite massimo di file proponibili.
    Attendi che l'amministratore pubblichi i file in attesa di approvazione."); //need translation define("_FDPUBLISHFILES","Publish files"); //need translation define("_FDPROPOSE","Propose a file");//need translation define("_FDWAITINGFILES","files waiting validation");//need translation ?> flatnuke-2.7.2/languages/fd+lang/fd+en.php0000644000175000017500000001632010767674604017700 0ustar simonesimone Author /* @author Bjoern Splinter Corrections */ //User interface define("_FDNAME","Name"); define("_FDSIZE","Size"); define("_FDDATE","Date"); define("_FDVERSION", "Version"); define("_FDDESC","Description"); define("_FDHITS","Hits"); define("_FDDOWNLOAD","DOWNLOAD!"); define("_FDSTAT","Download Statistics"); define("_FDSTATTITLE","View download statistics"); define("_FDDOWNLOADFILE","Download the file: "); define("_FDARCHIVEDIR","Archive dir"); /*define("_GOTOSECTION","Go to the section");*/ define("_FDUPLOADER","Uploaded by"); define("_FDUPLOADERTITLE","View user's profile"); define("_FDSUMMARY","Summary"); define("_FDSUBDIRS","Subsections"); define("_FDRATING","Rating"); define("_FDRATEFILE","Rate this file"); define("_FDALREADYRATED","You have already rated this file!"); define("_FDVOTES","votes"); define("_FDTOVOTEAFILE","to vote a file"); define("_ENABLEVOTE","Enable vote"); //Date format define("_FDDATEFORMAT","m/d/Y H:i:s"); //gpg sign define("_FDGPGSIGN","gpg signature"); define("_FDGPGSIGNTITLE","Download the gpg signature of the file: "); define("_FDDELETESIG","Delete signature"); //screenshot define("_FDDELETESCREEN","Delete screenshot"); define("_FDSCREENSHOT","Screenshot of the file: "); //Admin define("_FDARCHIVE","Archive"); define("_FDRESTORE","Restore"); define("_FDEDIT","Edit"); define("_FDDELETE","Delete"); define("_FDHIDE","Hide"); define("_FDSHOW","Show"); define("_FDRENAME","Rename"); define("_FDPUBLISH","Publish"); define("_FDADDFILE","Add file"); define("_FDARCHIVETITLE","Archive the file: "); define("_FDRESTORETITLE","Restore the file: "); define("_FDEDITTITLE","Edit title for the file: "); define("_FDDELETETITLE","Delete the file: "); define("_FDHIDETITLE","Hide the file: "); define("_FDSHOWTITLE","Make visible the file: "); define("_FDRENAMETITLE","Rename the file: "); define("_FDADDFILETITLE","Add file in this section."); define("_FADMINPANEL","Admin panel"); define("_FDALLOWUSERUPLOAD","Allow users to propose files in this section"); define("_FDBACK","Back"); //Edit/Add file define("_FDRETURN","Return"); define("_FDEDITDESC","Edit the description of the file: "); define("_FDEDITHEADER","In this page you can edit the description of the file managed by FlatDownloadPlus. Changes will be saved in the file: "); define("_FDEDITFOOTER","You can also change the file itself.
    The new file may have a different name. If the new name is different, fd+ will change the correspondent \".description\".
    The old file will be deleted."); define("_FDEDITSAVE", "Save changes"); define("_FDEDITDONE", "Changes applied"); define("_FDSHOWINBLOCKS","Show file in statistics blocks"); define("_FDBLOCKS","Blocks"); define("_FDUSERLABEL","Label"); define("_FDUSERVALUE","Value"); define("_FDUSERBOTH","Both required"); define("_FDBASIC","Basic"); define("_FDADVANCED","Advanced"); //Rename File define("_FDRENAMECHOOSE","Choose a new name: "); define("_FDRENAMEEXTLIMIT","It isn't possible to change the extension of the file."); define("_FDRENAMEFILE","The file "); define("_FDRENAMENOFD","isn't a FD+'s file."); define("_FDRENAMEOK","File succesfully renamed."); define("_FDRENAMENOTCHANGED","File name not changed."); define("_FDRENAMEEXISTS1","Already exist a file called"); define("_FDRENAMEEXISTS2","in the dir"); define("_FDRENAMECHANGENAME","Choose another name."); define("_FDRENAMEALERT","Attention! I cannot rename the file"); //Delete file define("_FDDELSURE","Are you sure you want to delete the file: "); define("_FDDEL", "Delete"); define("_FDCANC", "Cancel"); define("_FDDELOK","Files deleted: "); define("_FDAND","and"); //Archive file define("_FDARCHIVEOK","File archived."); define("_FDARCHIVEGO","Go to the archive directory."); define("_FDRESTOREOK","The file was successfully restored"); define("_FDARCHIVERETURN","return to the previous section"); define("_GOTOARCHIVEDIR","Go to the archive section"); //Add file define("_FDADDWHERE","Add new file in the directory: "); define("_FDADDHEADER","Here you can add another file To the current folder"); define("_FDADDFOOTER","Choose a file on your hard-disk."); define("_NOTVALIDEXT","The extension of this file is not suported by FD+. Add this extension in the variable $extensions in the file \"fd+.php\""); //save file define("_FDSAVESIZE","Attention! filesize is "); //move file define("_FDMOVE","Move"); define("_FDMOVEFILE","Move the file "); define("_FDMOVEFILESECTION"," to the section"); define("_FDMOVELINK","(click on the link for to move)"); define("_FDMOVECONFIRM","Move the file "); define("_FDMOVEFAIL","I was not able to move the file "); define("_FDMOVESUCCESS","succesfully moved"); define("_FDMOVETITLE","Move the file: "); define("_FDDIR","The dir"); //creazione cartelle define("_FDCREATESECTDOWNLOAD","Create Download section"); define("_FDCREATESECT","Create section"); define("_FDCREATESECTOK","succesfully created!"); define("_FDCREATEONLYDIR","I created the section, but I wasn't able to create the file section.php"); define("_FDCREATEDIRERROR","Attention!: I cannot create the section: "); define("_FDCHECKPERM","Check write permissions."); define("_FDHIDDENSECT","hidden section"); define("_FDCHOOSESECTNAME","Choose the section's name:"); define("_FDCREATESUBSECT","Create a section in: "); define("_FDNOTWRITE","is not writeable!"); //upload file define("_FDTOOBIG","Attention!
    The file will not be uploaded on the server because is too big."); define("_FDUPLOADOK","File successfully uploaded."); define("_FDUPLOADEXISTS","Attention! In the selected directory already esists a file with the same name.
    If you want to modify this file or the related desctiption, use the function Edit."); define("_FDFILENOTSELECT","Select a file!"); //Alert define("_FDDESCTOOLONG","Attention! the description is too long."); define("_FDNAMETOOLONG","Attention! the title is too long."); define("_FDREDONLYDIR","Attention: check write permission of this directory."); define("_FDERROR","Error!"); //error define("_FDNONPUOI","You may not do that! (Security error.)
    "); define("_FDERROR1","The uploaded file exceeds the upload_max_filesize directive in php.ini."); define("_FDERROR2","The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form."); define("_FDERROR3","The uploaded file was only partially uploaded."); define("_FDERROR4","No file was uploaded."); define("_FDERROR6","Missing a temporary folder."); define("_FDERROR7","Failed to write file to disk."); //DOWNLOAD STATS define("_FDSECT","Section"); define("_FDTOPSTATS", "Download Statistics"); //TOP DOWNLOAD define("_FDTOPSTAT","Statistics"); //remote file/url define("_FDADDURL","Add remote file"); define("_FDCHOOSEURL","Specify the url of the file:"); //FDuser define("_FDWAITFORADMIN","The file will not be immediately visible. Wait for site's administrator approval."); define("_FDLIMIT","Raggiunto il limite massimo di file proponibili.
    Attendi che l'amministratore pubblichi i file in attesa di approvazione."); //need translation define("_FDPUBLISHFILES","Publish files"); define("_FDPROPOSE","Propose a file"); define("_FDWAITINGFILES","files waiting validation"); ?> flatnuke-2.7.2/languages/pt.php0000755000175000017500000006535611031011605016011 0ustar simonesimone */ $giorni = array("Domingo","Segunda","Tera","Quarta","Quinta","Sexta","Sabado"); $mesi = array("Janeiro","Fevereiro","Maro","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"); //su alcune piattaforme necessario... $GLOBALS['giorni'] = $giorni; $GLOBALS['mesi'] = $mesi; define("_CHARSET","ISO-8859-1"); define("_CERCA","Buscar"); define("_CERCASTR","Buscar palavra em:"); define("_ALLSITE","Todo o sitio"); define("_POSTATO","Posto "); define("_LETTO","lido "); define("_VOLTE","vezes"); define("_LEGGITUTTO","Ler todo"); define("_COMMENTI","Comentrios"); define("_STAMPA","Imprimir"); define("_INDIETRO","Atrs"); define("_PERARGOMENTI","Por argumentos"); define("_TITNOTIZIA","Ttulo da noticia"); define("_ARGOMENTO","Argumento"); define("_INTMESSAGGIO","Cabealho da mensagem"); define("_CORPOMESSAGGIO","Corpo da mensagem"); define("_PASSWORD","Palavra-passe"); define("_INSNOTIZIA","Inserir noticia"); define("_SEGNEWS","Propor Notcias"); define("_ANTEPRIMA","Mostra"); define("_SEGNNOTIZIE","Ler noticias destacadas"); define("_LEGGI","Legvel"); define("_TUONOME","Teu nome"); define("_BACKEND","Capturar ficheiro RSS/RDF"); define("_MOTD","Mensagem de bem-vindo"); define("_MODIFICA","Modificar"); define("_NOMEUTENTE","Nome do utilizador"); define("_LOGIN","Entrar"); define("_LOGOUT","Sair"); define("_NONREG","No est registrado?"); define("_REGORA","Regista agora!"); define("_BENVENUTO","Bem-vindo"); define("_ADDNEWS","Adicionar uma noticia"); define("_MODMOTD","Modificar bem-vindo"); define("_DATA","Fecha"); define("_ORA","Hora"); define("_PASSERR","Palavra-passe incorrecta"); define("_ALERTSIG","Sua destacacin foi enviada, o administrador ir public-la"); define("_PUBNEWS","Publicar"); define("_DELNEWS","Apagar"); define("_HASCRITTO","escreveu"); define("_NONPUOI","No o podes fazer!"); define("_ADDCOMM","Adicionar comentrio"); define("_DEVIREG","Tem que estar registrado a"); define("_DEVIREG2","para adicionar um comentrio!"); define("_DEVIREG3","para destacar uma noticia!"); define("_NORSS","No encuentro o ficheiro RSS!"); define("_ARTTR","Artigo originado de:"); define("_URLREF","URL de referencia:"); define("_DA","De:"); define("_ELIMINA","Eliminar"); define("_MAINMENUTITLE", "Navegao"); define("_HOMEMENUTITLE", "Home"); define("_REMEMBERLOGIN", "Lembrar login"); define("_SITEURL","URL do sitio"); define("_SITENAME","Nome do sitio"); define("_THEME","Tema FlatNuke"); define("_NEWSPP","Noticias visveis na homepage"); define("_ADMIN","Nome do webmaster"); define("_ADMINM","E-Mail do webmaster"); define("_LANG","Idioma do sitio"); define("_GUESTN","Um utilizador no registado pode destacar noticias"); define("_GUESTC","Um utilizador no registado pode adicionar um comentrio"); define("_FUSO","Diferena de horrio entre o servidor e a hora local"); define("_TOPICPP","Argumento forum por pgina"); define("_POSTPP","Mensagem forum por pgina"); define("_MEMBRIPP","Membros forum por pgina"); define("_SECTNOTEXIST","a seco no existe!"); define("_NORESULT","No h resultados coincidentes"); define("_RELATEDNEWSLAST","Atrasadas noticias sobre este topico"); define("_RELATEDNEWSALL","Todas noticias sobre este topico"); define("_NOPREVNEWS","No h notcias mais antigas"); define("_PREVNEWS","Notcias anteriores"); define("_NONEXTNEWS","No h mais notcias recentes"); define("_NEXTNEWS","Prximas notcias"); define("_GOTOSECTION","Ir para sesso"); define("_VIEW_USERPROFILE","Ver perfil do utilizador"); define("_FREG","REGISTO"); define("_FCAMPI","*=campos obrigatrios"); define("_FNOME","Nome"); define("_FEMAIL","E-Mail"); define("_FHOME","Sitio web"); define("_FPROFES","Profisso"); define("_FPROV","Proveniencia"); define("_FAVAT","Avatar"); define("_FAVATREM","Ou ento URL da imagem remota"); define("_FFIRMA","Firma"); define("_FNUOVOTOP","Nova discusso"); define("_FTITTOP","Ttulo discusso"); define("_FNPAG","Pginas"); define("_FNMESS","Mensagens"); define("_FINIPOST","Mensagem inicial"); define("_FULTPOST","Ultima mensagem"); define("_FLOGIN","ENTRAR"); define("_FERRCAMPO","Esqueceu de preencher alguns campos ou cometeu algum erro: characteres vlidos (max. 13) para o nome so a-z, A-Z, 0-9"); define("_FORAREG","Agora est registrado"); define("_FUSERSCE","Nome de utilizador j escolhido"); define("_FNONREG","no est registado!"); define("_FERRPASS","enganou-se na palavra-passe!"); define("_FERRACC","Funo reservada a utilizadores registrados!"); define("_FMODPROF","Modificar perfil"); define("_FMODPROFTIT","MODIFICAR PERFIL de"); define("_FDIVERS","s se for diferente"); define("_FINVIA","Enviar"); define("_FOKMODPROF","Seu perfil foi modificado"); define("_FRISP","Responder"); define("_FUTENTE","Utilizador"); define("_FMESS","Mensagem"); define("_FNUOVOMESS","Nova mensagem"); define("_FOGG","Objecto"); define("_FTOPOK","Discusso criada"); define("_FLEGGI","Ler"); define("_FMESSOK","Mensagem enviado"); define("_FIND","Indice do Forum"); define("_FINDH","Home-Page"); define("_BENVE","Bem-vindo"); define("_SCON","desconhecido"); define("_FGUIDA","Ajuda"); define("_FUTENTI","utilizadores registados"); define("_FDELUTENTE","Eliminar conta"); define("_REG_AGREEMENT_TERMS","Enquanto os administradores e moderadores deste forum tentaro remover ou editar qualquer material questionvel to rapido como possivel, impossivel de se rever todas as mensagens. De qualquer maneira deve ser do seu conhecimento que todos os posts feitos a estes forums expressam os pontos de vista e opinies do autor e no dos administradores, moderadores ou webmaster (excepto os posts destas pessoas) and hence will not be held liable.

    Concorda que no postar qualquer material abusivo, obsceno, vulgar, escandaloso, de odio, sexualmente orientado, ou qualquer outro que viole qualquer leis aplicvel. Fazendo isto o permitira ser imediatamente e permanentemente banido (e o seu provedor de internet informado). O endereo IP de todos os posts guardado para ajudar a consolidar estas condies. Concorda que o webmaster, administrador e moderadores deste forum tem o direito de remover, editar, mover ou fechar qualquer tpico em qualquer momento que estes achem necessrio. Como utilizador concorda que toda informao que enviou fica guardada numa base de dados. Enquanto esta informao no ficar aberta a quaisquer terceiros sem o seu consentimento, o webmaster, administrador e moderadores no podem se responsabilizar de quaisquer tentativas de crack em que a segurana destes dados fique comprometida.

    Este sistema de forum utiliza cookies para guardar informao no seu computador local. Estes cookies no contm qualquer das informaes que enviou acima; servem apenas para uma visualizao melhor desejada. O endereo e-mail no utilizada em qualquer funo automtica.

    Ao clicar em Registar abaixo, assume concordar com estas condies."); // taken & modified from PhpBB (http://www.phpbb.com/) define("_LEGAL"," This is a free software released under the GNU General Public License."); // need translation define("_NOPUBNEWS","Nenhumas noticias destacadas"); define("_MOTDMESS","Bem-vindo a FlatNuke

    FlatNuke um CMS (Content Management System) que no faz uso de DBMS, mas apenas de ficheiros de texto (da o nome).
    FlatNuke homepage este.

    ATENO!
    Para utilizar o site precisa de criar pelo menos uma conta, o primeiro utilizador que registar ser o administrador (com todas permisses)! >>CRIE-O AGORA!<<

    If you like FlatNuke envia-me um carto postal da sua cidade! Encontra o meu endereo no ficheiro AUTHOR"); define("_LEVEL","nivel"); define("_NOLEVELSECT","Utilizador no tem permisso de visualizar esta seco"); define("_SICURO","Est seguro que o deseja fazer?"); define("_FP_VOTA","Votar!"); define("_FP_RISULTATI","Resultados"); define("_FP_SONDAGGI","Sondagens"); define("_FP_VECCHI","sondagens antigas"); define("_FP_ADMIN","Admin"); define("_FP_VOTITOTALI","votos totais"); define("_FP_VOTI","Votos"); define("_FP_GIAVOTATO","J HAVIA VOTADO! Pode escolher uma preferencia cada"); define("_FP_ORE","horas"); define("_FP_VOTONONVALIDO","No escolheu nenhuma opo, voto no valido!"); define("_FP_COMMENTI","Comentrios"); define("_FP_ADDCOMM","Agregar comentario"); define("_FP_DA","De:"); define("_FP_SCON","desconhecido"); define("_FP_FINVIA","Enviar"); define("_FP_DEVIREG","Tem que ser registrado a"); define("_FP_DEVIREG2","para escrever um comentrio!"); define("_FP_NOACTIVE","Nenhuma sondagem activa neste momento:"); define("_FP_STATOSONDAGGIO","estado da sondagem"); define("_FP_APERTO","Activo"); define("_FP_DOMANDASONDAGGIO","Pregunta da sondagem"); define("_FP_ISTRUZIONIMODIFICA","Juntar aqui abaixo as opes que podem ser votadas pelos utilizadores: para que uma resposta que inserir seja vlida, tem que conter seja a opo que o voto, portanto se cria uma nova resposta juntar 0 como nmero de votos!"); define("_FP_OPZIONENUM","Opo nmero"); define("_FP_MODIFICA","Modificar"); define("_FP_CHIUDIARCHIVIA","Fechar e arquivar"); define("_FP_MODIFICAOK","A sondagem foi modificada!"); define("_FP_NUOVOSONDAGGIO","Nova sondagem"); define("_FP_OPZIONE","Opo"); define("_FP_ARCHIVEOK","A sondagem foi archivada!"); define("_FP_DELETEOK1","A sondagem fechada o"); define("_FP_DELETEOK2","foi eliminado!"); define("_FP_CHIUSO","Cerrado"); define("_FP_ELIMINA","Eliminar"); define("_FP_NONEOLD","Nenhuma sondagem arquivada."); define("_FIG_TXT_PAGINA","Pgina "); define("_FIG_TXT_NOGD","Erro: a coleco GD (PHP) no se encontra!"); define("_FIG_TXT_NOIMAGES","Nenhuna imagem presente."); define("_FIG_ADMIN_SECT","Gesto da coleco de imagens"); define("_FIG_TXT_NUMCOLSROWS","Dimenses da tabela das imagens: "); define("_FIG_TXT_NUMCOLS","columnas "); define("_FIG_TXT_NUMROWS"," filas "); define("_FIG_TXT_DIMTHUMBS","Altura/largura thumbnails (default 175px): "); define("_FIG_TXT_REGUPLOADS","Permitir insero de imagem (Y/N): "); define("_FIG_TXT_COMMENTI","Permitir insero de comentarios (Y/N): "); define("_FIG_TXT_DELCOMM","Vaciar ficheiros com comentrios "); define("_FIG_TXT_UPLOAD","Adicionar nova imagem: "); define("_FIG_TXT_RENAME","Renomeie a imagem: "); define("_FIG_TXT_DELETE","Eliminar imagem carregada: "); define("_FIG_ALERTNOTWR","Directrio que no se pode escrever"); define("_FIG_ALERTNOTIMG","O ficheiro carregado no uma imagem"); define("_FIG_ALERTIMGDEL","Imagem eliminada"); define("_FIG_ALERTEXIST","Ateno! ficheiro j existente"); define("_FIG_ALERTUPOK","Fichero carregado con xito"); define("_FIG_COMMENTI","Comentrios"); define("_FIG_ADDCOMM","Agregar comentrio"); define("_FIG_DA","De:"); define("_FIG_SCON","desconhecido"); define("_FIG_FINVIA","Enviar"); define("_FIG_RENAMEOK","A imagem foi renomeada!"); define("_FIG_RENAMENO","Imagem no retitulada!"); define("_FIG_DEVIREG","Tem que ser registrado a"); define("_FIG_DEVIREG2","para escrever um comentrio!"); define("_FIG_INGRANDIRE","Clique para aumentar"); define("_MAINT","ATENO: Stio em desenvolvimento."); define("_MAINT_MSG","O(s) administrador(es) podem fazer login atravs do formulrio abaixo:"); define("_FASTNEWSSTR","Add this link to your bookmarks and use it to publish news in a very fast and simple way:"); // need translation // 2.6 define("_SPAMALERT","The text of your message is marked as spam. Please click on \"back\" and edit your message."); // need translation define("_SEARCHDESC","ndices da busca neste local."); define("_ADVSEARCH","Busca avanada"); define("_ARGUMENT","Argument");//need translation define("_TOPICS","Topics");//need translation define("_VIEWGROUPTITLE","View the group");//need translation define("_VIEWARGUMENTTITLE","View the argument");//need translation define("_VIEWTOPICTITLE","View the topic");//need translation define("_ADMINS","Administrators");//need translation define("_ADMINS","Administrators");//need translation define("_MODERATORS","Moderators");//need translation define("_DELETEGROUP","Delete group");//need translation define("_RENAMEGROUP","Rename group");//need translation define("_RENAME","Rename");//need translation define("_MOVE","Move");//need translation define("_LOCK","Lock");//need translation define("_UNLOCK","Unlock");//need translation define("_RENAMEARGTITLE","Rename the argument");//need translation define("_EDITARGTITLE","Edit the argument");//need translation define("_MOVEARGTITLE","Move the argument");//need translation define("_LOCKARGTITLE","Lock the argument");//need translation define("_UNLOCKARGTITLE","Unlock the argument");//need translation define("_DELETEARGTITLE","Delete the argument");//need translation define("_THEARGUMENT","the argument");//need translation define("_FFCONTROLPANEL","Forum's Control Panel");//need translation define("_NEWGROUP","New Group");//need translation define("_NEWARGUMENT","New Argument");//need translation define("_GOTOTHEPAGE","Go to the page");//need translation define("_GOTOTHEFIRSTPAGE","Go to the first page");//need translation define("_GOTOTHELASTPAGE","Go to the last page");//need translation define("_GOTOTHEPREVIOUSPAGE","Go to the previous page");//need translation define("_GOTOTHENEXTPAGE","Go to the next page");//need translation define("_EDITTOPIC","Edit the topic");//need translation define("_DELETETOPIC","Delete the topic");//need translation define("_MOVETOPIC","Move the topic");//need translation define("_STICKYTOPIC","Sticky topic");//need translation define("_UNSTICKYTOPIC","Normal topic");//need translation define("_HIDETOPIC","Hide the topic");//need translation define("_SHOWTOPIC","Show the topic");//need translation define("_LOCKTOPIC","Lock the topic");//need translation define("_UNLOCKTOPIC","Unlock the topic");//need translation define("_STICKY","Sticky");//need translation define("_UNSTICKY","Unsticky");//need translation define("_HIDE","Hide");//need translation define("_SHOW","Show");//need translation define("_QUOTE","Quote");//need translation define("_POSTSTICKY","Sticky");//need translation define("_NORMAL","Normal");//need translation define("_QUOTEPOST","Quote the post");//need translation define("_EDITPOST","Edit post");//need translation define("_STICKYPOST","Show the post on top");//need translation define("_NORMALPOST","Show the post in normal position");//need translation define("_DELETEPOST","Delete post");//need translation define("_MAILALERT","Mail notification for new posts");//need translation define("_REMOVEMAILALERT","Remove mail notification for new posts");//need translation define("_VIEWFORUMHOME","View forum's home page");//need translation define("_FORUMBACKUP","Do forum backup");//need translation define("_EDITFORUMMOTD","Edit forum's motd");//need translation define("_EDITFORUMHELP","Edit help message of the forum");//need translation define("_EDITFLANUKECONFIG","Edit Flatnuke's config file");//need translation define("_EDITFORUMTHEME","Edit forum's theme");//need translation define("_EDITSPAMFILTER","Edit spam filter");//need translation define("_EDITFORUMRULES","Edit forum's rules");//need translation define("_FORUMMANAGEMENT","Forum management");//need translation define("_CONFIG","Configuration");//need translation define("_CHOOSEGROUPNAME","Choose group's name");//need translation define("_CREATEGROUP","Create group");//need translation define("_GROUPCREATED","Group created!");//need translation define("_THEGROUP","The group");//need translation define("_ALREADYEXISTS","already exists. Please choose another name.");//need translation define("_RETURN","Return");//need translation define("_GROUPNOCHANGE","Attention! Group's name isn't changed!");//need translation define("_GROUPRENAMED","Group successfully renamed!");//need translation define("_DOESNTEXISTS","doesn't exists!");//need translation define("_ATTENTION","Attention");//need translation define("_DELETEGROUPALERT1","Do you really want to delete the group");//need translation define("_DELETEGROUPALERT2","If you want to delete the group you have to check the form below and clik on the OK button.
    Attention: the group will be deleted only if it doesn't contain any argument.");//need translation define("_DELETEGROUPALERT3","Definitively delete the group");//need translation define("_DELETEGROUPNOCONFIRM","If you want to delete the group you have to check the checkbox in the previous page.");//need translation define("_DELETEGROUPOK","Group successfully deleted!");//need translation define("_GROUPNOTEMPTY","isn't empty and contains one ore more arguments.
    You will have to delete or move arguments before try to delete the group.");//need translation define("_ARGUMENTGROUP","Choose a group for the argument");//need translation define("_ARGUMENTNAME","Choose the name of the argument");//need translation define("_ARGUMENTLEVEL","Select a level");//need translation define("_ARGUMENTIMAGE","Choose an image for the argument");//need translation define("_ARGUMENTDESC","Write a description");//need translation define("_CREATEARGUMENT","Create argument");//need translation define("_ARGUMENTCREATED","Argument created");//need translation define("_ARGUMENTEXISTS","already exists in the group");//need translation define("_ARGUMENTCHANGENAME","change the name or choose another group.");//need translation define("_RENAMEARGUMENT","Rename argument");//need translation define("_RENAMETHEARGUMENT","Rename the argument");//need translation define("_ARGUMENTRENAMED","Argument successfully renamed");//need translation define("_SIZE","Size");//need translation define("_ARGUMENTEDIT","Edit argument");//need translation define("_ARGUMENTEDITED","Argument edited");//need translation define("_ARGUMENTMOVE","Choose in wich group to move the argument");//need translation define("_ARGUMENTMOVED","Argument successfully moved");//need translation define("_NOGROUP","There isn't a group where to move the argument");//need translation define("_NOTWRITABLE","isn't writable");//need translation define("_ARGUMENTLOCKED","Argument locked");//need translation define("_ARGALREADYLOCKED","The argument was already locked");//need translation define("_ARGUMENTUNLOCKED","Argument unlocked");//need translation define("_ARGALREADYUNLOCKED","The argument was already unlocked");//need translation define("_DELETEARGUMENT1","Do you really want delete the argument");//need translation define("_DELETEARGUMENT2","inside the group");//need translation define("_DELETEARGUMENT3","If you want do that please check the checkbox present below and press the OK button.
    Attention: all topic contained will be deleted!");//need translation define("_DELETEARGUMENT","delete the argument");//need translation define("_ARGUMENTDELETED","Argument successfully deleted");//need translation define("_DIRNOTDELETED","It was impossible to delete the dir");//need translation define("_FILENOTDELETED","It was impossible to delete the file");//need translation define("_DELETEARGNOCONFIRM","If you want to delete the argument you have to check the checkbox in the previous page."); define("_THEFILE","the file");//need translation define("_ASKDELETETOPIC","Are you sure do you want to delete the topic");//need translation define("_TOPICDELETED","Topic deleted");//need translation define("_CHOOSETOPICDEST","Choose where to move the topic");//need translation define("_TOPICMOVED","Topic moved");//need translation define("_TOPICNOTMOVED","It was impossible to move the topic");//need translation define("_TOPICHIDDEN","The topic is hidden");//need translation define("_TOPICSHOWED","The topic is shown");//need translation define("_TOPICLOCKED","The topic is locked");//need translation define("_TOPICUNLOCKED","The topic is unlocked");//need translation define("_VIEWFFLOG","View Flatforum's log");//need translation define("_VIEWFFERRORLOG","View Flatforum's error log");//need translation define("_ISSPAM","is considered spam");//need translation define("_LASTEDITBY","Last edit by");//need translation //2.7 define("_HIDDENMAIL","E-mail not visible");//need translation define("_POSTDELETED","Post deleted!");//need translation define("_THEDIR","The directory");//need translation define("_COMP_REG","It has been sended one email to you to the address:");//need translation define("_COMP_REG2"," with the instructions to complete the registration");//need translation define ("_ERREMAIL","E-mail address is not valid");//need translation define("_IST_REG_MAIL","To complete the registration click on the following link:");//need translation define("_COMP_REG_MAIL","Complete registration on");//need translation define("_THEMAIL","The e-mail");//need translation define("_MAILUSED","was already used for the registration of a user. Every e-mail address can be used only for the registration of one user.");//need translation define("_ACTIVATIONMAILNOTSENT","I was not able to send to you a mail with the activation code. Please contact the administrator of this site.");//need translation define("_WAITINGUSERLOGIN","You need to complete the registration process. Please follow the instructions sent you by e-mail.");//need translation define("_CONTACTADMIN","If you experience any problem, please contact the admin of the site");//need translation define("_MANAGESECTION","Manage section");//need translation define("_MANAGEFILE","Manage file");//need translation define("_FNCREATESUBSECTION","Create subsection");//need translation define("_FNCREATEFILE","Create file");//need translation define("_FNRENAMESECTION","Rename section");//need translation define("_FNDELETESECTION","Delete section");//need translation define("_FNRENAMEFILE","Rename file");//need translation define("_FNDELETEFILE","Delete file");//need translation define("_FNMOVESECTION","Move section");//need translation define("_FNMOVEFILE","Move file");//need translation define("_FNSECTIONPERM","Section permissions");//need translation define("_FNSECTIONRENAMED","Section renamed");//need translation define("_CREATE","Create");//need translation define("_FNSECTIONCREATED","Section created");//need translation define("_FNSECTIONDELETED","Section deleted");//need translation define("_FNSECTIONMOVED","Section moved");//need translation define("_FNFILECREATED","File created");//need translation define("_ERROR","Error");//need translation define("_FNFILEDELETED","File deleted");//need translation define("_MANAGEFLATNUKE","Manage Flatnuke");//need translation define("_FNFILERENAMED","File renamed");//need translation define("_GOTOFILE","Go to file");//need translation define("_FNCHOOSEDEST","Choose destination");//need translation define("_FNFILEMOVED","File moved");//need translation define("_EDITHTML","Edit html code");//need translation define("_EDITFCKEDITOR","Modifica with FCKEditor");//need translation define("_FNCHOOSEEDITOR","Choose the editor");//need translation define("_DELETESUBSECTIONS","You need to delete alla subsections");//need translation define("_FNVIEWPERMS","View permissions");//need translation define("_FNEDITPERMS","Edit permissions");//need translation define("_FNADDUSER","Add user");//need translation define("_FNREMOVEUSER","Remove user");//need translation define("_USERS","Users");//need translation define("_FNEDITSECTION","Edit section");//need translation define("_FNEDITFILE","Edit file");//need translation define("_FNMANAGESECTTITLE","Admin options for the current section");//need translation define("_FNMANAGEFILETITLE","Admin options for the current file");//need translation define("_FNMANAGEVIEWPERMSTITLE","Set view permissions for the current section");//need translation define("_FNUSERADDED","User added");//need translation define("_FNCHOOSEUSER","You must choose a user");//need translation define("_FNUSERREMOVED","User removed");//need translation define("_FNWRITEPERMS","Write permissions");//need translation define("_FNMANAGEEDITPERMSTITLE","Set edit permissions for the current section");//need translation define("_FNEDITALLOW1","Allow the user");//need translation define("_FNEDITALLOW2","to edit the section");//need translation define("_CANCEL","Cancel");//need translation define("_SECTIONTYPE","Section type");//need translation define("_STANDARD","Standard");//need translation define("_DOWNLOADMAIN","Download (with subcategories)");//need translation define("_DOWNLOADSINGLE","Download (single section)");//need translation define("_DOWNLOADMAINTITLE","Create a section that show files present in subsections");//need translation define("_DOWNLOADSINGLETITLE","Permit to load files in the section");//need translation define("_ISNOTADIR","is not a directory");//need translation define("_ISNOTAFILE","is not a file");//need translation define("_CHANGESECTTYPE","Change section type");//need translation define("_EXEC","Exec");//need translation define("_CHOOSEACTION","Choose action");//need translation define("_MANAGESECTNOTE","Edit section's text or choose an admin option on the right");//need translation define("_FNPRESENTATION","Presentation");//need translation // 2.7.1 define("_NEWPWDSTRING","Lost password");//need translation define("_NEWPWDFORM","Recover Password:

    To recover your password, please provide the e-mail address you have associated with your member account and click on the Submit button.
    The e-mail will also contain your NEW password.
    Pay attention on the fact that you will not be able to use your new password till you will validate the request; so, without validation, you still have to use the old password.");//need translation define("_NEWPWDFROM","Recover password from:");//need translation define("_NEWPWDMAIL","Hi __USERNAME__,\n this email has been sent to you from __SITEURL__ because someone asked to provide a new password for your account.\n If you didn't request anything, just ignore this email: your password will remain the same. To avoid errors or abuses, only you are able to validate password recovery.\n *** Continue only if you want to recover your password ***\n ------------------------------------------------ HOW TO VALIDATE THE REQUEST ------------------------------------------------\n To validate your request, just click on link below:\n __URLCONFIRMPASSWORDCHANGE__\n (your e-mail program should open the download page in your browser; if your e-mail program does not do this, you can paste the URL in your browser and press the Enter key to open the link).\n Once this process of activation/validation will be completed, you can login to the site using the new password you can find below. You can change your password at any time by editing your account information.\n ------------------------------------------------ YOUR NEW PASSWORD (AFTER VALIDATION) ------------------------------------------------\n Use your new password only after visiting the link in this e-mail.\n After validation, your new password will be: __REGCODE__\n Keep your password secure and do not share it with other people. You can change your password at any time by editing your account information.");//need translation ?>flatnuke-2.7.2/languages/es.php0000644000175000017500000006545111031011604015765 0ustar simonesimone
    You agree not to post any abusive, obscene, vulgar, slanderous, hateful, threatening, sexually-oriented or any other material that may violate any applicable laws. Doing so may lead to you being immediately and permanently banned (and your service provider being informed). The IP address of all posts is recorded to aid in enforcing these conditions. You agree that the webmaster, administrator and moderators of this forum have the right to remove, edit, move or close any topic at any time should they see fit. As a user you agree to any information you have entered above being stored in a database. While this information will not be disclosed to any third party without your consent the webmaster, administrator and moderators cannot be held responsible for any cracking attempt that may lead to the data being compromised.

    This forum system uses cookies to store information on your local computer. These cookies do not contain any of the information you have entered above; they serve only to improve your viewing pleasure. The e-mail address is not actually used in any automatic function.

    By clicking Register below you agree to be bound by these conditions."); // taken & modified from PhpBB (http://www.phpbb.com/) define("_LEGAL","This is a free software released under the GNU General Public License."); // need translation define("_NOPUBNEWS","Ningunas noticias destacadas"); define("_MOTDMESS","Welcome to FlatNuke

    FlatNuke is a CMS (Content Management System) that makes no use of DBMS, but only text files (so its name).
    FlatNuke home page is this.

    ATTENTION!
    To train the site you need to create at least one account, the first user you register will be the administrator (with all permissions)! >>CREATE IT NOW!<<

    If you like FlatNuke send me a postcard from your city! You can find my address into the file AUTHOR"); // need translation define("_LEVEL","nivel"); define("_NOLEVELSECT","Usuario no tiene permisos derechos de visin esta seccin"); define("_SICURO","Es usted seguro desea hacerlo?"); define("_FP_VOTA","Votar!"); define("_FP_RISULTATI","Resultados"); define("_FP_SONDAGGI","Sondajes"); define("_FP_VECCHI","viejos sondajes"); define("_FP_ADMIN","Admin"); define("_FP_VOTITOTALI","votos totales"); define("_FP_VOTI","Votos"); define("_FP_GIAVOTATO","HAS YA VOTADO! Puedes elegir una preferencia cada"); define("_FP_ORE","horas"); define("_FP_VOTONONVALIDO","No has elegido ni si quiera una opcin, voto no valido!"); define("_FP_COMMENTI","Comentos"); define("_FP_ADDCOMM","Agregar comento"); define("_FP_DA","De:"); define("_FP_SCON","desconocido"); define("_FP_FINVIA","Enviar"); define("_FP_DEVIREG","Tienes que ser registrado a"); define("_FP_DEVIREG2","para escribir un comento!"); define("_FP_NOACTIVE","Ningn sondaje activo en este momento:"); define("_FP_STATOSONDAGGIO","estado del sondaje"); define("_FP_APERTO","Activo"); define("_FP_DOMANDASONDAGGIO","Pregunta del sondaje"); define("_FP_ISTRUZIONIMODIFICA","Agregar aqu abajo las opciones que pueden ser votadas por los usuarios: para que una respuesta que inserir sea valida, tiene que contener sea la opcin que el voto, por lo tanto si creas una nueva respuesta agregar 0 como nmero de votos!"); define("_FP_OPZIONENUM","Opcin nmero"); define("_FP_MODIFICA","Modificar"); define("_FP_CHIUDIARCHIVIA","Cerrar y archivar"); define("_FP_MODIFICAOK","El sondaje ha sido modificado!"); define("_FP_NUOVOSONDAGGIO","Nuevo sondaje"); define("_FP_OPZIONE","Opcin"); define("_FP_ARCHIVEOK","El sondaje ha sido archivado!"); define("_FP_DELETEOK1","El sondaje cerrado el"); define("_FP_DELETEOK2","ha sido eliminado!"); define("_FP_CHIUSO","Cerrado"); define("_FP_ELIMINA","Eliminar"); define("_FP_NONEOLD","Ningn sondaje archivado."); define("_FIG_TXT_PAGINA","Pgina "); define("_FIG_TXT_NOGD","Error: la coleccin GD (PHP) no se encuentra!"); define("_FIG_TXT_NOIMAGES","Ninguna imagen presente."); define("_FIG_ADMIN_SECT","Gestin de la coleccin de imagenes"); define("_FIG_TXT_NUMCOLSROWS","Dimensiones de la tabla de las imgenes: "); define("_FIG_TXT_NUMCOLS","columnas "); define("_FIG_TXT_NUMROWS"," filas "); define("_FIG_TXT_DIMTHUMBS","Altura/anchura thumbs (default 175px): "); define("_FIG_TXT_REGUPLOADS","Permitir insercin de imagen (Y/N): "); define("_FIG_TXT_COMMENTI","Permitir insercin de comentarios (Y/N): "); define("_FIG_TXT_DELCOMM","Vaciar ficheros con comentarios "); define("_FIG_TXT_UPLOAD","Aadir nueva imagen: "); define("_FIG_TXT_RENAME","Retitule la imagen: "); define("_FIG_TXT_DELETE","Eliminar imagen cargada: "); define("_FIG_ALERTNOTWR","Directorio que no se puede escrivir"); define("_FIG_ALERTNOTIMG","El fichero cargado no es una imagen"); define("_FIG_ALERTIMGDEL","Imagen eliminada"); define("_FIG_ALERTEXIST","Atencin! fichero ya exitente"); define("_FIG_ALERTUPOK","Fichero cargado con xito"); define("_FIG_COMMENTI","Comentos"); define("_FIG_ADDCOMM","Agregar comento"); define("_FIG_DA","De:"); define("_FIG_SCON","desconocido"); define("_FIG_FINVIA","Enviar"); define("_FIG_RENAMEOK","La imagen retitul!"); define("_FIG_RENAMENO","Imagen no retitulada!"); define("_FIG_DEVIREG","Tienes que ser registrado a"); define("_FIG_DEVIREG2","para escribir un comento!"); define("_FIG_INGRANDIRE","Chasque para agrandar"); define("_MAINT","ATTENTION: site in work."); // need translation define("_MAINT_MSG","The administrator(s) can login through the form below:"); // need translation define("_FASTNEWSSTR","Add this link to your bookmarks and use it to publish news in a very fast and simple way:"); // need translation // 2.6 define("_SPAMALERT","The text of your message is marked as spam. Please click on \"back\" and edit your message."); // need translation define("_SEARCHDESC","Busca contenidos en este sitio."); define("_ADVSEARCH","Bsqueda avanzada"); define("_ARGUMENT","Argument");//need translation define("_TOPICS","Topics");//need translation define("_VIEWGROUPTITLE","View the group");//need translation define("_VIEWARGUMENTTITLE","View the argument");//need translation define("_VIEWTOPICTITLE","View the topic");//need translation define("_ADMINS","Administrators");//need translation define("_MODERATORS","Moderators");//need translation define("_DELETEGROUP","Delete group");//need translation define("_RENAMEGROUP","Rename group");//need translation define("_RENAME","Rename");//need translation define("_MOVE","Move");//need translation define("_LOCK","Lock");//need translation define("_UNLOCK","Unlock");//need translation define("_RENAMEARGTITLE","Rename the argument");//need translation define("_EDITARGTITLE","Edit the argument");//need translation define("_MOVEARGTITLE","Move the argument");//need translation define("_LOCKARGTITLE","Lock the argument");//need translation define("_UNLOCKARGTITLE","Unlock the argument");//need translation define("_DELETEARGTITLE","Delete the argument");//need translation define("_THEARGUMENT","the argument");//need translation define("_FFCONTROLPANEL","Forum's Control Panel");//need translation define("_NEWGROUP","New Group");//need translation define("_NEWARGUMENT","New Argument");//need translation define("_GOTOTHEPAGE","Go to the page");//need translation define("_GOTOTHEFIRSTPAGE","Go to the first page");//need translation define("_GOTOTHELASTPAGE","Go to the last page");//need translation define("_GOTOTHEPREVIOUSPAGE","Go to the previous page");//need translation define("_GOTOTHENEXTPAGE","Go to the next page");//need translation define("_EDITTOPIC","Edit the topic");//need translation define("_DELETETOPIC","Delete the topic");//need translation define("_MOVETOPIC","Move the topic");//need translation define("_STICKYTOPIC","Sticky topic");//need translation define("_UNSTICKYTOPIC","Normal topic");//need translation define("_HIDETOPIC","Hide the topic");//need translation define("_SHOWTOPIC","Show the topic");//need translation define("_LOCKTOPIC","Lock the topic");//need translation define("_UNLOCKTOPIC","Unlock the topic");//need translation define("_STICKY","Sticky");//need translation define("_UNSTICKY","Unsticky");//need translation define("_HIDE","Hide");//need translation define("_SHOW","Show");//need translation define("_QUOTE","Quote");//need translation define("_POSTSTICKY","Sticky");//need translation define("_NORMAL","Normal");//need translation define("_QUOTEPOST","Quote the post");//need translation define("_EDITPOST","Edit post");//need translation define("_STICKYPOST","Show the post on top");//need translation define("_NORMALPOST","Show the post in normal position");//need translation define("_DELETEPOST","Delete post");//need translation define("_MAILALERT","Mail notification for new posts");//need translation define("_REMOVEMAILALERT","Remove mail notification for new posts");//need translation define("_VIEWFORUMHOME","View forum's home page");//need translation define("_FORUMBACKUP","Do forum backup");//need translation define("_EDITFORUMMOTD","Edit forum's motd");//need translation define("_EDITFORUMHELP","Edit help message of the forum");//need translation define("_EDITFLANUKECONFIG","Edit Flatnuke's config file");//need translation define("_EDITFORUMTHEME","Edit forum's theme");//need translation define("_EDITSPAMFILTER","Edit spam filter");//need translation define("_EDITFORUMRULES","Edit forum's rules");//need translation define("_FORUMMANAGEMENT","Forum management");//need translation define("_CONFIG","Configuration");//need translation define("_CHOOSEGROUPNAME","Choose group's name");//need translation define("_CREATEGROUP","Create group");//need translation define("_GROUPCREATED","Group created!");//need translation define("_THEGROUP","The group");//need translation define("_ALREADYEXISTS","already exists. Please choose another name.");//need translation define("_RETURN","Return");//need translation define("_GROUPNOCHANGE","Attention! Group's name isn't changed!");//need translation define("_GROUPRENAMED","Group successfully renamed!");//need translation define("_DOESNTEXISTS","doesn't exists!");//need translation define("_ATTENTION","Attention");//need translation define("_DELETEGROUPALERT1","Do you really want to delete the group");//need translation define("_DELETEGROUPALERT2","If you want to delete the group you have to check the form below and clik on the OK button.
    Attention: the group will be deleted only if it doesn't contain any argument.");//need translation define("_DELETEGROUPALERT3","Definitively delete the group");//need translation define("_DELETEGROUPNOCONFIRM","If you want to delete the group you have to check the checkbox in the previous page.");//need translation define("_DELETEGROUPOK","Group successfully deleted!");//need translation define("_GROUPNOTEMPTY","isn't empty and contains one ore more arguments.
    You will have to delete or move arguments before try to delete the group.");//need translation define("_ARGUMENTGROUP","Choose a group for the argument");//need translation define("_ARGUMENTNAME","Choose the name of the argument");//need translation define("_ARGUMENTLEVEL","Select a level");//need translation define("_ARGUMENTIMAGE","Choose an image for the argument");//need translation define("_ARGUMENTDESC","Write a description");//need translation define("_CREATEARGUMENT","Create argument");//need translation define("_ARGUMENTCREATED","Argument created");//need translation define("_ARGUMENTEXISTS","already exists in the group");//need translation define("_ARGUMENTCHANGENAME","change the name or choose another group.");//need translation define("_RENAMEARGUMENT","Rename argument");//need translation define("_RENAMETHEARGUMENT","Rename the argument");//need translation define("_ARGUMENTRENAMED","Argument successfully renamed");//need translation define("_SIZE","Size");//need translation define("_ARGUMENTEDIT","Edit argument");//need translation define("_ARGUMENTEDITED","Argument edited");//need translation define("_ARGUMENTMOVE","Choose in wich group to move the argument");//need translation define("_ARGUMENTMOVED","Argument successfully moved");//need translation define("_NOGROUP","There isn't a group where to move the argument");//need translation define("_NOTWRITABLE","isn't writable");//need translation define("_ARGUMENTLOCKED","Argument locked");//need translation define("_ARGALREADYLOCKED","The argument was already locked");//need translation define("_ARGUMENTUNLOCKED","Argument unlocked");//need translation define("_ARGALREADYUNLOCKED","The argument was already unlocked");//need translation define("_DELETEARGUMENT1","Do you really want delete the argument");//need translation define("_DELETEARGUMENT2","inside the group");//need translation define("_DELETEARGUMENT3","If you want do that please check the checkbox present below and press the OK button.
    Attention: all topic contained will be deleted!");//need translation define("_DELETEARGUMENT","delete the argument");//need translation define("_ARGUMENTDELETED","Argument successfully deleted");//need translation define("_DIRNOTDELETED","It was impossible to delete the dir");//need translation define("_FILENOTDELETED","It was impossible to delete the file");//need translation define("_DELETEARGNOCONFIRM","If you want to delete the argument you have to check the checkbox in the previous page."); define("_THEFILE","the file");//need translation define("_ASKDELETETOPIC","Are you sure do you want to delete the topic");//need translation define("_TOPICDELETED","Topic deleted");//need translation define("_CHOOSETOPICDEST","Choose where to move the topic");//need translation define("_TOPICMOVED","Topic moved");//need translation define("_TOPICNOTMOVED","It was impossible to move the topic");//need translation define("_TOPICHIDDEN","The topic is hidden");//need translation define("_TOPICSHOWED","The topic is shown");//need translation define("_TOPICLOCKED","The topic is locked");//need translation define("_TOPICUNLOCKED","The topic is unlocked");//need translation define("_VIEWFFLOG","View Flatforum's log");//need translation define("_VIEWFFERRORLOG","View Flatforum's error log");//need translation define("_ISSPAM","is considered spam");//need translation define("_LASTEDITBY","Last edit by");//need translation //2.7 define("_HIDDENMAIL","E-mail not visible");//need translation define("_POSTDELETED","Post deleted!");//need translation define("_THEDIR","The directory");//need translation define("_COMP_REG","It has been sended one email to you to the address:");//need translation define("_COMP_REG2"," with the instructions to complete the registration");//need translation define ("_ERREMAIL","E-mail address is not valid");//need translation define("_IST_REG_MAIL","To complete the registration click on the following link:");//need translation define("_COMP_REG_MAIL","Complete registration on");//need translation define("_THEMAIL","The e-mail");//need translation define("_MAILUSED","was already used for the registration of a user. Every e-mail address can be used only for the registration of one user.");//need translation define("_ACTIVATIONMAILNOTSENT","I was not able to send to you a mail with the activation code. Please contact the administrator of this site.");//need translation define("_WAITINGUSERLOGIN","You need to complete the registration process. Please follow the instructions sent you by e-mail.");//need translation define("_CONTACTADMIN","If you experience any problem, please contact the admin of the site");//need translation define("_MANAGESECTION","Manage section");//need translation define("_MANAGEFILE","Manage file");//need translation define("_FNCREATESUBSECTION","Create subsection");//need translation define("_FNCREATEFILE","Create file");//need translation define("_FNRENAMESECTION","Rename section");//need translation define("_FNDELETESECTION","Delete section");//need translation define("_FNRENAMEFILE","Rename file");//need translation define("_FNDELETEFILE","Delete file");//need translation define("_FNMOVESECTION","Move section");//need translation define("_FNMOVEFILE","Move file");//need translation define("_FNSECTIONPERM","Section permissions");//need translation define("_FNSECTIONRENAMED","Section renamed");//need translation define("_CREATE","Create");//need translation define("_FNSECTIONCREATED","Section created");//need translation define("_FNSECTIONDELETED","Section deleted");//need translation define("_FNSECTIONMOVED","Section moved");//need translation define("_FNFILECREATED","File created");//need translation define("_ERROR","Error");//need translation define("_FNFILEDELETED","File deleted");//need translation define("_MANAGEFLATNUKE","Manage Flatnuke");//need translation define("_FNFILERENAMED","File renamed");//need translation define("_GOTOFILE","Go to file");//need translation define("_FNCHOOSEDEST","Choose destination");//need translation define("_FNFILEMOVED","File moved");//need translation define("_EDITHTML","Edit html code");//need translation define("_EDITFCKEDITOR","Modifica with FCKEditor");//need translation define("_FNCHOOSEEDITOR","Choose the editor");//need translation define("_DELETESUBSECTIONS","You need to delete alla subsections");//need translation define("_FNVIEWPERMS","View permissions");//need translation define("_FNEDITPERMS","Edit permissions");//need translation define("_FNADDUSER","Add user");//need translation define("_FNREMOVEUSER","Remove user");//need translation define("_USERS","Users");//need translation define("_FNEDITSECTION","Edit section");//need translation define("_FNEDITFILE","Edit file");//need translation define("_FNMANAGESECTTITLE","Admin options for the current section");//need translation define("_FNMANAGEFILETITLE","Admin options for the current file");//need translation define("_FNMANAGEVIEWPERMSTITLE","Set view permissions for the current section");//need translation define("_FNUSERADDED","User added");//need translation define("_FNCHOOSEUSER","You must choose a user");//need translation define("_FNUSERREMOVED","User removed");//need translation define("_FNWRITEPERMS","Write permissions");//need translation define("_FNMANAGEEDITPERMSTITLE","Set edit permissions for the current section");//need translation define("_FNEDITALLOW1","Allow the user");//need translation define("_FNEDITALLOW2","to edit the section");//need translation define("_CANCEL","Cancel");//need translation define("_SECTIONTYPE","Section type");//need translation define("_STANDARD","Standard");//need translation define("_DOWNLOADMAIN","Download (with subcategories)");//need translation define("_DOWNLOADSINGLE","Download (single section)");//need translation define("_DOWNLOADMAINTITLE","Create a section that show files present in subsections");//need translation define("_DOWNLOADSINGLETITLE","Permit to load files in the section");//need translation define("_ISNOTADIR","is not a directory");//need translation define("_ISNOTAFILE","is not a file");//need translation define("_CHANGESECTTYPE","Change section type");//need translation define("_EXEC","Exec");//need translation define("_CHOOSEACTION","Choose action");//need translation define("_MANAGESECTNOTE","Edit section's text or choose an admin option on the right");//need translation define("_FNPRESENTATION","Presentation");//need translation // 2.7.1 define("_NEWPWDSTRING","Lost password");//need translation define("_NEWPWDFORM","Recover Password:

    To recover your password, please provide the e-mail address you have associated with your member account and click on the Submit button.
    The e-mail will also contain your NEW password.
    Pay attention on the fact that you will not be able to use your new password till you will validate the request; so, without validation, you still have to use the old password.");//need translation define("_NEWPWDFROM","Recover password from:");//need translation define("_NEWPWDMAIL","Hi __USERNAME__,\n this email has been sent to you from __SITEURL__ because someone asked to provide a new password for your account.\n If you didn't request anything, just ignore this email: your password will remain the same. To avoid errors or abuses, only you are able to validate password recovery.\n *** Continue only if you want to recover your password ***\n ------------------------------------------------ HOW TO VALIDATE THE REQUEST ------------------------------------------------\n To validate your request, just click on link below:\n __URLCONFIRMPASSWORDCHANGE__\n (your e-mail program should open the download page in your browser; if your e-mail program does not do this, you can paste the URL in your browser and press the Enter key to open the link).\n Once this process of activation/validation will be completed, you can login to the site using the new password you can find below. You can change your password at any time by editing your account information.\n ------------------------------------------------ YOUR NEW PASSWORD (AFTER VALIDATION) ------------------------------------------------\n Use your new password only after visiting the link in this e-mail.\n After validation, your new password will be: __REGCODE__\n Keep your password secure and do not share it with other people. You can change your password at any time by editing your account information.");//need translation ?>flatnuke-2.7.2/languages/admin/0000755000175000017500000000000011177641445015751 5ustar simonesimoneflatnuke-2.7.2/languages/admin/en.php0000644000175000017500000001637211022466764017073 0ustar simonesimone */ //2.7 define ("_FNCC_FNOPTIONS", "Flatnuke options"); define ("_FNCC_SERVERINFOS", "Server
    informations"); define ("_FNCC_GENERALCONF", "General
    configuration"); define ("_FNCC_FILEMANAGER", "File
    manager"); define ("_FNCC_MANAGEFN", "Website management"); define ("_FNCC_NEWS", "Manage
    news"); define ("_FNCC_NEWSBYUSERS", "News by
    users"); define ("_FNCC_MOTD", "Edit
    welcome"); define ("_FNCC_POLL", "Manage
    poll"); define ("_FNCC_USERS", "Manage users"); define ("_FNCC_USERSLIST", "Members'
    list"); define ("_FNCC_ADDUSER", "New
    user"); define ("_FNCC_SECURITY", "Manage security"); define ("_FNCC_BACKUPS", "Website
    backup"); define ("_FNCC_LOGS", "Manage
    logs"); define ("_FNCC_BLACKLISTS", "Manage
    blacklists"); define ("_FNCC_THEME", "Theme options"); define ("_FNCC_THEMESTRUCTURE", "Theme
    structure"); define ("_FNCC_THEMESTYLE", "Theme
    style"); define ("_FNCC_CSSTHEME", "CSS
    theme"); define ("_FNCC_CSSFORUM", "CSS
    forum"); define ("_FNCC_NOGDLIB", "This extension is not installed (?)"); define ("_FNCC_SERVERINFO", "Informations about server"); define ("_FNCC_SITEURL", "Host URL: "); define ("_FNCC_OS", "Operative system: "); define ("_FNCC_WEBSERVER", "Web server: "); define ("_FNCC_PHP", "PHP version: "); define ("_FNCC_GDLIB", "GD library version: "); define ("_FNCC_FLATNUKE", "Flatnuke version: "); define ("_FNCC_FNUNKNOWN", "unknown"); define ("_FNCC_SERVERSPACE", "Available space on the server: "); define ("_FNCC_SITESPACE", "Current site dimensions: "); define ("_FNCC_MYINFOS", "About me"); define ("_FNCC_IP", "IP address: "); define ("_FNCC_USERAGENT", "Browser: "); define ("_FNCC_DESGENERALCONF", "Flatnuke general configuration"); define ("_FNCC_DESMOTD", "Edit welcome message"); define ("_FNCC_DESNEWS", "Manage the news of your site"); define ("_FNCC_DESNEWSBYUSERS", "Manage news proposed by other users"); define ("_FNCC_DESPOLL", "Manage current poll"); define ("_FNCC_DESUSERSLIST", "List of site members"); define ("_FNCC_DESADDUSER", "Add a new member to the site"); define ("_FNCC_DESBACKUPS", "Manage site's backup"); define ("_FNCC_DESLOGS", "Manage Flatnuke logs"); define ("_FNCC_DESBLACKLISTS", "Manage Flatnuke blacklists"); define ("_FNCC_DESTHEMESTRUCTURE", "Edit current theme's structure"); define ("_FNCC_DESTHEMESTYLE", "Edit current theme's style"); define ("_FNCC_DESCSSTHEME", "Edit current theme's CSS stylesheet"); define ("_FNCC_DESCSSFORUM", "Edit forum's CSS stylesheet"); define ("_FNCC_ONLYADMIN", "Access denied"); define ("_FNCC_DESONLYADMIN", "You can't access to this page, this section is reserved to the administrator."); define ("_FNCC_CONFSITENAME", "Web site title (max. 100 chars):"); define ("_FNCC_CONFSITEDESCRIPTION", "Web site description (max. 500 chars):"); define ("_FNCC_CONFKEYWORDS", "List of keywords that describe site contents (max. 1500 chars):"); define ("_FNCC_CONFTHEME", "Theme:"); define ("_FNCC_CONFNEWSPP", "Number of news listed in each page (max. 999):"); define ("_FNCC_CONFADMIN", "Administrator name (max. 100 chars):"); define ("_FNCC_CONFADMINMAIL", "E-mail address of the administrator (max. 100 chars):"); define ("_FNCC_CONFLANG", "Language in use:"); define ("_FNCC_CONFREGUSER", "Let users to register their profile on this site:"); define ("_FNCC_CONFGUESTNEWS", "Let visitors to propose news:"); define ("_FNCC_CONFGUESTCOMMENT", "Let visitors to add comments to the news:"); define ("_FNCC_CONFREMEMBERLOGIN", "Let users to save cookies when making login:"); define ("_FNCC_CONFMAINTENANCE", "Put the site in maintenance mode (only the admin can make the login):"); define ("_FNCC_CONFHOMESECTION", "Section to print in site's homepage (put blank if you want to list news):"); define ("_FNCC_CONFTOPICPERPAGE", "Number of forum's topics in each page (max = 999):"); define ("_FNCC_CONFPOSTPERPAGE", "Number of forum's messages in each page (max = 999):"); define ("_FNCC_CONFMEMBERPERPAGE", "Number of members in each page (max = 999):"); define ("_FNCC_CONFFORUMMODERATORS", "List of forum's moderators (eg: user1,user2,user3), (max 500 chars):"); define ("_FNCC_WARNINGDOC", "ATTENTION: read Flatnuke documentation before editing this file!"); define ("_FNCC_WARNINGRIGHTS", "Editing impossible: check write permissions of the file!"); define ("_FNCC_WARNINGNOFILE", "The file doesn't exists, check Flatnuke installation!"); define ("_FNCC_CHANGEDATE", "Last edit"); define ("_FNCC_BACKUPNEWS", "Make backup of the news"); define ("_FNCC_BACKUPUSERS", "Make backup of the users"); define ("_FNCC_BACKUPMISC", "Make backup of the directory"); define ("_FNCC_BACKUPSECT", "Make backup of the sections"); define ("_FNCC_BACKUPFORUM", "Make backup of the forum"); define ("_FNCC_BACKUPSITE", "Make backup of all the site"); define ("_FNCC_DELBACKUP", "Delete temporary backup files"); define ("_FNCC_SAVE", "Save"); define ("_FNCC_LOGLIST", "System logs' list"); define ("_FNCC_CLEANLOG", "Clean log"); define ("_FNCC_MANAGEBLACKLISTS", "System blacklists"); define ("_FNCC_YES", "Yes"); define ("_FNCC_NO", "No"); define ("_FNCC_USERSTOACTIVATE", "Profiles
    to activate"); define ("_FNCC_WAITINGUSERS", "Profiles wating for activation"); define ("_FNCC_NOUSERSTOACTIVATE", "No profiles waiting for activation!"); define ("_FNCC_REGMAIL", "Reg. e-mail"); define ("_FNCC_REGMAILDES", "Edit e-mail address"); define ("_FNCC_REGCODE", "Reg. code"); define ("_FNCC_REGCODEDES", "Send again activation code"); define ("_FNCC_ACTIVATE", "Activate"); define ("_FNCC_NEWSEDITOR", "Choose editor for news:"); //2.7.1 define ("_FNCC_DOWNCONF", "Manage
    download"); define ("_FNCC_DESDOWNCONF", "Manage download section "); define ("_FNCC_FDPEXTENSIONS", "List of allowed extensions (comma-separated values):"); define ("_FNCC_FDPMAXFILESIZE", "Maximum file size in bytes (1Mb = 1.000.000 bytes):"); define ("_FNCC_FDPICONSTYLE", "Icons' theme to use:"); define ("_FNCC_FDPNEWFILETIME", "Number of hours a file is considered recent (192h = 1 week):"); define ("_FNCC_FDPAUTOMD5", "Generate MD5 hash of uploaded files:"); define ("_FNCC_FDPAUTOSHA1", "Generate SHA-1 hash of uploaded files:"); define ("_FNCC_FDPSHOWUPLOADER", "Show the name of the user loaded the file:"); define ("_FNCC_FDPGPG", "GPG file extension:"); define ("_FNCC_FDPSCREENSHOTS", "Screenshot preview file extension:"); define ("_FNCC_FDPADMINS", "List of users that can administrate download sections (comma-separated values):"); define ("_FNCC_FDPADMINOPTOK", "Enable web administration options:"); define ("_FNCC_FDPSHOWLINK", "Show \"Download\" link for each file:"); define ("_FNCC_FDPFILELIST", "Show file list in summary page:"); define ("_FNCC_FDPSUMMARY", "Show an header at the top of all download sections:"); define ("_FNCC_FDPVOTE", "Enable voting:"); define ("_FNCC_FDPMAXUSERSIZE", "Maximum file size in bytes for users' uploads (1Mb = 1.000.000 byte):"); define ("_FNCC_FDPNUMWAITING", "Maximum number of files waiting to be published:"); define ("_FNCC_FDPFILEWAITING", "Name of the list with files waiting to be published (READONLY):"); define ("_FNCC_FDPBLACKLIST", "List of users that can not upload files (comma-separated values):"); define ("_FNCC_FDPMINLEVEL", "Minimum level of users that can upload files:"); ?> flatnuke-2.7.2/languages/admin/it.php0000644000175000017500000002014311027410675017067 0ustar simonesimone */ //2.7 define ("_FNCC_FNOPTIONS", "Opzioni Flatnuke"); define ("_FNCC_SERVERINFOS", "Informazioni
    server"); define ("_FNCC_GENERALCONF", "Configurazione
    generale"); define ("_FNCC_FILEMANAGER", "Gestione
    file"); define ("_FNCC_MANAGEFN", "Gestione sito"); define ("_FNCC_NEWS", "Gestione
    notizie"); define ("_FNCC_NEWSBYUSERS", "Notizie
    segnalate"); define ("_FNCC_MOTD", "Modifica
    benvenuto"); define ("_FNCC_POLL", "Gestione
    sondaggio"); define ("_FNCC_USERS", "Gestione utenti"); define ("_FNCC_USERSLIST", "Elenco
    utenti"); define ("_FNCC_ADDUSER", "Nuovo
    utente"); define ("_FNCC_SECURITY", "Gestione sicurezza"); define ("_FNCC_BACKUPS", "Backup
    del sito"); define ("_FNCC_LOGS", "Gestione
    logs"); define ("_FNCC_BLACKLISTS", "Gestione
    blacklists"); define ("_FNCC_THEME", "Opzioni tema"); define ("_FNCC_THEMESTRUCTURE", "Struttura
    tema"); define ("_FNCC_THEMESTYLE", "Stile
    tema"); define ("_FNCC_CSSTHEME", "CSS
    tema"); define ("_FNCC_CSSFORUM", "CSS
    forum"); define ("_FNCC_NOGDLIB", "Estensione non installata (?)"); define ("_FNCC_SERVERINFO", "Informazioni sul Server"); define ("_FNCC_SITEURL", "Indirizzo dell'Host: "); define ("_FNCC_OS", "Sistema operativo: "); define ("_FNCC_WEBSERVER", "Server web: "); define ("_FNCC_PHP", "Versione di PHP: "); define ("_FNCC_GDLIB", "Versione librerie GD: "); define ("_FNCC_FLATNUKE", "Versione di Flatnuke: "); define ("_FNCC_FNUNKNOWN", "sconosciuta"); define ("_FNCC_SERVERSPACE", "Spazio disponibile sul server: "); define ("_FNCC_SITESPACE", "Dimensioni del sito corrente: "); define ("_FNCC_MYINFOS", "Informazioni su di me"); define ("_FNCC_IP", "Indirizzo IP: "); define ("_FNCC_USERAGENT", "Browser: "); define ("_FNCC_DESGENERALCONF", "Configurazione generale di Flatnuke"); define ("_FNCC_DESMOTD", "Modifica il messaggio di benvenuto"); define ("_FNCC_DESNEWS", "Gestione notizie del portale"); define ("_FNCC_DESNEWSBYUSERS", "Gestione notizie segnalate"); define ("_FNCC_DESPOLL", "Modifica il sondaggio corrente"); define ("_FNCC_DESUSERSLIST", "Elenco degli utenti iscritti"); define ("_FNCC_DESADDUSER", "Aggiungi un nuovo utente al sito"); define ("_FNCC_DESBACKUPS", "Gestione backup del portale"); define ("_FNCC_DESLOGS", "Gestione log di Flatnuke"); define ("_FNCC_DESBLACKLISTS", "Gestione blacklist di Flatnuke"); define ("_FNCC_DESTHEMESTRUCTURE", "Modifica la struttura del tema corrente"); define ("_FNCC_DESTHEMESTYLE", "Modifica lo stile del tema corrente"); define ("_FNCC_DESCSSTHEME", "Modifica il foglio di stile CSS del tema corrente"); define ("_FNCC_DESCSSFORUM", "Modifica il foglio di stile CSS del forum"); define ("_FNCC_ONLYADMIN", "Impossibile accedere all'opzione selezionata"); define ("_FNCC_DESONLYADMIN", "Non puoi visualizzare la pagina scelta, sezione riservata all'amministratore."); define ("_FNCC_CONFSITENAME", "Titolo del sito (max. 100 caratteri):"); define ("_FNCC_CONFSITEDESCRIPTION", "Descrizione del sito (max. 500 caratteri):"); define ("_FNCC_CONFKEYWORDS", "Lista di parole chiave che descrivono il contenuto del sito (max. 1500 caratteri):"); define ("_FNCC_CONFTHEME", "Tema del sito:"); define ("_FNCC_CONFNEWSPP", "Numero di notizie stampate per pagina (max. 999):"); define ("_FNCC_CONFADMIN", "Nome dell'amministratore del sito (max. 100 caratteri):"); define ("_FNCC_CONFADMINMAIL", "Indirizzo e-mail dell'amministratore del sito (max. 100 caratteri):"); define ("_FNCC_CONFLANG", "Lingua utilizzata nel sito:"); define ("_FNCC_CONFREGUSER", "Permetti ai visitatori di registrarsi al sito:"); define ("_FNCC_CONFGUESTNEWS", "Permetti ai visitatori di proporre news da pubblicare nel sito:"); define ("_FNCC_CONFGUESTCOMMENT", "Permetti ai visitatori di commentare le news del sito:"); define ("_FNCC_CONFREMEMBERLOGIN", "Permetti agli utenti di memorizzare i cookie con i dati dell'autenticazione:"); define ("_FNCC_CONFMAINTENANCE", "Imposta il sito in stato di manutenzione (solo l'amministratore può eseguire il login):"); define ("_FNCC_CONFHOMESECTION", "Sezione da visualizzare in homepage (lasciare vuoto per stampare le news):"); define ("_FNCC_CONFTOPICPERPAGE", "Numero di argomenti del forum per ogni pagina (max = 999):"); define ("_FNCC_CONFPOSTPERPAGE", "Numero di messaggi del forum per ogni pagina (max = 999):"); define ("_FNCC_CONFMEMBERPERPAGE", "Numero di utenti del forum per ogni pagina (max = 999):"); define ("_FNCC_CONFFORUMMODERATORS", "Elenco dei moderatori del forum (separare i nomi con una virgola, max 500 caratteri):"); define ("_FNCC_WARNINGDOC", "ATTENZIONE: leggere bene la documentazione prima di modificare questo file!"); define ("_FNCC_WARNINGRIGHTS", "Modifica impossibile: controlla i permessi di scrittura del file!"); define ("_FNCC_WARNINGNOFILE", "File non presente, controllare l'installazione di Flatnuke!"); define ("_FNCC_CHANGEDATE", "Data di modifica"); define ("_FNCC_BACKUPNEWS", "Esegui il backup delle news"); define ("_FNCC_BACKUPUSERS", "Esegui il backup degli utenti"); define ("_FNCC_BACKUPMISC", "Esegui il backup della directory"); define ("_FNCC_BACKUPSECT", "Esegui il backup delle sezioni"); define ("_FNCC_BACKUPFORUM", "Esegui il backup del forum"); define ("_FNCC_BACKUPSITE", "Esegui il backup di tutto il sito"); define ("_FNCC_DELBACKUP", "Elimina i files dei backup temporanei"); define ("_FNCC_SAVE", "Salva"); define ("_FNCC_LOGLIST", "Elenco log di sistema"); define ("_FNCC_CLEANLOG", "Pulisci log"); define ("_FNCC_MANAGEBLACKLISTS", "Elenco blacklist di sistema"); define ("_FNCC_YES", "Sì"); define ("_FNCC_NO", "No"); define ("_FNCC_USERSTOACTIVATE", "Profili da
    attivare"); define ("_FNCC_WAITINGUSERS", "Profili in attesa di attivazione"); define ("_FNCC_NOUSERSTOACTIVATE", "Non ci sono profili utente in attesa di attivazione!"); define ("_FNCC_REGMAIL", "E-mail reg."); define ("_FNCC_REGMAILDES", "Modifica l'indirizzo e-mail"); define ("_FNCC_REGCODE", "Codice reg."); define ("_FNCC_REGCODEDES", "Rispedisci il codice di attivazione"); define ("_FNCC_ACTIVATE", "Attiva"); define ("_FNCC_NEWSEDITOR", "Scegli l'editor per le news:"); //2.7.1 define ("_FNCC_DOWNCONF", "Gestione
    download"); define ("_FNCC_DESDOWNCONF", "Gestione sezione download"); define ("_FNCC_FDPEXTENSIONS", "Elenco delle estensioni riconosciute (lista separata da virgole):"); define ("_FNCC_FDPMAXFILESIZE", "Dimensione massima in byte dei file da pubblicare (1Mb = 1.000.000 byte):"); define ("_FNCC_FDPICONSTYLE", "Tema delle icone da utilizzare:"); define ("_FNCC_FDPNEWFILETIME", "Numero di ore per cui un file è considerato come recente (192h = 1 settimana):"); define ("_FNCC_FDPAUTOMD5", "Calcola automaticamente la codifica MD5 del file caricato:"); define ("_FNCC_FDPAUTOSHA1", "Calcola automaticamente la codifica SHA-1 del file caricato:"); define ("_FNCC_FDPSHOWUPLOADER", "Visualizza il nome dell'utente che ha caricato il file:"); define ("_FNCC_FDPGPG", "Estensione della firma GPG di un file:"); define ("_FNCC_FDPSCREENSHOTS", "Estensione delle immagini di anteprima dei file:"); define ("_FNCC_FDPADMINS", "Elenco degli utenti che possono amministrare la sezione (lista separata da virgole):"); define ("_FNCC_FDPADMINOPTOK", "Abilita le opzioni di amministrazione via web:"); define ("_FNCC_FDPSHOWLINK", "Visualizza il link supplementare \"Download\" per ogni file:"); define ("_FNCC_FDPFILELIST", "Visualizza l'elenco dei file nella pagina di riepilogo:"); define ("_FNCC_FDPSUMMARY", "Visualizza un sommario all'inizio di ogni sezione di download:"); define ("_FNCC_FDPVOTE", "Abilita la votazione dei file:"); define ("_FNCC_FDPMAXUSERSIZE", "Dimensione massima in byte dei file che gli utenti possono pubblicare (1Mb = 1.000.000 byte):"); define ("_FNCC_FDPNUMWAITING", "Numero massimo di file in attesa di pubblicazione:"); define ("_FNCC_FDPFILEWAITING", "Nome della lista dei file in attesa di pubblicazione (NON MODIFICARE):"); define ("_FNCC_FDPBLACKLIST", "Elenco degli utenti che non possono pubblicare file (lista separata da virgole):"); define ("_FNCC_FDPMINLEVEL", "Livello minimo degli utenti che possono pubblicare un file:"); ?> flatnuke-2.7.2/INSTALL0000644000175000017500000000572110774774324013756 0ustar simonesimone------------------------ INSTALLAZIONE (ITALIANO) ------------------------ STEP 1 Decomprimi l'archivio: # tar xvfz FlatNuke-x.y.tar.gz Flatnuke distribuito in un archivio compresso, avente estensione tar.gz. Per aprirlo necessario un programma capace di leggere questi file, come ad esempio: 1. 7-zip: per Windows (http://www.7-zip.org) 2. ark o FileRoller: per Linux Si raccomanda di NON usare Winzip in quanto non in grado di estrarre le cartelle vuote presenti all'interno di un file compresso. STEP 2 Imposta le tue preferenze nel file config.php STEP 3 Uploda tutto il contenuto della directory all'interno della root del tuo sito. STEP 4 SOLO SE IL TUO WEBSERVER LO RICHIEDE, imposta i giusti permessi: CHMOD 777 news/ CHMOD 777 misc/ CHMOD 777 misc/firstinstall STEP 5 Guarda il tuo sito. ATTENZIONE! Per AMMINISTRARE il sito occorre creare un account con privilegi di amministratore Se hai apprezzato FlatNuke mandami una cartolina dalla tua citt! Indirizzo: Simone Vellei Via Valtesino, 91 63013 Grottammare (AP) ---------------------- INSTALLATION (ENGLISH) ---------------------- STEP 1 Uncompress the archive: # tar xvfz FlatNuke-x.y.tar.gz Flatnuke is relased in a tar.gz compressed archive. To uncompress it, please, use a software like: 1. 7-zip: for Windows (http://www.7-zip.org) 2. ark or FileRoller: for Linux Don't use Winzip because it cannot extract the empty directories inside the compressed file. STEP 2 Set up your preferences in config.php STEP 3 Upload the Flatnuke directory in your site root STEP 4 ONLY IF ITS ASKED/ALLOWED FROM WEBSERVER, set up permissions: CHMOD 777 news/ CHMOD 777 misc/ CHMOD 777 misc/firstinstall STEP 5 Look at your site WARNING! To MANAGE the site you have to create first an Admin account. If you liked Flatnuke send a postcard of your town to this address: Simone Vellei Via Valtesino, 91 63013 Grottammare (AP) Italy ----------------------- INSTALLATION (FRANCAIS) ----------------------- TAPE 1 Dcompresser l'archive : # tar xvfz flatNuke- X.y.tar.gz Flatnuke est distribu dans une archive compresse en tar.gz. Pour l'ouvrir, il est ncessaire d'utiliser un programme capable de dcompresser ceux-ci, comme par exemple : 1. 7-zip : pour Windows (http://www.7-zip.org) 2. ark ou FileRoller : pour Linux L'utilisation de Winzip est dconseille, car il rencontre des soucis dans l'extraction de dossiers vides. TAPE 2 diter les paramtres dans config.php TAPE 3 Uploder tout le contenu la racine du site web. TAPE 4 SI LE SERVEUR WEB LE DEMANDE, il faudra donner les permissions suivantes (cel dependra de la configuration apache de votre serveur) CHMOD 777 news/ CHMOD 777 misc/ CHMOD 777 misc/firstinstall TAPE 5 Connectez-vous votre site. ATTENTION! Pour ADMINISTRER le site, il faut crer un compte avec des privilges d'administrateur. Si vous apprciez FlatNuke, envoiez une carte postale de votre ville ! Adresse : Simone Vellei Via Valtesino, 91 63013 Grottammare (AP) Italy flatnuke-2.7.2/themes/0000755000175000017500000000000011177641445014200 5ustar simonesimoneflatnuke-2.7.2/themes/flatcry/0000755000175000017500000000000011177641445015644 5ustar simonesimoneflatnuke-2.7.2/themes/flatcry/style.css0000644000175000017500000001737711177637545017543 0ustar simonesimone /*--------------------------------- general page settings ---------------------------------*/ html, body { background: #ffffff; margin: 0; padding: 0; font-family: Verdana, Sans-Serif; color: #000000; text-align: center; } /*--------------------------------- logo ---------------------------------*/ #topmenu { background: url("images/bg.png") repeat-x bottom; width: 100%; height: 84px; } #topleft { float: left; position: relative; width: 90%; font-size: 93%; line-height: normal; height: 84px; } #topright { float: left; width: 10%; height: 84px; background: url("images/logo2.png") no-repeat top left; } #bann { float: left; width: 100%; height: 25px; background: url("images/bg2.png") repeat-x top; } #bann2 { text-align: right; font-size: 55%; margin-right: 1em; } /*--------------------------------- menu ---------------------------------*/ #portalTabs { float: left; width: 100%; font-size: 11px; line-height: normal; } #portalTabs ul { margin: 0; padding: 5px 50px 0; list-style: none; } #portalTabs li { float: left; background: url("images/left.png") no-repeat left top; margin: 0; padding: 0 0 0 9px; } #portalTabs li a { float: left; display: block; background: url("images/right.png") no-repeat right top; padding: 5px 15px 4px 6px; text-decoration: none; font-weight: bold; color: #ffffff; margin-right: 2px; } #portalTabs a { float: none; } #portalTabs li.selected { background-image: url("images/left_on.png"); } #portalTabs li.selected a { background-image: url("images/right_on.png"); color: #ffffff; padding-bottom: 5px; } #portalTabs li a:hover { color: #000000; } /*--------------------------------- block menu ---------------------------------*/ .blockmenuc { width: 100%; list-style: none; border-top: 5px solid #cccccc; margin-bottom: 20px; } .blockmenu a { display: block; text-decoration: none; padding: 2px 20px 2px; height: 20px; line-height: 20px; letter-spacing: 2px; border-bottom: 1px solid #cccccc; font-size: 10px; font-weight: bold; color: #000000; background: url("images/bullet2.png") left no-repeat; margin-top:1px; } .blockmenu a:hover { color: #cc0000; background: #ffeeee url("images/bullet3.png") left no-repeat; text-decoration: none; letter-spacing: 2px; border-bottom: 1px solid #cccccc; margin-top:1px; } .blockmenu .mysel a { color: #bc0000; font-weight: bold; letter-spacing: 2px; border-bottom: 1px solid #cccccc; margin-top:1px; } /*--------------------------------- body structure ---------------------------------*/ #tema { background: #ffffff; width: 96%; min-width: 500px; margin-left: auto; margin-right: auto; text-align: left; } #outer { width: auto; } #inner { margin: 0; width: 100%; } #leftbody, #rightbody { width: 19%; float: left; position: relative; margin-left: 2%; display: inline; margin-top: 20px; } #centerbody { width: 52%; float: left; position: relative; margin-left: 3%; padding-right: 1%; border-right: 1px solid #cccccc; display: inline; } #centerbody_forum { width: 72%; float: left; position: relative; margin-left: 3%; padding-right: 1%; display: inline; } /*--------------------------------- blocks ---------------------------------*/ .block { background: #efefef url("images/imgblock.png") no-repeat bottom right; border-top: 5px solid #cccccc; margin-bottom: 1em; } .blocktitle { height: 25px; margin-bottom: 5px; } .blocktitle .inside { float: right; padding: 0px; margin: 0px; width: 23px; height: 25px; } .blocktitle .title { font-family: arial,sans-serif; font-size: 16px; font-weight: bold; padding-top: 15px; margin-left: 15px; margin-right: 15px; border-bottom: 1px solid #cc0000; color: #cc0000; } .blockcontent { margin: 3px; color: #000000; font-size: 11px; padding: 15px; padding-bottom:30px; } .blocktop { border-top:1px solid #ffffff; border-bottom:1px solid #cccccc; } /*--------------------------------- sections ---------------------------------*/ .section h1 { padding-top: 3px; width: 100%; color: #cc0000; font-size: 18px; font-weight: bold; font-family: Verdana, Sans-Serif; margin-bottom: 10px; border-bottom: 1px solid #cc0000; letter-spacing: 1px; } .section { margin-top: 5px; padding: 5px; font-size: 12px; text-align: justify; color: #000000; } .section span { font-size: 100%; } .sectioncontent { width: 100%; } /*--------------------------------- flatnuke elements ---------------------------------*/ .motd { width: auto; font-size: 11px; padding:5px; border-top:1px solid #cccccc; text-align: justify; background:#efefef url("images/imgblock.png") no-repeat bottom right; } .comment { border-bottom-style: solid; border-bottom-width: 1px; border-color: #d5d6d7; } .footnews { margin-top: 15px; padding: 5px; font-size: 11px; border-top: 1px solid #cccccc; } .footnews a:link { color: #686868; } .footnews a:active { color: #686868; } .footnews a:visited { color: #686868; } .footnews a:hover { color: #0072ff; } #footer { color: #000000; width: 100%; min-width: 500px; text-align: center; font-size: 10px; background: url("images/bg3.png") repeat-x top; margin-top: 2px; padding-top: 20px; padding-bottom: 10px; } /*--------------------------------- common html elements ---------------------------------*/ font { font-size: 11px; } a:visited, a:link, a:active { text-decoration: none; color: #686868; } a:hover { text-decoration: underline; color: #0072ff; } td, th { font-size: 11px; } table { font-size: 100%; } img { border: none; } hr { height: 1px; color: #ccc; background-color: transparent; } h1, h2, h3, h4, h5, h6 { padding: 1px; text-align: left; font-weight: bold; font-size: 11px; color: #696969; } ul { line-height: 1.5em; list-style-type: square; list-style-image: url("images/bullet.png"); } ol { line-height: 1.5em; margin: 0.5em 0 0 2em; padding: 0; } ul a, ol a { text-decoration: underline; } li { margin-bottom: 0px; } dt { font-weight: bold; } dt a { text-decoration: underline; } dd { line-height: 1.5em; margin-bottom: 1em; } dd a { text-decoration: underline; } dd.link a { text-decoration: none; color: Black; } fieldset { border: 1px solid #cccccc; margin: 2em 0em 1em 0em; padding: 1em 0em; } legend { background: White; padding: 0.5em; } form { border: none; margin: 0; } textarea { border: 1px solid #cccccc; color: Black; background-color: #ffffff; width: 100%; padding: 1px; font: 1em Verdana, Sans-Serif; } input { border: 1px solid #cccccc; background-color:#ffffff; font-family: Verdana, Sans-Serif; } select { border: 1px solid #000; font-size: 12px; font-family: Verdana, Sans-Serif; } abbr, acronym, .explain { border-bottom: 1px dotted Black; color: Black; background-color: transparent; cursor: help; } q { font-family: Verdana, Sans-Serif; font-style: italic; font-size: 120%; background-color: #ccc; } blockquote { font-family: Verdana, Sans-Serif; padding: 1em 1em 1em 3em; background: #eeeeee url("images/quote.png") top left no-repeat; color: #696969; } code, pre { font-size: 90%; padding: 1em; border: 1px dashed #2f6fab; color: #000000; background-color: #f9f9f9; } .netscape4 { display: none; } .clr { clear: both; } .noul { margin: 0; padding: 0 0 0 0; list-style: none; list-style-type: none; list-style-image: none; } flatnuke-2.7.2/themes/flatcry/structure.php0000644000175000017500000000306410702744077020416 0ustar simonesimone"; // check if you're in the forum sections $mod = getparam("mod", PAR_GET, SAN_FLAT); if(eregi("_Forum", $mod)) { $into_forum = TRUE; } else { $into_forum = FALSE; } ?>
    flat nuke" border="0">
    "; } else { echo "
    "; } getflopt(); ?>
    Freely inspired to Mollio template
    flatnuke-2.7.2/themes/flatcry/forum.css0000644000175000017500000000624410702744077017512 0ustar simonesimone/* FORUM OVERVIEW */ .forum-header-table { border-style: solid; border-color: #ffffff; border-collapse: collapse; border-width: 1px; background-color: #efefef; } .forum-header-search, .forum-header-wellcome, .forum-header-edit-profile, .forum-header-enter, .forum-header-help, .forum-header-members { border-style: solid; border-color: #cccccc; border-collapse: collapse; border-width: 1px; padding:3px; } /* GROUP */ .forum-group-table { width: 100%; border-collapse: collapse; border: 1px solid #ffffff; background-color: #efefef; } .forum-group-table tr:hover { } .forum-group-title { } .forum-group-name { font-size: 120%; font-weight: bolder; } .forum-group-header { width: 100%; height: 28px; border-collapse: collapse; border: 1px solid #ffffff; background: url("images/fftop.png") repeat-x bottom; } .forum-group-icon-header, .forum-group-arg-header, .forum-group-topics-header, .forum-group-msg-header, .forum-group-latest-msg-header { border-collapse: collapse; border: 1px solid #ffffff; height: 28px; background: url("images/fftop2.png") repeat-x bottom; padding:3px; } .forum-group-icon, .forum-group-arg, .forum-group-topics, .forum-group-msg, .forum-group-latest-msg { border-collapse: collapse; border: 1px solid #ffffff; background-color: #efefef; padding:3px; } /* ARGUMENT */ .forum-arg-table { width: 100%; border-collapse: collapse; border: 1px solid #ffffff; background-color: #efefef; } .forum-arg-table tr:hover { } .forum-arg-icon-header, .forum-arg-mess-header, .forum-arg-pages-header, .forum-arg-msg-count-header, .forum-arg-visits-header, .forum-arg-firstpost-header, .forum-arg-lastpost-header { border-collapse: collapse; border: 1px solid #ffffff; height: 28px; background: url("images/fftop2.png") repeat-x bottom; padding:3px; } .forum-arg-pages, .forum-arg-msg-count, .forum-arg-visits, .forum-arg-firstpost, .forum-arg-footer, .forum-arg-lastpost, .forum-arg-icon, .forum-arg-mess { border-collapse: collapse; border: 1px solid #ffffff; background-color: #efefef; } /* TOPIC */ .forum-topic-table { border-collapse: collapse; border: 1px solid #ffffff; width: 100%; } .forum-topic-user-header, .forum-topic-post-header { border-collapse: collapse; border: 1px solid #ffffff; height: 28px; background: url("images/fftop.png") repeat-x bottom; } .forum-topic-post { border-collapse: collapse; padding: 3px; border: 1px solid #ffffff; background-color: #ffffff; border-bottom: 2px solid #cccccc; height:200px; /*Serve solo per evitare errori di visualizzazione in .forum-topic-post-options */ } .forum-topic-user { border-collapse: collapse; padding: 3px; width: 110px; border: 1px solid #ffffff; background-color: #efefef; border-bottom:2px solid #cccccc; } .forum-topic-footer, .forum-topic-mail, .forum-topic-post-options { border-collapse: collapse; border: 1px solid #ffffff; background-color: #efefef; border-bottom: 2px solid #cccccc; padding:3px; } /* PAGE SELECTOR */ .forum-page-selector { font-size: 8px; border: 1px solid #cccccc; text-decoration: none; background-color: #efefef; } .forum-new { font-size: 8px; border: 1px solid #cccccc; text-decoration: none; background-color: #efefef; } flatnuke-2.7.2/themes/flatcry/images/0000755000175000017500000000000011177641445017111 5ustar simonesimoneflatnuke-2.7.2/themes/flatcry/images/comment.png0000644000175000017500000000121710616423473021256 0ustar simonesimonePNG  IHDRaVIDAT8;hQf}l/DҪ"HP0P mNP H ]ƍ3ҁm{Ι;bfOw.^y1\+"B=Ϧ:pbh`nCDzB}aZ~CjT $HUEUpε&3${z6͗O29r!&3jx5w U?QrL?{zshOR!m"@ #'ͣS!%~Dpεɺ~?'=C<}wIerhkz! A HЎ…(BvRVcf_]s~ ;t {'C28D%YuBu/CI{;%5G$WOe L88p D+t},n9ͦD5"R5FzPGi=W2p 5FDQE$i*Q`x-nT*c*(ʥ;Vo<,rz fbjg3`œ\> yxx\.gWnrY_H$.,Ѕ'IENDB`flatnuke-2.7.2/themes/flatcry/images/motd.png0000644000175000017500000001425510616423473020565 0ustar simonesimonePNG  IHDRbKGD pHYsRR tIME 4'B1:IDATx]ipTו]jh3f`E;NdlE@(L,lIUL&G38Iٱv*IeB&1 b@` aa" R3?Zn%WuKׯs}:tСC:tСC:tСC:tСCG@c.,l@9g>D36lޜNxWμJKKK_|@x'L7 nݪ֭[gƚb _z:t6mt2W9^`BOKKgkAA !aӒBJuuuvZI)?#~l2s1q}`0w,E\@vQ{;۶mśc!zKDD/h>M !^)//Wiiib஄Q/Ѩhn5!M~T`TLho޼yƱbBc)bqGRJVJw5R `f14R;fRhl'Odbb1R0L~D`f"ZQBZ,+R옒ē'&".20xW*B}s_o2lVU7 1.y霓h9:jvQRZIu=bL(3Y )`bms4 p.a Hc['+`̩1!!j RqKOCIiUނ" ½Ykй++a 3*%i@CKL),IQQq#DC]8t:\б keAӀ\gc.(\(S oAmc}¹:}ËG pz.Hf<[H 쵓q̈́u-trV @nzV*Gꛁ7Qɺ"ihlsҡ3e$9<$ԕ7c?KhwVCX ffNd]5H)#:։+=ZȞķ+A|q}rrZ0))#%hb4 + M*̐(G`3'%e32RXT&|;վq,FmN/.^#)Nj4bjzޗ#L]o70sj GzAt|]kŋ4~AO!2BS&x|K0`H9nWRN*l$1EadU& ح:iDӃji4aTi54pV~̃;v( T䛋͕xk!?09l#FA=?@^iBzRlJ)DOʪI0/q}ᄏxÈˌ:~B/+nܩ۪+д;ֵ81;$iZy=0]K7N |0Ohwyl'l;\P$fx2H ?\-F;*ip> ,bj%"Bki$X}Q[MGC.?!FCu@K1|>x<x>2~9(~LD0ͨkNFBR#^Xhi@cc"{^}񚆦-QY [ yPѭåq(7` -8sՌV\;:zn32k .d$ 2KWw x/7@ۖ[bL_{}̆M@ưd:&@ +%"9'TU ߮`}# T][,~۫+B_` #BTGI^Q VU'B mTeE!=x;qTYagXN_.>]`Pd#w:/BSl" 4X>_NbPlDz//S)=C|:]9I&$tElej5DĊF<ݎc Wsކ덁kLUW~09f'{/nPe W"=1L٬>+Jx9)6.wѱx[6'{}-.#wR(IǼ" .oev]406#3̱vMHfM:cd˼[CWaĪ+d f̉f:"Vukcl<4얁~K}+BmB[XIcܚ ʦffh{fAɁ$^cdR2d4g`ƴNyi&~|45;2ݗivN^M *R:Oa=Gc׻٘5쯐MCp1_ymYfo\tae9&uO(<%会>P G/܌w=\fT3:`d+pA'ǹz+ۗ R(+Ծ&L]zCAV~~Kakw(|81ijyMod&iHe)•[kENp4wZQlW1!d@f䙉2 \i>Όf7:WR1Fݍ/:&upi*ci(M ~oMY~g \!0pXkfQ6=Q=''|>A _t0l87IM*Q~z$`!<_v^#{M6[\HFbL9F]&9F F/ORyᕂ|,` I`1( 0cKH8N{} nFczx*w")r"jECCCăDTVVhnqHKKgr4!o !ٌ_ $ִ9s&utt֭[ B|_ ߻w/+ÇujREEo~ʸsssQYY낙m۶M6 χ˪k׮%Jׯ_c=F999{.//_ӑI(**"hɒ%܌^zI fb&v` ?… O .$!>}.]JVYYY8|0|.]J111|2 ު+ LtQp\ىW^yN'vء>Oъ+Y)!~)nRJvv;~\.2|Rtr) '&AJNl68NTUU ։0z)zt:w^e0eh"6LT]]k֬Nkjj8!ȑ#i&d2 29qFaXXϣ6l3f@ii)Fw}7l ^|E5|&¨<Zq6!!!ԩj8D "&&J)L&!H dfff?NqDJHH)Sj~>O~X޸qc![r5hOTnw eu0LӐiӦ<OhYggg _-YPJh4駟s%xΝ;d GsŅ7կ~%ΝKc'O/~ aCjbϞ=p8BZ^y[ozƲiYŢҕ+W߆7d8x͛iN:Ҵ[---<}t-99Y{7vHKNN֯_/{Pw)7l ~|A(f撒%%%iwц2))I-Jmc_֭[jjܹSmذA%p?`fg?㪪*7 jnnF^^p.\1x,<]`ēO>466b˖-L\~]wl6sqqqرcCѦMχ?vIv:Xz5QRR[;3PUU׫zK D9skjjPTTDk֬Ayy9Д)Sh͚5y+ppB=FDѣG1"Ү\µT~>77Wkoo}}On߾]23?2xon7l6UVI-(..DeeeiJ)~*'?bf޼y$"-??_444֞4Qh,|Snn.^{nSevq9sВ%KpM̞=7oī>++ gjgx'跿m蜩SbΜ9бl,_, ?qG}.^.шzΞ=Ab~N!0'"Q{ݱ2Duє1L*|pn4(G4E03Yb_06Ԡ l I_t >5Z$m"T*LooowYյ 䱭ݚ:r,Ů 3U f0ݥ.,GСC:tСC:tСC:tСC# T;pIENDB`flatnuke-2.7.2/themes/flatcry/images/bg.png0000644000175000017500000000117710702744077020213 0ustar simonesimonePNG  IHDRN_F #bKGDC pHYs  tIME /2 IDATxQ cF(Wv? dԪ:{_~gafz5I:CӾRpYZk:91 S)E۶&w\~l1֚uqqeY,ت8 SuTe;]מc3~88MgnUUkj1w M3qn@陛|d/ǾJ)rL!sE9*?=&3ĹsNȉ 0fBl7 ۏZ ?[ m8n^0&&~=1StU1{G%x8 9=@P2qW &>Fhn{y<"Gpe͙ǜSBph̉Iie5Gy)5Q0IENDB`flatnuke-2.7.2/themes/flatcry/images/imgblock.png0000644000175000017500000000401410702744166021402 0ustar simonesimonePNG  IHDR 4ŧ`PLTE຺,=}bKGDH pHYs  tIME 5 {K2IDATxn:Lv嶓eP'“dt$Q:25ƺOh15.;h+hrdjx _C#G9u6AHG:kZa S\T_CiCcE hh/40pRuhWCã SYƺSPC3zoFKj﹯:}z?5Ѧ󢫞g),q2yzμj;2.bZSw}J)9y* <ah$EX ս9]>jh(Ji(8*h 4}nO Q^w@*h56ɀQ\9KGi #gH.#XZ XasN46}fuY CgV/Hj =X>-1X&COcRRcFv-5 ,O)1R?`N1 7Rj[wh]՘:Ji(;XVHc^d(1QP]cU:5@KhL=X[@c>r5fj[\cFqjhaX8󳿅kM5~Э.pivo`I㮷Q-7qjz |=jz5 嚑]1q wfNs"?Z8M.ޮqsΏϫǐ^Pk4KSraQyVjc"wV5ȹKZCR-Ґ8Spא8/B]5d/;υu&f? ٧ƹRLMӶ%m4)Et44̫q4UCи)ݞ?/zK<)O|K%k~C hT ĤW IENDB`flatnuke-2.7.2/themes/flatcry/images/fftop2.png0000644000175000017500000000037410616423473021017 0ustar simonesimonePNG  IHDRfOV pHYs  tIME'9PIDATHݕQ D;Etm1tEQh`3ϧ@D#e f0@"r\o0B*na8[6zɭ8{m, Nu_/,us؍* yͳJchD8eVVz)=^er:'IENDB`flatnuke-2.7.2/themes/flatcry/images/print.png0000644000175000017500000000126010616423473020746 0ustar simonesimonePNG  IHDRagAMAܲgIDATx}MKQ;3lThHPw.T)!ԥ\D\I?+ʊ?Z&$مN=s{>xB4;;Zr\.][[[ܭGJRngg;Jr{oRc q#DkMӉ^jmR(0ENLϜ,BZVh4R s8Rэ*R`J| UTKKoG_9. Gң4.C~^QL##a'''byy__Nɤ :AVw/^sssB<8:W(:xiE:n;疳3ҝd;R3 2i pYM savRv14ae]E `,H q !v,RJH)iZDQaE'N ĕGi!6H) 11F*q_5܍ cfffX__Obaf7M666&ŢZ|{{࠿(g\(=g2^e>,JϵZ~Xk=spp)Q]nIENDB`flatnuke-2.7.2/themes/flatcry/images/subsection.png0000644000175000017500000000076510616423473022001 0ustar simonesimonePNG  IHDRagAMAܲIDATx@7BX+B-}_fKavu XJ 2dl˲? ao߉FǜeYi}߫,*)僙5nsec|j\.<[)"6ưRWURJ.˒E[k?7 "E(_ΫkyncZx3C)@Dg\.ǘN0㚭(],.΀!$zm[c0Ͱn>ї̌  vCL&  |_ Cm"MSu!<σmZȲ ^ϵj>@$o= q7eYJ) Zk4iVϿʏ:=럧gg+7A*bIENDB`flatnuke-2.7.2/themes/flatcry/images/left_on.png0000644000175000017500000000024510616423473021242 0ustar simonesimonePNG  IHDR  bKGD pHYs  tIME 62IDATXʱ Gs'A:S7y8$I$I$I$I$I߲=jIENDB`flatnuke-2.7.2/themes/flatcry/images/read.png0000644000175000017500000000110110616423473020517 0ustar simonesimonePNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?\Μΰ;6 \ Ϗ "}}8ׯ cԔ?(aW@,ldffd H31@`n0waÀݻς`e v 0В 2l@aj cj/ˊǯ >}e|\=@t C~ t_?~0i .y_@^{ Vl9 ߾}g AQ@d_@Ba=g/ >z0` M(_8;w\l;H# @z0/ 0 i"H}.GV @ h6C9"wb@9:IENDB`flatnuke-2.7.2/themes/flatcry/images/bg3.png0000644000175000017500000000022410616423472020263 0ustar simonesimonePNG  IHDRo? pHYs t8tIME 5m3IDAT(c8JH3P(T0`pŰ1 133s48f1]IENDB`flatnuke-2.7.2/themes/flatcry/images/blockfooter.gif0000644000175000017500000000041110616423472022100 0ustar simonesimoneGIF89a!Created with The GIMP! ,H0I8; `(ghlC,x|pȤr#:ƥtJfOz,T-Ϭn56pz@tQH-zrjaXM~?y20 ;flatnuke-2.7.2/themes/flatcry/images/menu.png0000644000175000017500000000032610702744077020562 0ustar simonesimonePNG  IHDRabKGDC pHYs  tIME zcIDAT8c`X]PPN֭ÈMsYY殮. ĉO8Ă{ Ix ƀ'OS5J]=G֋IENDB`flatnuke-2.7.2/themes/flatcry/images/bullet3.png0000644000175000017500000000020410702744166021162 0ustar simonesimonePNG  IHDR | pHYs  ~tIME #IDAT(cр0xT>+$4|8hƒIENDB`flatnuke-2.7.2/themes/flatcry/images/bg2.png0000644000175000017500000000020310616423472020257 0ustar simonesimonePNG  IHDR VK" pHYs t8tIME `"IDAT(c<@)`b5?<,##%$Q 7PIENDB`flatnuke-2.7.2/themes/flatcry/images/left.png0000644000175000017500000000025510702744077020551 0ustar simonesimonePNG  IHDR  bKGDC pHYs  tIME 36%{:IDATXб İ 1vjWiUs!5OAAAA:R3AR-IENDB`flatnuke-2.7.2/themes/flatcry/images/logo.png0000644000175000017500000000255210616423473020557 0ustar simonesimonePNG  IHDR4%bKGD pHYs  tIME 1IDATx[UUPYB%EA6C2rfF J.]t$ J*TcdPCrz8{h]̙v8^ڗ9 """"""""""""""""""""""""""""RtGigfm54.r٦F~a;٫9mkۏݽXڬ3;3]Ǻ [g]+[Gi'%I!'ɟ&y+S7?xN,lw?%®(XKk쮘3y:S} d@se-o?fk|cj-6✺z\f p_&8@OVEC9)3'8ԽA4 8'S< d`_i7v'+9IdIsPmI^@HGI) 37S7o , Tm%mb62w?#]pK|=~~RNʔ}bf_&a#U7x'=ݘ6ైwŹBP7ǍљfU*Qe9&iU>*w>Ew} y@ +U<@J<ݖZ8#gfcâ'z+LO. T]f.wH ЙYqmc,?5P[ t4[N]Sq:)=~ݐ3ZuY3)oe3,?u |syDiDVsC4]Wf\G^`Cz1!dWlw8Q;1@ ;\G52ɾXc6|H?}~V8@Ƒ^{m5:ng&}ޝ8?DO>?Q@F)n'} <*ڿ.w_af"qG쐻;(bL0y9HnMd5IeU&{q{|'d~ޮIMl<|]g9WCfQV{iۀ=cSfv;lTE3Sf'cO63 ̤t7bc2e8 4[@~a07'ٗ/ƒ"""""""""""""""""""""""""""""""YfIIENDB`flatnuke-2.7.2/themes/flatcry/images/bullet.png0000644000175000017500000000024610702744077021106 0ustar simonesimonePNG  IHDR | pHYs  ~tIME 9_WEIDAT(c?р0xT!A5Ccc#]__O%v7ݻfda=F0IENDB`flatnuke-2.7.2/themes/flatcry/images/section.png0000644000175000017500000000120110616423473021251 0ustar simonesimonePNG  IHDRaHIDAT8ukQǿoFk7BZKJ=H,^Z^C#RPP?& -Q V,jcݙy(9G@j103C P$Bl @PkL[(Pe3T|&03C3`0,dSƒ[pNAD`bXkC B 4-W*ՆS\&CԢ{6O!MRۭ{˭r6u; ` UūX L\A>z^JDj:aKY&0V!B Bއ6Mc@'){x\Z>8j1&0)"'Ud#)w "R75U}|`OaXk>~9#Ib8{/o?3g8|׮^"3?\yls9( /xz{;rMEIENDB`flatnuke-2.7.2/themes/flatcry/images/fftop.png0000644000175000017500000000023510616423473020731 0ustar simonesimonePNG  IHDRt< pHYs  tIME9njxAۛ0v*<{}L=6@ D:qrJ:/$ Q^s/'NGF^0Y(F L/--I,˦Hq@"'&i$o~ڦ>DxV>>!! z(--}8;;7`użq($\Ȇ>i X<hfm],mƻm۱O]c x}>=/gE;LP(766Bxf0ׇ(ý-m6A$EYYa0DTa/'"XMR~XxX.BﱸQ9)IENDB`flatnuke-2.7.2/themes/flatcry/images/news.png0000644000175000017500000000120110616423473020561 0ustar simonesimonePNG  IHDRaHIDAT8ukQǿoFk7BZKJ=H,^Z^C#RPP?& -Q V,jcݙy(9G@j103C P$Bl @PkL[(Pe3T|&03C3`0,dSƒ[pNAD`bXkC B 4-W*ՆS\&CԢ{6O!MRۭ{˭r6u; ` UūX L\A>z^JDj:aKY&0V!B Bއ6Mc@'){x\Z>8j1&0)"'Ud#)w "R75U}|`OaXk>~9#Ib8{/o?3g8|׮^"3?\yls9( /xz{;rMEIENDB`flatnuke-2.7.2/themes/flatcry/images/delete.png0000644000175000017500000000125310616423473021056 0ustar simonesimonePNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<=IDAT8kqǿ߾h6!D,>PoDĢ` A {ӳ@7ĈK&lm$xЍ= |?33OyuϏ,KR^qJ,}V}}Xp}P|PorI'?Aˎ5J&^r "T*99Q3L1hΞy8_X]I8mR8h[3jcG1dҒ"+9eR^:"o>ӧNTU>nosz>Qkjlr`&br,Z퀂@pGCp!˦꺐HlM0H.SV츞xKDv4sd($pINNt#x?` B<tq(e͑u7+Q@huic `sssf0jZ6mm|w*cl#bļV5jϞ>*J/hF`1*(ٕKQŢ !q%YIENDB`flatnuke-2.7.2/themes/flatcry/images/quote.png0000644000175000017500000000115610702744166020754 0ustar simonesimonePNG  IHDR#=*bKGD pHYs  tIME DtEXtCommentThe GIMP rulez!yKIDATX햻@9AATxVbChC؞ab|S$6jT;(jnZ"0_Lf $E xn EQ 26 t]L(BVUUHz J)4DQD.8ڻi>L)<@4sZ&I^c ,[ϫ\.?3Ns*zW Ky|()JH$bŢ-K)Lf8"z+ef?; nyp0p\|ZE\pVh4 `&t]JbO`J).&9h4;^>l64 ؓ cahB+q'ֳpvj5$ɷxtJ*}_`o!~l6H$\N-C 1A+詅@& d>A miIENDB`flatnuke-2.7.2/themes/flatcry/images/bullet2.png0000644000175000017500000000015110616423472021160 0ustar simonesimonePNG  IHDR | pHYs  ~IDATxcO `00 a! }`IENDB`flatnuke-2.7.2/themes/flatcry/images/logo2.png0000644000175000017500000000466410702744077020651 0ustar simonesimonePNG  IHDR>SǫbKGD pHYs  tIME ZtEXtCommentThe GIMP rulez!yK IDATx[oLSY?}}Cmі !jbbd3t0 n3~ Yl@Lp2BA#Ea Ĭ-ZHm/-#Pꦿ~h}={ι-@ $@ $@ $@A t:$cuu(9iiiD"B`Yn7XV0SG,Z_tIPXX"99SDrq@T!`\]]ZYYyb6GGGP\ݻwS..--AeYqƲ,bYmҒASpgggp px'N'9<<ٙcwT٭eY4::zi0 "=33SY__{[I cAcI'}Afp,5 >22Տ5a'7.N1!]WW'%BO4Io'xh4_oI-S.xZ㸐{[Bikk{/yT*LĿx!<0 JT*Ui{zz_/B8oQlиJJ$Ym=aح`Nc8}\.7"!}Jm>{\$ hh<DK*x8IF8i@,Lx(\.ʫoU_ ˀ;N[FFFDV Ο24Nӆ;_"]AoA|5oF6Ry/xzz aVc &𷀱 ߿j(aB aܻxFQyu`ll鿉i\.gJ;/$V^7_zl6FuYT188kP!@)@!Jw Ofszd2RRRC0ϿFQTOjj}l6.p8 &i|]---f{_JIfliiA](\VmDH#X6kkknRJKKɷo߶EZpW6@@׷QED;mz=2;;{ܥ+WXx5:͌i'2:ٳkoqLMM } p."ɕw3 :11UMM͆+M/ 'S8-//ionݺbX,wn޼ߠ߃n!TnZh\ͅL8eX:b/w,TQQeAu:]nu:]q{{=`~w겓$ea~4>77w$ϻp vnnn>e2*nv%۽j4+OAg\YYŋۡqg~~n}8188X\VV}H+**^}CQR8RյCCC#Irƾw^aEE˰FRW^M>tПRׯ_| |]:~Fcυ V"G+lllQpόFc9s+]ѮD;/^$E(1,EQ~JQO(C/KcO>=CdNZZcYVdSo޼Bo߾!7$@ $@ lh];#IENDB`flatnuke-2.7.2/themes/flatcry/images/right_on.png0000644000175000017500000000106710616423473021430 0ustar simonesimonePNG  IHDRebKGD pHYs  tIME $IDATx10 4tc%>= 0 @@0 @@0 @@0 @@0 @@0 @@0 @@0 @0 @0 @0 @0 @0 @0 @0 @0  @0  @0  @0  @0  @0  @0  @00 @00 @00 @00 @00 @00 @00 @00 ƙIENDB`flatnuke-2.7.2/themes/flatcry/images/right.png0000644000175000017500000000110110702744077020723 0ustar simonesimonePNG  IHDRebKGDC pHYs  tIME 23LBIDATxס CA O w#Լ'       |a*+        b@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ALRFIENDB`flatnuke-2.7.2/themes/flatcry/screenshot.png0000644000175000017500000002561310666635375020545 0ustar simonesimonePNG  IHDRbG bKGD pHYs  tIME  IDATx}iuz{zv3\")DR,ɴ,űe` K C $ A-BGY)EY9KOO{u~|{z{z(R5 HTtUݺ߹{q~?o{OxaP(qXm,˂a0 e8 àlks;qm pOA8*> 4M߱]󵧎`&z?tA@^{1D"\|_җp%ܾ}GǑqmLLL@Q$I;wZ .\WUXXXؿsN8??J% +$mۚ mò,ض UUh4044˲Jqʕ͟k 1== ˲`&EA$<|w w ǃe!.Ѩ~WҥKxwpA:t-,@ a IAmDQiL;:3}ڵk]K|mFe!htDpT1q|f0=|ֲYjxv٦Y:^τCW_l;3}ԟ\7 ow8N:ǯa>_@4 ,auU%UU!IeY8n6 \.Av8-pg͒WTB @.C,84 ,BEZet`nR}1I-..baa_^/$0,_(0 *t]m8~8aY:uUU!"j/… T*|ydB2O< \r$arrKKK8}Qש{X  F(J&q5MCiihRvC4JJ|>nZFzI΂nVR%IaTUEQ^0 (XE2D<q0 . . hrpEvI؝;w^χ{Vx'0LnٳgqE80 J۶ ˅Ba&^/VVV`&J8X,t:H$, Ar?mK_u߻\y~JE`&gumTofwPpmm ="qbP.Qp!ziA68tЎLrj$<˅zNS(:A(4RDQKF0eY(Jp\Hz0 # X,"^eY躎H$#"usm Vij '00`U`qh4;X^H=1[a0[cu~8-gC&ÇcuucccCZ(p\P `||rBF?8fggYq株*^/@k`w~'q"ǏnP\` aӐC~bYKKKÐ$ rVAe eŰH$BQ=˲)'P\,bvvp  BQ7a8JZ > ӂWkD0`Rb,0|`8F&c~؊7? 0ô#(?ؠ.χ\.H$ux<V:~=5| ?SD!͂,gy5pdX[(`&"2 VVVza6ǑJhձVٳ(ؠK b͛d`pgYnݺYzP*~P(  ¶m|>&A0]w[mAu΀P(cKDfQEx]8VD0 x8"H aJƠ*TUE(P۶)xB^d+,ru ЕLVWWvH$J 22dY (J` JQnT*Q-mrFoF,E$ rz. R R ^bX]]đ 0MB,RGkguE<m0 TUz Zf$udq; O> a(p#e\}LJRfr?0|<<<8X8סi0###(ˈF`lxx\<ɓ4 ,CQ CuI:z!\v @. mZ ~," "bdd q:I;188Y$ 6,`& Àm[Jqieq@ef{Y,DQĿ3toLV&!9TՎR:0 nhRѧCUUb1r9aj5躎ZQ.i8$I(d2BH$00 T0  $iB!TU$\8r t"]>Ocii?AWP,qje4M`gd4<<^6p@ @H$籴Dt˲۶iI'Ot\.WtSD/(oWB~D$Y~J}2&3n@GR! ,˨V4$L&@ EQ:02 |>k Z҂m4jqj5:vx^__!2kJ%DQeq-~<#(pXzRvŏ.?CѧSu>|JбKqDxP(PT P,qi$IR) 0 r9UU111AX,"rhX,bhhr.a08&\DUU$t] Xy:ӎ!@a-j5T*,P( P[oPBE-"t@\.*B4MK_8K墵 ,ˢbW׋bH`sC0Y$P?0pEpI͡\.㩧ᅬD"χ7nٳhڵkKx'G,YW_}7nxӧOgիWiڛH$d:N!"EAZC*㡥hK ay躎d2I!,,,qex^e NQTf P.q D"*DQD0D>쥮(Jppi0 p8l6p8Qc;*lIBnd<G*08SSSQ,LhC$$IHx*͢;M(,"H| `gnл("8 81*D9p2M PL< j'8d@XXBA7_X#4HH$, D"HR@4ET$I$vϲ5wMB׮ZBn& @;P򎤭P P6p'DH$hgG 0џ<c17UZw+4L_@IQ̈́h4q'N#H4,{)e[bkSnFfh4hjM;w 86R |qB3B ,69e333tz 0EJ4uB!$ hOrvHI8iTED[SWwŰ .8g?Bo,*~XWbG?|(/p Ni_ [85B!4 x^4 |_ xz:B~  h`0UUhx"n@Fٴ 6? /@#S`DgB^/ ##`D'vo vt~jJKA8o&ƽjv]l"n6oe9U!\=)׶*ʎH&aߧς##зz*NAHy{jj ӴT{WKC\F8FZ@iH;HG=*'I-0(¶fXWGxD"all bJp{<ŇXȨP4"a0$g{Df6NR0 wU#lbe`&RM`mm eattUn~0di9xV G Mkf=uC@vC'ֶm:l{vyO(Tfhqދ^*7O'90 ,޼]W&8<8o>K+Hۂ P5~GXѧYuiHzRJKJΐD"]qAE:Dn69QJ%rLBJ%An(PTr J%ԤQ !Bi" wxpC[ z"Ah{/ed])#lbq[bYFP@xy^*u'd y:w&Y MqC8FXD8H$jJGI8 AT+ xH7o@7 z "k??-"ڳ̽WcM. #XUVYYN GXZZ7R 3;; 0sK9B: ˲PpW$P8;_|W"ڶR%mM:N7/d^@#AםHzsQ>UDMmۦ҈j^jDtJ۶iB9YKImwt?1j5AT*r]c[t2MNy#4oi@'6N5zzuUyp{XYY`5_ŋQ((a&}Q#tëo}[tn>vl4mrm,~waPTX ѧȑ#X__t>!Y$Ν;?a:u 7nѣGqMHD###UQ>EHgypݨV( 8v.S  IDAT^Hg r99sׯ_G>p-J%9rd[#!<6j=Ro{]xV<ͭ#QMUg3v]#Boѣ0S)qoi\slWo$H5,Dߌ~䢒ƺSnyL2 bHSNYLӤ#ү"2!9ꐵ rz9'=H#^^^Kd@8\rW\xdFg˅`0!/TUZnr ǶQO28Ap"Xib{Xj 4nn+ЗS `ppp덥A@XDXau;88%z:|>jJ/v&O?[nmy ,"C4LMMamm +g~3(B`0rL aiif ~ \zvCK~# NK8a~Im{f2xOnN*-Yv#46)GHP9EMPYهlCi9KCOnHNцNΤfdO¶sY_˲qʦ,IbMOkBc#ZoM,rdY8ӧJPsssۀyR kR3gvD1<ߓ0z/_88s %XȰV;u q$̭ahhc}7˲/ ׋qڍRHmG X:]T*! v.9EclGuuv~mq<܁@kWXj>ޞ!Nߧs$O/ t8%p,Ν;q݄6 ֓, L8"XqX__L` 2 (H~"4$s(ez.#j; :Ç1::JK?yZ#:_ܾ}/^$IjDXĕ+W I"~?dY̫WcrrON8F7n  P(`pp'4M=zT ]ϟ9B;@H^ȿ&~ӽJ7TT000z!\zSSSXZZO?ݓ^j0M }}ݱRAqܖN%)rryG*یwF>ލP"Z"o W^A`l sHҗ^݀O3liPH>ϲ,,(L;imD)U5חxAnhx<(+X3 THJUdV4ʲ|3zu0vPe{"|/`}} DHɖl~:",Xjm 2,A"@VC<q% .Tk5J" kaޕdb0H.QcU SA|aK@~E'KtǚȬ>R7 D Mddb{2qטP0.#HE|2sޚa&APMNNݒ""Hmyu?rI{zS[(p{v`|ޣ:&Q0[=kNP򂪮'^C۶!9_n+g߷V{5=ea%pOL@x0>+ U^Iٛ!HN'#_O]6Sh-Kh$#GbEHccp`8iBòpt} σa - Ζ]`5mo֭T(oaOt`x}J~IE{oDwy[ e;0-l{ yr 1_$6y7!<ѣ3IENDB`flatnuke-2.7.2/themes/flatcry/theme.php0000644000175000017500000000737610702744077017472 0ustar simonesimone\n"); // open a normal table function OpenTable() { echo "
    "; } // close a normal table function CloseTable() { echo "
    "; } // open table title function OpenTableTitle($title) { echo "
    \n

    $title

    \n
    \n"; } // close table title function CloseTableTitle() { echo "
    \n
    \n"; } // close table title for news footer function CreateFootNews($text) { $text = str_replace(".php", "", $text); echo "
    \n"; $news_link = get_news_link_array($text); echo $news_link['news_infos']."
    "; echo $news_link['link_read']." "; echo $news_link['link_comment']." "; echo $news_link['link_print']." "; if(is_admin()) echo $news_link['link_modify']." "; if(is_admin()) echo $news_link['link_delete']." "; echo "
    \n
    \n\n"; } // open a block function OpenBlock($img, $title) { echo "
    \n
    \n"; echo "
    \n
     
    \n
    $title
    \n
    \n"; echo "
    \n"; } // open block of main menu function OpenBlockMenu() { echo "
    \n
    \n
    \n"; } // close a block function CloseBlock() { echo "
    \n
    \n"; } // close block menu function CloseBlockMenu() { echo "
    \n
    \n"; } // function to create horizontal menu function create_menu_horiz() { $mod = getparam("mod", PAR_GET, SAN_FLAT); $father_mod = explode("/", $mod); global $theme; // get menu items $menu_links = list_sections("sections", "links"); $menu_names = list_sections("sections", "names"); if($menu_links == null) return; // print menu $menu_item = _HOMEMENUTITLE; // homesite echo "
      "; $class = ($mod == "") ? "selected":"plain"; echo "\n
    • $menu_item
    • "; for ($i=0; $i < count($menu_links); $i++) { $father_sect = explode("/", $menu_names[$i]); $class = ($father_mod[0] == $father_sect[0]) ? "selected":"plain"; echo "\n
    • $menu_links[$i]
    • "; } echo "
    "; } // function to create block menu function create_block_menu() { $mod = getparam("mod", PAR_GET, SAN_FLAT); $father_mod = explode("/", $mod); global $theme; // get menu items $menu_links = list_sections("sections", "links"); $menu_names = list_sections("sections", "names"); if($menu_links == null) return; // print menu OpenBlockMenu(); $menu_item = _HOMEMENUTITLE; // homesite $class = ($mod == "") ? "mysel":"plain"; echo "
      "; echo "\n
    • $menu_item
    • "; for ($i=0; $i < count($menu_links); $i++) { $father_sect = explode("/", $menu_names[$i]); $class = ($father_mod[0] == $father_sect[0]) ? "mysel":"plain"; echo "\n
    • $menu_links[$i]
    • "; } echo "
    "; CloseBlockMenu(); } // function to create footer site function CreateFooterSite() { $footer_elements = get_footer_array(); echo $footer_elements['img_fn']." "; echo $footer_elements['img_w3c']." "; echo $footer_elements['img_css']." "; echo $footer_elements['img_rss']." "; echo $footer_elements['img_mail']."
    "; echo $footer_elements['legal']."
    "; echo $footer_elements['time']; } ?> flatnuke-2.7.2/themes/nautica/0000755000175000017500000000000011177641445015624 5ustar simonesimoneflatnuke-2.7.2/themes/nautica/style.css0000644000175000017500000001227010467320765017500 0ustar simonesimone/* This is my first designs using CSS, Please visit me at http://www.studio7designs.com or email aran@studio7designs.com if you have any questions. Thanks, and have fun! CSS layout: */ body { margin: 0 auto; padding: 0; font: 76% Arial, Helvetica, sans-serif; background: #f4f4f4 url(images/backround.gif) top center repeat-y; } .box_right { position:relative; float:right; clear:both; width:200px; margin:0 0 5px 10px; padding:0 10px 0 10px; background:#f7f9f7; color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:.9em; } .box_right p { margin:5px 5px; } .box_cnr_top { background:url(images/cnr_tr.gif) no-repeat top right; margin:0 -10px 0 -10px; } .box_cnr_bottom { background:url(images/cnr_br.gif) no-repeat top right; margin:0 -10px 0 -10px; } img.cnr { width:8px; height:8px; border:none; display: block !important; } #leftsidebar { background: #ffffff; color: #303030; margin: 0 auto; width: 760px; } #header { margin: 0 0 8px 0; border: 0; } #header_menu { background: url("images/header.jpg") no-repeat top left; width: 760px; height: 35px; padding-bottom: 10px; } #topmenu { clear: left; float: left; width: 150px; height: 84px; margin: 0 0 10px 0; padding: 0; font-size: 0.9em; color: #ffffff; background: #f7f9f7 url(images/topmenu.png) top left no-repeat; } #little_box { padding: 5px; } #menu { clear: left; float: left; width: 150px; margin: 0 0 0px 0; padding: 0; font-size: 0.9em; } #menu ul { list-style: none; width: 150px; margin: 0 0 10px 0; padding: 0; font-size: 1.1em; } #menu li { margin-bottom: 4px; background-color: #ffffff; } #menu li a { font-weight: bold; height: 20px; text-decoration: none; color: #86C32A; display: block; padding: 5px 0 0 8px; background-color: #ffffff; border-left: 5px solid #86C32A; } #menu li a:hover { background: #86C32A; color: #ffffff; border-left: 5px solid #86C32A; } .leftnews { margin: 1px 0 1px 0; padding: 10px; width: 130px; color: #505050; background-color: #f7f9f7; line-height: 1.3em; } .rightnews { float: right; width: 130px; background-color: #f7f9f7; margin: 0 0 10px 10px; padding: 5px; font-size: 0.9em; line-height: 1.5em; } #rightnews p { margin: 0 0 1.5em 0; } #content { margin: 0 146px 20px 160px; border-left: 1px solid #f0f0f0; border-right: 1px solid #f0f0f0; padding: 0 10px 0 10px; line-height: 1.6em; text-align: left; } #content h2 { font-size: 1.5em; margin: 0 0 0.5em 0; } #content img { /*padding: 0px; display:inline; border: thin none #CCCCCC; background-color: #FFFFFF;*/ } .greenbox { background-color: #f7f9f7; border: 1px solid #94BD53; color: inherit; padding: 5px; margin: 0px; } .bluebox { background-color: #EDF3FE; border: 1px solid #74A8F5; color: inherit; padding: 5px; margin: 0px; } .splitright { background-color: #ffffff; width: 49%; float: right; overflow: hidden; } .splitleft { background-color: #ffffff; width: 49%; float: left; overflow: hidden; } .blogtitle { font-size: 44px; font-family:Arial, Helvetica, sans-serif; color: #74A8F5; font-weight: bold; margin-bottom: 5px; margin-top: 25px; } .blogsubtitle { font-size: 12px; margin: 11px 0 25px 0; font-family:Arial, Helvetica, sans-serif; color: #74A8F5; text-align: left; border-bottom: 2px dotted #86c32a; /* CEE3Ae */ } .block_blogtitle { } h3 { font-size: 1.3em; margin: 0 0 10px 0; border-bottom: 1px solid #d0d0d0; } a { text-decoration: none; color: #74A8F5; } a:hover { text-decoration: underline; color: #86C32A; } a img { border: 0; } #footer { clear: both; margin: 0 auto; padding: 0 0 0 0; border-top: 3px solid #86C32A; width: 760px; text-align: right; color: #86C32A; font-size: 9px; } #footer a { color: #86C32A; text-decoration: none; } #footer a:hover { text-decoration: underline; color: #74A8F5; } .left { margin: 10px 10px 5px 0; float: left; } .right { margin: 10px 0 5px 10px; float: right; } .textright { text-align: right; } .center { text-align: center; } .small { font-size: 0.9em; } .bold { font-weight: bold; } .hide { display: none; } .style3 {color: #666666} .boxtitle {color: #74a8f5; background: url("images/bullet_blue.gif") no-repeat center left; padding-bottom: 8px; padding-top:8px; padding-left: 20px; font-weight: bold; font-size: 1.2em;} .divline {color: #d0d0d0; padding-top: 5px; margin-bottom: 5px; border-bottom: 1px solid;} .style4 {color: #999999} .style5 {color: #FF9933} .style6 {color: #86C32A} .style7 {color: #74A8F5} /* workarounds and hacks */ .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .clearfix {display: inline-table;} /* Hides from IE-mac \*/ * html .clearfix {height: 1%;} .clearfix {display: block;} /* End hide from IE-mac */ TABLE { font-size: 12px; } TD { font-size: 12px; } INPUT { background-color: #f7f9f7; border: 1px solid #a0a0a0; } SELECT { background-color: #f7f9f7; border: 1px solid #a0a0a0; font-size: 12px; } TEXTAREA { background-color: #f7f9f7; border: 1px solid #a0a0a0; font-size: 12px; } flatnuke-2.7.2/themes/nautica/structure.php0000644000175000017500000000176310661124515020373 0ustar simonesimone flatnuke-2.7.2/themes/nautica/forum.css0000644000175000017500000000455610613736726017501 0ustar simonesimone/* FORUM OVERVIEW */ .forum-header-table{ border-style: solid; border-color: #74a8f5; border-collapse: collapse; border-width: 1px; } .forum-header-search, .forum-header-wellcome, .forum-header-edit-profile, .forum-header-enter, .forum-header-help, .forum-header-members { border-style: solid; border-color: #74a8f5; border-collapse: collapse; border-width: 1px; } /* GROUP */ .forum-group-table{ width:100%; border-collapse: collapse; border:1px solid #74a8f5; } .forum-group-table tr:hover { background-color: #EEF4FF; } .forum-group-title{ } .forum-group-name{ font-size: 140%; font-weight : bolder; } .forum-group-header{ width:100%; border-collapse: collapse; border:1px solid #74a8f5; background-color: #edf3fe; } .forum-group-icon-header, .forum-group-arg-header, .forum-group-topics-header, .forum-group-msg-header, .forum-group-latest-msg-header { border-collapse: collapse; border:1px solid #74a8f5; } .forum-group-icon, .forum-group-arg, .forum-group-topics, .forum-group-msg, .forum-group-latest-msg{ border-collapse: collapse; border:1px solid #74a8f5; } /* ARGUMENT */ .forum-arg-table{ width:100%; border-collapse: collapse; border:1px solid #74a8f5; } .forum-arg-table tr:hover { background-color: #EEF4FF; } .forum-arg-icon-header, .forum-arg-mess-header, .forum-arg-pages-header, .forum-arg-msg-count-header, .forum-arg-visits-header, .forum-arg-firstpost-header, .forum-arg-lastpost-header { border-collapse: collapse; border:1px solid #74a8f5; background-color: #edf3fe; } .forum-arg-icon, .forum-arg-mess, .forum-arg-pages, .forum-arg-msg-count, .forum-arg-visits, .forum-arg-firstpost, .forum-arg-lastpost { border-collapse: collapse; border:1px solid #74a8f5; } /* TOPIC */ .forum-topic-table{ border-collapse: collapse; border:1px solid #74a8f5; width: 100%; } .forum-topic-user-header, .forum-topic-post-header { border-collapse: collapse; border:1px solid #74a8f5; background-color: #edf3fe; } .forum-topic-footer, .forum-topic-mail, .forum-topic-user, .forum-topic-post, .forum-topic-post-options { border-collapse: collapse; border:1px solid #74a8f5; } .forum-page-selector { border: 1px solid #74a8f5; text-decoration:none; background-color: #EEF4FF; padding: 1px 3px 1px 3px; } .forum-new { font-size: 140%; border: 1px solid #74a8f5; text-decoration:none; background-color: #EEF4FF; padding: 2px 5px 2px 5px; }flatnuke-2.7.2/themes/nautica/images/0000755000175000017500000000000011177641445017071 5ustar simonesimoneflatnuke-2.7.2/themes/nautica/images/comment.png0000644000175000017500000000130510467103277021235 0ustar simonesimonePNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<WIDAT8KHQ~}846Δ(T!MԊU$F h""2-,"(fB!:=wo ɉ8p9Bѧ>z=)z1t5ۜv\`fo4:F,NKMU( [-{ޝ[4)TD@S 薪c.o- 1Fi|ӓ˦x)>lk٭nBR@ A0,C/z*hjP -k{Em3K̀  (VRbFZrkX Lj;|ISu\O!X6M=Qf{gz0|ho߉j[`鹬k68D*w/ 7ӡܐJ.:|YmlwEd9%BiNKwy̱D;N`_(vۆpij%f< ,5').[2ۧ8.KÂ#2G\1i Ϯ7jbݥ.!IvFg%| *TP}j{k,+U^KF IENDB`flatnuke-2.7.2/themes/nautica/images/motd.png0000644000175000017500000001147710467103300020534 0ustar simonesimonePNG  IHDRq0g]M'RM[TPBZiຖ(^ͦ&$& g▪Uk5Tj5PPVQ ײIJ;hʝ&)WV5%EȞm_X_kgUF@B똞C}~yeJ#Oi]X@HiZyyePkL{8Y?{kWUIĨN]zr'Tؤajf2%DYMY֍CR-bvZa&,u X\!wP*}wrC#@8C/N`(&LCw ӰG]iݣf0`:Lӄh;xx6-^w΋_IrxlZ{zCHv$ &~ӨjE9rR#`(,I61À}¢Ja B)(9wLd) ; -`op\`/~>O=z O9riX0Q*P,?'P@4// 0-&N4p-4oĉӧ*8$Q]]uh04 !Y:u( wHD8}{< WVi%7Nw~qrq.^w JNJӈ,BesJsB'bS "Ղ uC|RT*Uu[ wdu]aV׮]ep{4榫jaB$3 N(,ڵ{56wPXp s$(J8xbGf}9sΝ`a\{)?q)@B)>_ _jtvIg@^ ׭Z2e͎7r-BP,ZX8^ֽ)y;.acn*,D!Ut qa.Y]km  EQy؄Rq{G ';<2ҎG},FZ871]tz(FEH4Hʆı `ڒQ!pcbl3ɴC!1ӑ(+N c@$fhʊMV;%0i'K2ԑv>6Q4EB{ՂdC7g$%N18TO~ $%G!uw18)wg$fI{A>bߎDOf@b|}*ԩ$z X̜DhQ:t D '\‘q#n 8i|n)MdB ھS/;0zFi͗ר[x6TL;u;?ul<(4Fp$f&ÈcujC.G"G]Bu:lFCH綢.R&zUP~բ|Ҿ&扄DqiIz2=OY'ӡ'MH[I،&5diդ+@(`-x;t!}H5MMJ( 6t6џс#KoIF*4cpSMÁ#qj28RXAL`c3d'OE%"1y(웒=h/$@:&hE5\ybq2705)tlFb QSCXA3#.T}P*銍 (` 8d2[$-1BS&`<(Shj(WLJ!I}A#J=&+xHtǞHݱ X^9*_x]4i%sl ,} ͛VV bوjj(( BM%β}b#jGO3ЈSY#ƊMs!ಶoc-n.R ꋈ!*_ZnfbH#&1[B|v~g˲д,QyL}ICsdzX.cZ񝡃N #VlչncG7׻?3$8`Y؜/=%Zt㛗Z`X,z) L\l8~i?J*Nؿgo;GiӌC ־A+ ]I); xO9+HdZG0 \tg/~syKw0:@ZK?UČCْЩql#N5lo:p4[!:(tÔ>,v>f*jEPj7׾դt2퟈C'(}&MPںޡ9rDyՙYcw_ "kӸ{{7;-C#qY C%@ Ew%d nLNqNJ7鿬X[ukęp#Aðo<,1~az"馉>xLL(ӇQ`km4/z$}SV){$zBt`$q[>٥Ga&8e8}+J8v4v]{Ē 3@}Gyb\7;bS3NY. a65PJiqj7\XIcj5>@SDIbv,MPMEnob! T b;&J(C&K&TDc$)qQrP^UlIULԄ8H 9OUpS$čо'HʐG"qЄ/OvX{$z݀6.q٨PRCf!S@ qB k9<w_< MVam 2#.Iۿ;}զHx ѾطKҝ}{ꇞdMx+c2jesl,B67 d2cC)4oľg: Ҩ肟b MIA ԤjKl_90 Ǿ%2)Ȣ&.y˻}RI1ȝD_#xgcw$NM "KMJQi"EC\4(FH cо8MaYh%V6ـO L1O[0d9I? PRA'Iʓ!r" lb߀eQsl,B{tbRIRxuکPfbߤ7#7BF@¢Gb"(Nľ݈YPc3of bH4u*Єv^8wpn{xoG[TNJb2@( 'njRce VN٪ Q8Ծ)'L8ط:ezpS w(djRZHۨcO$GN~SQ~͙f3o1ǂ'*ef^q)̫Ӱƙط|b84ұط\#Rl }5)Ը~L[>:&m? wo^;77@= x^#璪 Hj%T)9$wm&!MCHfl̘0 H)?9J1Z0mook{4Ro4EEx=]+fLxRJbxGBd2ra"rǻl6 c rHs;;;TFЛyJIJC)~!~O爙j>d2tIZVF [kqjqiiiiwqqh%| * !FQKD﯎6} A P.B+|! c5ֈx.}hcLV.x4JmBk4MaRJAjj:1Z#fao0uzG?d10"mONrRJ2 !0 6yIJckkkZ;Vql>Ql~l4DD5ngfBa\Hx'C?afc!IGIENDB`flatnuke-2.7.2/themes/nautica/images/cnr_bl.gif0000644000175000017500000000151310467103277021014 0ustar simonesimoneGIF89af3̙f3f3ffffff3f3333f333f3f3̙f3̙̙̙̙f̙3̙ffffff3f3333f333f3̙f3̙̙f3̙f3ff̙ffff3f33̙33f333̙f3ffffff3ffff̙fff3fffffff3ffffffffffff3fff3f3f3f3ff33f3ffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f33333333f333333333f333f3̙f3f3ffffff3f3333f333f3!,(uH۶iC @6,ā#z[0#pٸ;flatnuke-2.7.2/themes/nautica/images/subsection.png0000644000175000017500000000101410467103300021731 0ustar simonesimonePNG  IHDR G\sBIT|dtEXtSoftwarewww.inkscape.org<IDAT(=hSQc"MZR,N"ҡ8JWN..nN.Q\ ED*hU67ޜ{>mBy}DU9bõK7e>vF뷟HlUp#32`8GybuZ{za&:ucf)^sT.mvV4_YJFhH A3Ʃi6(2~ub>7?)(81h~B$O{{n5wM-KzT_41$Ɏ;h{uꭻ&Ҹ$raԭ4^81Ue{ HBQqFiPLD$N'SCh1rވ,#EcM^3itz )K\mI'+ ?x#RJYESJY/*^'"?yEf?w_MЦ,FSCRVRJYRJY X)K+e)K+e)`V,I+Q)x|(bjs,h79IK7\ (+L$M5"v5H4h%-?,SA 6y?@kB?eUQH01\s0s o1Q'UÖ ;TZ3U["DV04ױM㮴WOh\IW=*R+u?`}~@SWNh>\DI6%"ܯh1bW] 쬗HnܵL†*ϽJXJ3r"ՑbR݋aE(̤X-aY02TRbD]tI6A8®;L@}ߟN1dMg0>Ƿ(jI `kmK%e@TLYINix P?s'+8e {Z8*` e]<ʈ _1y4b/\,36V(Nm8z'0 EQ2WQTLWU1dsX+f\W%(lne-ev7Jˈ$4wON^O- ƍѼ39yδ^W:KZBڶg|[Pg2kX*)ϣXPFxA5jT?\WAu!/YؿOVW 8a#eeRvJ)iopjE{ ;uR,̷Nr``a{?:OW(Ș}/PpORQE񅭳zaQɨ_ח 8`t 2 ]0{'oL ae5iX+⭳zdW1`c vFev.3i-"xlY`i)Ŏz u_MuX0-r'$ q^4ar>ɽeB&;8ՋD sӭc`4R,C TmcbG7*0 v.3|Q_58` 4,x (T st`{mu"ڮ6QIwx!7`B7 (gut]QT N 2mV52ЄS nމ+Q-)ɱx58V<n+pbK{`OK ,J`˙2(rfA&w{Jñh1LS[!aklPS$=^Q&"% :HHɞ.}*Pc 10X1dzXG; TQ|l%E#^3m xtiGtSj3LS&G8c)"P3! ƷIXQ!Z!d{],ze' >YAa{C!`@I*[Q.ȥQ}g4d٫WL$`Ga=[Me%E_n0t`B<*cE:2ۯ9h*Sh:'|{nt^^LB=]n0\4HNptݫ"' r('&~y8hTUoLT.{: DF l rx\nA^4pn3{ ]>5Tx c6s }Ǚ{Z)ȋ?4hJ e9KKܰ=dng(v\dxꀊS4~v@T3r,d`{UιaN_0R*36{3;93oԮᩃ'>,\?EW8J>/31/j 9R]oJKt=kHⅽA0Q$Ry|}uk<ŐL;ܝN"Opl:&g o"sW\4=9|;dqNc+2H=cƗ榻K:<͖%:WwNE 6Fm]k=zTR@1sUmsth]匕PeAP0T# ~Ic@%7F02̈w 8@q>f@lQ[,8l[I1LSa O1j/j\[x*_IݽWJ)?51X[l'q` 芜u#Ć0 h V³Օ"n[ XHPqxtTjاTllVU6Wsd7r^pG$EȮAQ9Fz$x2M8x]Mt8:K3*B2؎9gseYdxKФziL*QJp2 O@~):sՕ 6 c![j%7ޮpoLHFŶGmw2 i5SgcXVZ^7Lu6Xqafg[RBvo?%/r~:3/L\ #7`=g;WE!R{ˆ7ni{%bCC tL8{ Ǽ3Jg/V''v`}O\;_+eXzDAA[#N`-)p_yi ߼K z~XNRcd$,Pg1`gT;}Uo9E-֑tUnGDaI1%Q)!E T+;}8Ԯ,| N ފ;IW^8ήw5H2Q[j%|^?VW 1X6|7/#tj!Ai6/i=b,f`SnSsr{s0Nu0w)mP:W><^%ǃ?LMP*8gt@5?" G`ƨ〯{DsI۰D7vi?_ yS[0LN/Q_}fȔtkg;1LR$d3MA("Au1hrF j?PqRSw.XW%bR==y.=t̻rB }ב :zXP@UUqtD;r겁F1+< O z |rii2߾tx\Ás:j)ҭdS$͑Nf XUܯ$d ~ulf\wlJO] Zc\_7cA}s1ZG,-pWNhQO̷Xcٰ ՉgRę+ZtL6[0stJFjk;WsGbRM1ŗ*iR#nɄujEj# ^ҔAQ›g{ipXI6IIO@Un7d8'cUKݻB¶: &y>$q=3J}+H~nuvŹ`9_ `ts*l_%a{[|>H\(p/r">V@2ב n [X7;T'5-2UdR3oVP,F.hzkͶ$8sOTHoi.,".oôtXn-3$X5 U.jEg r(A`{QocqҎzMI?}(y:47Jժ2 F̤;7 &TKJ'H(Xkt T%oU WxI:z-g[]Q/O.[1꼻ܛn۷eno |c Ω8m\i 3Ƹm.g^/0L\JSӔX,^8dY~bjRŹCXQ KY X /"nOهX`퉌6Ո2H[Ss#5()KQm1m/1O@ҽ/f3ݴrIgC6 ޼H}bRLP=])%l1IENDB`flatnuke-2.7.2/themes/nautica/images/menu.png0000644000175000017500000000154110467103300020524 0ustar simonesimonePNG  IHDRabKGD pHYs ,tIME 9`4IDATxuk[u?$=9=IL횴tuQaCA aވ.?@vzx٫ [un ] liҐ$=I=Nj6}{}y^ 7ׄ`0B( (q{9=mP2HN"*~._r~ 77C/N~z&ɩW KC~pfi/=!Ws#k,s{$hT[3K G./_JdRMVи&?`? 4(wF:7/>_hE&ǧlx0 Ynrgi/_ȈˎO8E^²?>/Ļ>־Uӝ{}#@>96⪉BYA(E !c!Pq/O,X#fIENDB`flatnuke-2.7.2/themes/nautica/images/bullet_blue.gif0000644000175000017500000000011410467103277022047 0ustar simonesimoneGIF89a!,J/84*$xʶ);;flatnuke-2.7.2/themes/nautica/images/cnr_tl.gif0000644000175000017500000000151310467103277021036 0ustar simonesimoneGIF89af3̙f3f3ffffff3f3333f333f3f3̙f3̙̙̙̙f̙3̙ffffff3f3333f333f3̙f3̙̙f3̙f3ff̙ffff3f33̙33f333̙f3ffffff3ffff̙fff3fffffff3ffffffffffff3fff3f3f3f3ff33f3ffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f33333333f333333333f333f3̙f3f3ffffff3f3333f333f3!,(۶aM`7m   -Ę #m;flatnuke-2.7.2/themes/nautica/images/cnr_br.gif0000644000175000017500000000151310467103277021022 0ustar simonesimoneGIF89af3̙f3f3ffffff3f3333f333f3f3̙f3̙̙̙̙f̙3̙ffffff3f3333f333f3̙f3̙̙f3̙f3ff̙ffff3f33̙33f333̙f3ffffff3ffff̙fff3fffffff3ffffffffffff3fff3f3f3f3ff33f3ffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f33333333f333333333f333f3̙f3f3ffffff3f3333f333f3!,( mrM78P[=`o';flatnuke-2.7.2/themes/nautica/images/section.png0000644000175000017500000000101410467103300021217 0ustar simonesimonePNG  IHDR G\sBIT|dtEXtSoftwarewww.inkscape.org<IDAT(=hSQc"MZR,N"ҡ8JWN..nN.Q\ ED*hU67ޜ{>mBy}DU9bõK7e>vF뷟HlUp#32`8GybuZ{za&:ucf)^sT.mvV4_YJFhH A3Ʃi6(2~ub>7?)(81h~B$O{{n5wM-KzT_41$Ɏ;h{uꭻ&Ҹ$raԭ4^81Ue{ HBQqFiPLD$N'SCh1rވ,#EcM^3itz _>[<<)cp90qS,U>(bck1Fc00FGMrmK#ȮMKeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&QeX+o&Qdp" ?/'|_+ǜ,&G"Y咢c}b|)#0!Fq~B|cA#?W_3꾧G? 꿟}oo=w[So=?;]Js̟2ڿvn/m/7P{a?`;6;lTq'P{hmq'P{pgfmN$nͶVĝA񝙶8=y36Zu?vf+TNejI<ٛlS:ۇ;3mq'P{pgfmN$nͶVĝA񝙶8=y36Zu?vf+TNejI<ٛlS:ۇ;3mq'P{pgfmN$nͶVĝA񝙶8=y36Zu?vf+TNejI<ٛlS:ۇ;3mq'P{pgfmN$nͶVĝA񝙶8=y36Zu?vf+TNejI<ٛlS:ۇ;3mq'P{pgfmN$nͶVĝA񝙶8=y36Zu?vf+TNejI<ٛlS:ۇ;3mq'P{pgfmN$nͶVĝA񝙶8=y36Zu?vf+TNejI<ٛlS:ۇ;3mq'P{pgfmN$nͶVĝA񝙶8=y36Zu?vf+TNejI<ٛlS:ۇ;3mq'P{pgfmN$nͶVĝA񝙶8=y36Zu?vf+TNejI<ٛlS:ۇ;3mq'P{pgfmN$nͶVĝA񝙶8=y36Zu?vf+TNejI<ٛlS:ۇ;3mq'P{pgfmN$nͶVĝA񝙶8=y36Zu?vf+TNejI<ٛlS:ۇ;3mq'P{pgfmN$nͶVĝA񝙶8=y36Zu?vf+TNejI<ٛlSzO>?`;6[lSڿa٦+U?%%<~T~?ƛ??ۿ?>z?N/-Sg]flatnuke-2.7.2/themes/nautica/images/modify.png0000644000175000017500000000156410467103300021054 0ustar simonesimonePNG  IHDRsO/sBIT|dtEXtSoftwarewww.inkscape.org<IDAT(e_HSaqscbj3W^ * *HHjqDAH=t RtSXPtERyeC(lɭ?ێuSsyy9j``*|,`B*B.x)">lnnv_)Y,XSScE$Ik2u# .+hN $l6PX)r}/<OU&YiEQ|^wO&Ac+J=1`bbWmm}rrskkkn;4MH$XZZj=#QǟPJ`(c FFFvttEQH&`YB@UU+U!֪zdNZ$h\Nuy+@ tc"Unk*IDATxcZj* @&h:X D4E@F 1\AIENDB`flatnuke-2.7.2/themes/nautica/images/delete.png0000644000175000017500000000137110467103277021040 0ustar simonesimonePNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<IDAT8}MKAƟ慨hV#6 Rڃɒc@=y"ߡ<7s/`  Fd4}֠1t1of!i CWu6F}V^"r8E :'0V:=?~{pb~llۥ\/$i^,-u joy`xT&#uY쌿Y[SݼEcŒiJ^ ezZ|¶˞ pU`ss7isF n$1! ߍ9Nmӑx|J}t8 r".%YcB@e9ՓS"I NN\^No!z]f!jӼ8%n FDݞ{BP "@Ax,Ӵz. ]@WV4Zx:;i<*ysn=ǡ?2 @8Npx2ȜBXe۶B^"PhgPQ԰2VXvX,p a[tD v##'WEp&I`_RDmhY-eYVc9!uh ~[l6QVIjj7MZ-$3ѻ}gX(놱*0d7 IENDB`flatnuke-2.7.2/themes/nautica/images/backround.gif0000644000175000017500000000015610467103277021527 0ustar simonesimoneGIF89a$!,$3X0Ix `(dihlp,tmx|dȤrL;flatnuke-2.7.2/themes/nautica/screenshot.png0000644000175000017500000003245510666635375020527 0ustar simonesimonePNG  IHDRbG bKGD pHYs  tIME (tEXtCommentCreated with The GIMPd%n IDATxoe[9CXU7Ս}Sfd-͌Z1< aC#l 6mY${{֭U,<<>{bV4>;~}x2/?x >nhGIK x~Άye=27; lOEPEᄡtkSIٞa<~vC_.q'Y 8n59>C5%K!1M0Mᬅk݉a FE۱FqLuI>1:k(E0WgjzC󖂡CC;}H%~j xM(Oa a,qӯy3ԟr)N!AH섻&tFAQ$y FUKOLiPѵ(DŽݮ1FDQ(tGP#DDU #>3_^y-?uW#b ,Nvc]_N= -K SF#dmuNCZ[},y P`Pר'\37aBJt zMluWw3%KOE]MU JnWU.L;~tT4D4d 9 L]aSf E?4ODTf*qHg$t UזuJB| %WUqN HofW"t5!:SEVcX-=dH?"8?6c -}֚!yc޹p;{8N88eI`0$۶0ePSJ.a{=v{`3\Us'T90>يw)v3e5S^Z԰[&w N&I~zFCU+/&gyMSՄ~drKg`J,Q+7- MAS?[Eź}R/'b q.4T*>z  /!H 6c$Gle?,D`u__ "Ig$ 6[EwWc\EQ';X@Q%lZʄtG B"ɹy[9UN]ɖqws켜mN3e`#GoX(cSZ UHyt](ި-2XQ ?$=, \@frIT56rl>:S3Eyͬ^BABp\bn$ ~ pD>js-$@" [ttM;d$#I^"!jt:> N㡩&R y⼉@SL"ᡫ0B"H誅јhX,CClb**0Th|LQTQ X9UPxhR"d|X}$}PPq;+zNu2! emD}fgg>xZ hy*n#{*Uo%!Oᣇ8rrO?K')~O˞ss?vo紈|޻\|r`0m8IΠk:B666Ð^|R}C˸Q SO Pz#|gcc{!ׯ_ҥK#~@ G/ _~h_6]} صi\p! y ()KX_~˶rLMM\~i:/r"FN1WO%@ٞULESf5#PaY-Q u83EBĘutP0 #1q\7{;K6 j%s ){ RuRH9r]Po/,%Bb)bł',`㰴|B8iL ӲBP*Bje:R EUB.RJj:STq-48wIӴ}UQX:0XX<㺈80V&f|EU0 /|kB4McffpHR|DKXZāFɚEȐ )&D~ 4P=aq\N$g?bM2DD>O@ XD1|釼wXu_63 EX,),pdS`YX8&>B13Mʮ8Ϗ 11yw672_EboaNLEM8UT% 2[AN ɸuH;UG{Z`Al/Cb):L{&()Wj٥q߿Τ(Aս.v(h56}~'Y)~bߔJejxވvE>Au♳XM\噜fct{#0IJl|cYvwÐE\zEQm~fMCQ\^w~*UNͿ4EJʵ,AUU.q O\@J6`0V#3LODI’UqD> >2Us|Ds4 1{kGobQ,]ƶF!*qS(X4RJerj0 yL2( (70t pq[ZJe@SG ~rsH(FNLNdhds\.wRzGBx1|OIA G W)!B2# /3;R9BJ2"$_ye5iZO!;äǣ(!<]!?q ۯ> l;<+u|Gt," CnBcr,Z! CTU=5_DB,^z{ YFp XETfy#J Q1MLq.Sel!bAPd0*/ouTḺ뙅`X"BLA s/|-!NFL_&`m"\.c;؎3a@bvf~Ofv6Zn )Xc@E]*o`iG!NIBy{],f;6Mvn۱1 wlzG,b,ۢ(}̛u*<[ϰ<9E,/ "!%X~.E D$7bwwӲ EQ9 ?53m& $^1o-)%j{~@T{a@PD:R9y\qR|ߟ?=qC7 GȢ%qjNZqT .W*8e<}9(iIl`X$"I "bM7z"E-BĂΰ9ne[ a0/|<LäQ\.w0_Y|k'RUjts8^%LNϠ/ i(ry,&ϏhZ( }SӉOX*i&hfTiَiYZP,!ęe>aj*MSamBQ_*?K_brrM裏x'R& 0*;;\tW_}]667xYN<ܳwCն{&(ɤ*{l G\j'DqV/ƯL# $&,T?g<L+IySUK 9u!wv}J/?RB8ipgYܮ,l;1yy.} C7Tkt;mgysFcRG$yA LNM^~&u]Uebb}t]pf]>Q_U}G1A4M܉qljlll05= >0Ðn7 ] DmnnK/|ܟHB&**yAsB]BACS &sO>tB!B*wXӈ*ߧŲ5({+U\7m;qST3~~a!54-F!9fuEe8XJe(jXؖMXZ1R)W*.)+W4&lll`ss|g\x_^?Ow%'SUU(VoihZ 8brrfsvZATis ݑ v`{h8\.cRn@7~s"!|TQ ]cYǒX$( uoߢ ^Nlu0L o4> u)+ch 'Ðp#yطit( Bv 1-GC&&&9h6t ]7ƞu;hzx!Y[:U5M#;8|*npWV)W.\$!Q {h%aF8*(c(&EB A$%3~Y8farl5n;"F)%B78>301H"}\kPf)3]PL5VZo*QepUUygڤ~DV*U(b8(I`0Lڭ b"QUZzR7K%b vț QXzP~f]"!i8^/ P ,\. }'QlFcvH֠$;;[cMH&' xވ8E" ۽gBxTDѰ~=Kٞd>.~-!WD>w0MxgR*7 \h4$FA'R)n\CS5(P(R*k Q> gƲ3xsܼ1nXZ>7mAW00 vyWX__C vv /azZDB(<,(xR($.j+_PoLb&`6n"{8s$$4UUf?8(ޘ`]׉BHݢT*'Lt-{N>G$+) }TME 02-E`RL\iؖ3}(Zlj!c8bksk//~7-y\6;;ݻa#^Dl kkk YYfTVeE+ޗհ峴[m Q`ǀa*\|0yvI3z 6/41;?,&t@Q3UUF#*R&X`' äRr'((B ,AۘFOkFTkuTE2=;GE(BtXU8hPʎӍ̮e@%UhF]c zI`VIƒbgg+aA@>_`g{ {oߠ<6ضAIPdBOG߼";ۛTkuv:b7urI8lopa4dbr7V [(1}p84MLj71Mrv<+׮0=37&,Z}Uu] 0|>Oih*|mQAHISEC+?:4MCӴSEix轰8ЍNaki%t|he(b#nDiIhIDAT=E0L àig[`8Wo昞dvnՕ,r8aB #-(`3> 7BU5a ba@8n&ª:AcYvI)Y]JTf{g׺Ώk=ݠO* ¤~/IդdQipH8njyDQD+Tk4ps [!ckkBB( }Zh8$|Fn.GT!^7 hXITuq㘙ل}j:ݝm\. ݼI3^0 Sӳs?}%sR(I@J&>,;T*xp1A1 E"5cDZxfy[I4C |d;!BC~;Nh9{~Nޗ*@iccv* fff0 뫘2*gd6jd5,}\Y =2 ; }\7G$j  }LäbGMBqJ[4  8e0u:f^|6S3XiΞX7nw}|T/: |.:6NclBlg NPW%P*X*^Gse/,.BhN.ʕ/20HQPL+rajjQkK+PNluc݌?!;;9F=)o>_Rq&mBs~ҋ)(Gp0~FY.RtWWrXti\>zSU@<cZ+>+GM\x~cx<&.EC%c> WwbMjlw`IjHX$o+q|J'gA,äPIm:B b*+}R#r+=>X,f8Z-,qEɮMc?Y,e>Īn_UYizo!ͅ9#ɽ0hF#VRr9(}L:k1H*Yy躞LGv} !'l((Y;8 @Ӵ[᱘4mJnzγXľ_hKW2'o_zJѾho>JoM!ֵ 'b(< RrW_|yAv3:q´HI )lmmaf/E29{, ȸ8,..vY[[bjaH~Χ2-^?DNZG@yp6p 5&\18d \]ge'w*!ҋIHIGˢS*>~0 ԳDn{3ϣ( sssGyyb:&^o|{A_U,M8㩥z;`'\SO'!mɹ9Aj ϳm Kۧިh4N>;i;lA$qV8ƶ팝\#m{Ĭ L'[7o.Q ʸ_Q#tA āG'֙l55!n@}t5J2v>)8Ĝ_(i5w|P%qR9*~ܚ=uwD4SP*q|]yh{||e@JXP̙#© ʻ?"g+7yg{3!ٯqq .lj;cw$ ݑB,C!}|e_|AciivK#Q(h6<@1Dm;^N1t!'|qKMbPUz!{zWضr/wIhW<\mhu~7V,h!Z|VÏc\z9s +O>jYoE!&&&/Q,rg1\|9{fR"q&UUf3ڡ\.(JVDʡ1F>͛.hŨBruv%'g~vM2q2rLxbfyJ)TgX,02@-)gb*U S]!5iS{;I#R($n0:[k99,0ċ e5&-s GrS9§J^'IDs!8(4 IitJ*7N:!v;yyHԌL@\KDQT2BHP(dTG8|L7OK4 v/ t]t]:=GxXj72FyM'z<~:(f~_ƍ4ͬy * n[E`oo`$dvv5jZ]R=!#hZؘq39pݤB>ϸD8LOOIR`~~gvr ԓOݻ駟1ȣX,|n FO?C!0 YXX4u>44lii)B!5RשT*v|N&ۣ(b0$}DŽ8m355a099LMMeLMMe gU**JLjjp}&&&2sbbb!617r s<2Yum|r;w|."fQ(N @>U4m? 싧ۃ(:-a{<$ws){> '50 $%GIT,=IWtȒmooc6z=sQc0(q=u3l63djLAmV.zN̠J)ruϔL!dK)=55:\.ۉO?4/_L +?xxD`Tʕ,:B4LĒx8)˙.N0颧J VeTY jlZ AV.!sss LgH4~ò,&&&(:K"p0Veb0Gc \.1GFE/XZC)Bk @$.O8Ӎ,>_m5|2-pXcj"\n"); function my_create_menu(){ $modlist = list_sections("sections", "links"); if($modlist == null) return; echo "

    Menu:

    \n
      \n
    • Home
    • \n"; for ($item_num=0; $item_num < count($modlist); $item_num++) { echo "
    • ".$modlist[$item_num]."
    • \n"; } echo "
    \n"; } function OpenTable() { echo "
    \n"; } function OpenTableTitle($title) { echo "

    $title

    \n"; } function OpenBlock($img,$title) { ?>

    \n"; } // close table title for news footer function CreateFootNews($text) { $text = str_replace(".php", "", $text); echo "
    \n"; $news_link = get_news_link_array($text); echo $news_link['news_infos']."
    "; echo $news_link['link_read']." "; echo $news_link['link_comment']." "; echo $news_link['link_print']." "; if (is_admin()) echo $news_link['link_modify']." "; if (is_admin()) echo $news_link['link_delete']." "; echo "
    \n"; } function CloseTableTitle(){ echo "
    \n"; } function CloseTable() { echo "
    \n"; } // function to create footer site function CreateFooterSite() { $footer_elements = get_footer_array(); echo "
    \n"; echo $footer_elements['img_fn']." "; echo $footer_elements['img_w3c']." "; echo $footer_elements['img_css']." "; echo $footer_elements['img_rss']." "; echo $footer_elements['img_mail']."
    "; echo $footer_elements['legal']."
    "; echo $footer_elements['time']; echo "
    \n"; } ?> flatnuke-2.7.2/themes/nautica/logo.png0000644000175000017500000001503510467103277017273 0ustar simonesimonePNG  IHDRT`!]bKGDt; pHYs  tIME &tEXtCommentCreated with The GIMPd%nIDATx]itUuι{  ƀb;IdI&m?t5Ӧ8ml'$8blld !!ЌwN\{}w9c?|S>)K\mI'+ ?x#RJYESJY/*^'"?yEf?w_MЦ,FSCRVRJYRJY X)K+e)K+e)`V,I+Q)x|(bjs,h79IK7\ (+L$M5"v5H4h%-?,SA 6y?@kB?eUQH01\s0s o1Q'UÖ ;TZ3U["DV04ױM㮴WOh\IW=*R+u?`}~@SWNh>\DI6%"ܯh1bW] 쬗HnܵL†*ϽJXJ3r"ՑbR݋aE(̤X-aY02TRbD]tI6A8®;L@}ߟN1dMg0>Ƿ(jI `kmK%e@TLYINix P?s'+8e {Z8*` e]<ʈ _1y4b/\,36V(Nm8z'0 EQ2WQTLWU1dsX+f\W%(lne-ev7Jˈ$4wON^O- ƍѼ39yδ^W:KZBڶg|[Pg2kX*)ϣXPFxA5jT?\WAu!/YؿOVW 8a#eeRvJ)iopjE{ ;uR,̷Nr``a{?:OW(Ș}/PpORQE񅭳zaQɨ_ח 8`t 2 ]0{'oL ae5iX+⭳zdW1`c vFev.3i-"xlY`i)Ŏz u_MuX0-r'$ q^4ar>ɽeB&;8ՋD sӭc`4R,C TmcbG7*0 v.3|Q_58` 4,x (T st`{mu"ڮ6QIwx!7`B7 (gut]QT N 2mV52ЄS nމ+Q-)ɱx58V<n+pbK{`OK ,J`˙2(rfA&w{Jñh1LS[!aklPS$=^Q&"% :HHɞ.}*Pc 10X1dzXG; TQ|l%E#^3m xtiGtSj3LS&G8c)"P3! ƷIXQ!Z!d{],ze' >YAa{C!`@I*[Q.ȥQ}g4d٫WL$`Ga=[Me%E_n0t`B<*cE:2ۯ9h*Sh:'|{nt^^LB=]n0\4HNptݫ"' r('&~y8hTUoLT.{: DF l rx\nA^4pn3{ ]>5Tx c6s }Ǚ{Z)ȋ?4hJ e9KKܰ=dng(v\dxꀊS4~v@T3r,d`{UιaN_0R*36{3;93oԮᩃ'>,\?EW8J>/31/j 9R]oJKt=kHⅽA0Q$Ry|}uk<ŐL;ܝN"Opl:&g o"sW\4=9|;dqNc+2H=cƗ榻K:<͖%:WwNE 6Fm]k=zTR@1sUmsth]匕PeAP0T# ~Ic@%7F02̈w 8@q>f@lQ[,8l[I1LSa O1j/j\[x*_IݽWJ)?51X[l'q` 芜u#Ć0 h V³Օ"n[ XHPqxtTjاTllVU6Wsd7r^pG$EȮAQ9Fz$x2M8x]Mt8:K3*B2؎9gseYdxKФziL*QJp2 O@~):sՕ 6 c![j%7ޮpoLHFŶGmw2 i5SgcXVZ^7Lu6Xqafg[RBvo?%/r~:3/L\ #7`=g;WE!R{ˆ7ni{%bCC tL8{ Ǽ3Jg/V''v`}O\;_+eXzDAA[#N`-)p_yi ߼K z~XNRcd$,Pg1`gT;}Uo9E-֑tUnGDaI1%Q)!E T+;}8Ԯ,| N ފ;IW^8ήw5H2Q[j%|^?VW 1X6|7/#tj!Ai6/i=b,f`SnSsr{s0Nu0w)mP:W><^%ǃ?LMP*8gt@5?" G`ƨ〯{DsI۰D7vi?_ yS[0LN/Q_}fȔtkg;1LR$d3MA("Au1hrF j?PqRSw.XW%bR==y.=t̻rB }ב :zXP@UUqtD;r겁F1+< O z |rii2߾tx\Ás:j)ҭdS$͑Nf XUܯ$d ~ulf\wlJO] Zc\_7cA}s1ZG,-pWNhQO̷Xcٰ ՉgRę+ZtL6[0stJFjk;WsGbRM1ŗ*iR#nɄujEj# ^ҔAQ›g{ipXI6IIO@Un7d8'cUKݻB¶: &y>$q=3J}+H~nuvŹ`9_ `ts*l_%a{[|>H\(p/r">V@2ב n [X7;T'5-2UdR3oVP,F.hzkͶ$8sOTHoi.,".oôtXn-3$X5 U.jEg r(A`{QocqҎzMI?}(y:47Jժ2 F̤;7 &TKJ'H(Xkt T%oU WxI:z-g[]Q/O.[1꼻ܛn۷eno |c Ω8m\i 3Ƹm.g^/0L\JSӔX,^8dY~bjRŹCXQ KY X /"nOهX`퉌6Ո2H[Ss#5()KQm1m/1O@ҽ/f3ݴrIgC6 ޼H}bRLP=])%l1IENDB`flatnuke-2.7.2/favicon.ico0000644000175000017500000000113210577250662015031 0ustar simonesimonePNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8KkQs2IHRXKTU !Xe@хpQ\T7AA C ƕ n" d_&!H"]$.9wx;q:\'zhRR §gh ?l +G(FԇJ3WoQ@.c;5tCJR2EH5Evht8`۩f(|٧сj DD vpr/<}ms}lۡ҂Ys ~fOd{xW2I8o|N]nש tn| S!3ܽȵ&t%ӈ?}Qڴb@O~kӊ&6^k d,2X.(p~iIENDB`flatnuke-2.7.2/xmlrpc.php0000644000175000017500000001653111040577367014737 0ustar simonesimone\n"; $string .= "\n"; $string .= "\n"; $string .= "\t".$struct['title']."\n"; $string .= "\t".$struct['categories'][0].".png\n"; $string .= "\t0\n"; $string .= "\t".$struct['description']."\n"; $string .= "\t\n"; $string .= ""; $postid = time(); fnwrite("news/".$postid.".xml", $string, "w", array("nonull")); fnlog("News", $addr."||".$username."||News $postid published."); generate_RSS(); return ($postid); } return null; } /* 1. appkey (string): Unique identifier/passcode of the application sending the post. (See access info.) 2. username (string): Login for the Blogger user who's blogs will be retrieved. 3. password (string): Password for said username. */ function getUsersBlogs($args) { include "config.php"; $addr = getparam("REMOTE_ADDR", PAR_SERVER, SAN_FLAT); $blogid = $args[0]; $username = $args[1]; $password = $args[2]; $r_pass = getpass($username); if($r_pass == null) return null; else { if($r_pass != md5($password)) return null; } $a = array(); $a['url'] = $addr; $a['blogid'] = "1"; $a['blogName'] = $sitename; $b = array($a); return($b); } //metaWeblog.getCategories (blogid, username, password) returns array function getCategories($args) { $addr = getparam("REMOTE_ADDR", PAR_SERVER, SAN_FLAT); $blogid = $args[0]; $username = $args[1]; $password = $args[2]; $r_pass = getpass($username); if($r_pass == null) return null; else { if($r_pass != md5($password)) return null; } $modlist = array(); $handle = opendir('images/news'); while ($file = readdir($handle)) { if (!( $file=="." or $file==".." ) and (!ereg("^\.",$file)and ($file!="CVS")) ) { array_push($modlist, $file); } } closedir($handle); if(count($modlist)>0) sort($modlist); $b = array(); for ($i=0; $i < count($modlist); $i++) { $a = array(); $a['description'] = str_replace("_"," ", ereg_replace("\..*","",$modlist[$i])); $a['categoryName'] = str_replace("_"," ", ereg_replace("\..*","",$modlist[$i])); $a['htmlUrl'] = "#"; $a['rssUrl'] = "#"; $b[$i] = $a; } return($b); } //metaWeblog.newPost (blogid, username, password, n.post) returns array function getRecentPosts($args) { $blogid = $args[0]; $username = $args[1]; $password = $args[2]; $npost = $args[3]; $r_pass = getpass($username); if($r_pass == null) return null; else { if($r_pass != md5($password)) return null; } $modlist = array(); $handle = opendir('news'); while ($file = readdir($handle)) { if (!( $file=="." or $file==".." ) and (!ereg("^\.",$file) and ($file!="CVS")) and eregi("xml$",get_file_extension($file)) ) { array_push($modlist, $file); } } closedir($handle); if(count($modlist)>0) rsort($modlist); if($npost > count($modlist)) $npost = count($modlist); $b = array(); for ($i=0; $i < $npost; $i++) { $fd = get_file("news/".$modlist[$i]); $postid = str_replace(".xml", "", $modlist[$i]); $header = utf8_encode(get_xml_element("fn:header",$fd)); $title = utf8_encode(get_xml_element("fn:title",$fd)); $cat = str_replace(".png","", get_xml_element("fn:avatar",$fd)); $a = array(); $dt = date('Ymd',$postid)."T".date('H:i:s', $postid); $dt = new IXR_Date($dt); $a['description'] = $header; $a['dateCreated'] = $dt; $a['title'] = $title; $a['postid'] = $postid; $c = array(); $c[0] = $cat; $a['categories'] = $c; $b[$i] = $a; } return $b; } //metaWeblog.editPost (postid, username, password, struct, publish) returns boolean function editPost($args) { $postid = $args[0]; $username = $args[1]; $password = $args[2]; $struct = $args[3]; $publish = $args[4]; $r_pass = getpass($username); if($r_pass == null) return null; else { if($r_pass != md5($password)) return null; } if(getlevel($username, "home") == 10){ $lockfile = "news/$postid.xml"; $string = get_file($lockfile); $string = ereg_replace(".*","".$struct['title']."",$string); $string = ereg_replace(".*","".$struct['categories'][0].".png",$string); $string = ereg_replace(".*","".$struct['description']."",$string); fnwrite($lockfile, $string, "w", array("nonull")); } else { return false; } return true; } //metaWeblog.editPost (postid, username, password) returns array function getPost($args) { $postid = $args[0]; $username = $args[1]; $password = $args[2]; if(!file_exists("news/$postid.xml")) return null; $r_pass = getpass($username); if($r_pass == null) return null; else { if($r_pass != md5($password)) return null; } $fd = get_file("news/$postid.xml"); $header = get_xml_element("fn:header",$fd); $title = get_xml_element("fn:title",$fd); $cat = str_replace(".png","", get_xml_element("fn:avatar",$fd)); $a = array(); $dt = date('Ymd',$postid)."T".date('H:i:s', $postid); $dt = new IXR_Date($dt); $a['description'] = $header; $a['dateCreated'] = $dt; $a['title'] = $title; $a['postid'] = $postid; $c = array(); $c[0] = $cat; $a['categories'] = $c; return($a); } /* 0. appkey : currently ignored 1. postId : postId is a unique identifier for the post created. It is the value returned by blogger.newPost. postId will look like..."zoneId|convId|pathToWeblog|msgNum". 2. username : the email address you use as a username for the site. This user must have privileges to post to the weblog as either the weblog owner, or a member of the owner group. 3. password : the password you use for the site 4. publish : true/false. Ignored. */ function deletePost($args) { $appkey = $args[0]; $postid = $args[1]; $username = $args[2]; $password = $args[3]; $publish = $args[4]; // security checks $addr = getparam("REMOTE_ADDR", PAR_SERVER, SAN_FLAT); $r_pass = getpass($username); if($r_pass == null) return null; else { if($r_pass != md5($password)) return null; } // check file exists if(!file_exists("news/$postid.xml")) return false; // only admin can delete if(getlevel($username, "home") == 10){ unlink("news/$postid.xml"); fnlog("News", $postid."||".$username."||Deleted news $postid."); return true; } else { return false; } } $server = new IXR_Server(array( 'metaWeblog.getPost' => 'getPost', 'metaWeblog.newPost' => 'newPost', 'metaWeblog.editPost' => 'editPost', 'blogger.getUsersBlogs' => 'getUsersBlogs', 'metaWeblog.getRecentPosts' => 'getRecentPosts', 'metaWeblog.getCategories' => 'getCategories', 'metaWeblog.deletePost' => 'deletePost' )); ?> flatnuke-2.7.2/gallery/0000755000175000017500000000000011177641445014352 5ustar simonesimoneflatnuke-2.7.2/gallery/thumb.php0000644000175000017500000000576010460230564016200 0ustar simonesimone {@link http://marcosegato.altervista.org} * @version 0.6 - 21/07/2006 * @copyright Copyright (c) 2004-2006 * @license http://opensource.org/licenses/gpl-license.php GNU General Public License */ /** * Genera l'anteprima di un'immagine * * Richiamata su un'immagine, ne genera un'anteprima in formato JPEG. * * @author Marco Segato * @since 2.5 * * @param string $image Percorso dell'immagine relativo alla root * @param string $thumbsize Dimensione massima (px) dell'anteprima da realizzare */ function create_thumbnail($image, $thumbsize) { $size = getimagesize($image); // verifico di che tipo e' l'immagine d'origine switch ($size[2]) { case 1: $tmb = ImageCreateFromGif($image); break; case 2: $tmb = ImageCreateFromJpeg($image); break; case 3: $tmb = ImageCreateFromPng($image); break; default: $size[0] = $size[1] = 150; $tmb = ImageCreateTrueColor(150,150); $rosso = ImageColorAllocate($tmb,255,0,0); ImageString($tmb,5,10,10,"Not a valid",$rosso); ImageString($tmb,5,10,30,"GIF, JPEG or PNG",$rosso); ImageString($tmb,5,10,50,"image.",$rosso); } // calcolo delle dimensioni dell'immagine da creare if($size[0]<$thumbsize and $size[1]<$thumbsize) { $new_w = $size[0]; $new_h = $size[1]; } elseif($size[0]>$size[1]) { $new_w = $thumbsize; $new_h = $thumbsize * $size[1] / $size[0]; } else { $new_w = $thumbsize * $size[0] / $size[1]; $new_h = $thumbsize; } // creazione nuova immagine vuota $print_tmb = ImageCreateTrueColor($new_w,$new_h); // gestione trasparenze su sfondo bianco (RBG = 255-255-255) $trasparenza = ImageColorAllocate($print_tmb, 255, 255, 255); ImageFill($print_tmb, 0, 0, $trasparenza); // copio immagine di partenza sulla nuova con trasparenze su sfondo bianco ImageCopyResampled($print_tmb,$tmb,0,0,0,0,$new_w,$new_h,$size[0],$size[1]); // rilascio dei dati nel browser e pulizia della memoria ImageJpeg($print_tmb,'','80'); ImageDestroy($tmb); ImageDestroy($print_tmb); } /* --------------------------------------------------------------------------------------------*/ /* * Verifiche di sicurezza sui dati richiesti */ if(isset($_GET['image'])) $image = $_GET['image']; else $image = ""; if(isset($_GET['hw'])) $hw = $_GET['hw']; else $hw = ""; /* * Elaborazione dei dati */ include_once("../shared.php"); if(file_exists("../$image") AND !stristr($image,"..") AND (file_exists(dirname("../$image")."/gallery")) AND eregi("(jpg|jpeg|png|gif)",get_file_extension("../$image"))) { /* porto memoria (limitatamente a questo script) a 20mb per superare impostazione di default nelle installazioni di PHP che e' 8mb */ ini_set ("memory_limit","20M"); create_thumbnail("../$image", $hw); } ?> flatnuke-2.7.2/gallery/gallery.php0000644000175000017500000007214711040603570016517 0ustar simonesimone * Website http://marcosegato.altervista.org * Versione 0.8 * Data 06/10/2007 * */ // informazione per log $zone = "Gallery"; // previene che il blocco sia eseguito direttamente e redirige a index.php if (eregi("gallery.php",$_SERVER['PHP_SELF'])) { Header("Location: ../../index.php"); die(); } // configurazione flatnuke include ("config.php"); // security declarations $myforum = getparam("myforum", PAR_COOKIE, SAN_FLAT); $ip_indirizzo = getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL); $mod = getparam("mod",PAR_GET,SAN_FLAT); $req = getparam("REQUEST_URI", PAR_SERVER, SAN_NULL); // configurazione galleria $gallerycfgdir = "misc/gallery"; // directory $galleryconf = "misc/gallery/".str_replace("/","",$mod).".conf.xml"; // configurazione gallery $gallerycomm = "misc/gallery/".str_replace("/","",$mod).".comm.xml"; // commenti a galleria $galleryfeed = $gallerycfgdir."/".str_replace("/","_",$mod).".xml"; // rss feed // colori global $bgcolor2, $bgcolor3; // opzione di sicurezza! if(strstr($req,"myforum=")) die(_NONPUOI); // controlla se il web server ha le librerie GD if(!function_exists("ImageJpeg")) { if(is_admin()) print("
    "._FIG_TXT_NOGD."

    "); $gd_flag = FALSE; //return; // se le librerie non sono installate, al posto della miniatura sara' visualizzata l'immagine originale rimpicciolita } else $gd_flag = TRUE; // controlla esistenza directory con file di configurazione in /misc, se non c'e' la crea if(!file_exists($gallerycfgdir)) { mkdir($gallerycfgdir, 0777); } // controlla esistenza file di configurazione in /misc/gallery, se non c'e' lo crea if(!file_exists($galleryconf)) { fnwrite($galleryconf, "\n2\n3\n175\nN\nN\n", "w+", array("nonull")); } // controlla esistenza file commenti in /misc/gallery, se non c'e' lo crea if(!file_exists($gallerycomm)) { fnwrite($gallerycomm, "\n", "w+", array("nonull")); } // controlla esistenza feed rss, se non c'e' lo crea if(!file_exists($galleryfeed)) { generate_Gallery_RSS($mod); } // azioni in POST da configurazione admin $action = getparam("action", PAR_POST, SAN_FLAT); if (($action != "") AND is_admin()) { // configurazione numero colonne e righe tabella immagini if($action=="numcolsrows") { $num_cols=getparam("num_cols", PAR_POST, SAN_FLAT); $num_rows=getparam("num_rows", PAR_POST, SAN_FLAT); if(($num_cols!="") AND ($num_rows!="") AND is_numeric($num_cols) AND is_numeric($num_rows)) { $file_dati = get_file($galleryconf); $file_dati = str_replace("".get_xml_element("fig:columns",$file_dati)."","".$num_cols."",$file_dati); $file_dati = str_replace("".get_xml_element("fig:rows",$file_dati)."","".$num_rows."",$file_dati); fnwrite($galleryconf, "$file_dati", "w+", array("nonull")); fnlog($zone, "$ip_indirizzo||$myforum||Number of columns and rows saved."); } } // configurazione dimensione thumbs elseif($action=="dimthumbs") { $hw_thumbs = getparam("hw_thumbs", PAR_POST, SAN_FLAT); if($hw_thumbs!="") { $file_dati = get_file($galleryconf); $file_dati = str_replace("".get_xml_element("fig:dim-thumbs",$file_dati)."","".$hw_thumbs."",$file_dati); fnwrite($galleryconf, "$file_dati", "w+", array("nonull")); fnlog($zone, "$ip_indirizzo||$myforum||Thumbs dimensions saved."); } } // configurazione commenti elseif($action=="confcommenti") { $commenti=getparam("commenti", PAR_POST, SAN_FLAT); if(($commenti!="") AND (($commenti=="Y") OR ($commenti=="N"))) { $file_dati = get_file($galleryconf); $file_dati = str_replace("".get_xml_element("fig:commenti",$file_dati)."","".$commenti."",$file_dati); fnwrite($galleryconf, "$file_dati", "w+", array("nonull")); fnlog($zone, "$ip_indirizzo||$myforum||Comments configuration saved."); } } // configurazione upload da utenti registrati elseif($action=="upload_by_regusers") { $reguploads=getparam("reguploads", PAR_POST, SAN_FLAT); if(($reguploads!="") AND (($reguploads=="Y") OR ($reguploads=="N"))) { $file_dati = get_file($galleryconf); $file_dati = str_replace("".get_xml_element("fig:reg-uploads",$file_dati)."","".$reguploads."",$file_dati); fnwrite($galleryconf, "$file_dati", "w+", array("nonull")); fnlog($zone, "$ip_indirizzo||$myforum||Registered users upload configuration saved."); } } // eliminazione file commenti e creazione di uno vuoto elseif($action=="delcomm") { unlink($gallerycomm); fnwrite($gallerycomm, "\n", "w+", array("nonull")); fnlog($zone, "$ip_indirizzo||$myforum||Comments deleted."); } // upload nuova immagine elseif($action=="upload") { if(!is_writeable(getparam("path", PAR_POST, SAN_FLAT))) { ?>",$what); $string = get_file($gallerycomm); // si tratta del primo commento inserito if(!stristr($string, "")) $string = "\n\n\t\n\t\t$by\n\t\t$what\n\t\n\n"; // c'e' almeno un commento gia' inserito else $string = str_replace("", "\t\n\t\t$by\n\t\t$what\n\t\n",$string); fnwrite($gallerycomm, stripslashes("$string"), "w", array("nonull")); fnlog($zone, "$ip_indirizzo||$myforum||New comment."); echo ""; } // directory dove sono presenti le immagini $path = "sections/$mod"; // carico tutti i files immagine in un array $dir = opendir($path); $n_file = 0; while ($filename = readdir($dir)) { if(@getimagesize($path."/".$filename)!=FALSE AND !stristr($filename,"none_")) { $array_dir[$n_file] = $filename; $n_file++; } } closedir($dir); // ordinamento alfabetico dell'array if($n_file!=0) { natcasesort($array_dir); $array_dir = array_values($array_dir); } // visualizzazione maschera per inserimento commenti if (getparam("inscomm", PAR_GET, SAN_FLAT) !="") { OpenTableTitle(_FIG_ADDCOMM); if($myforum!="" OR $guestcomment==1) { // controllo se utente non registrato puo' postare o no if($myforum=="") $by = _FIG_SCON; // utente sconosciuto else $by = $myforum; // utente registrato echo "

    "._FIG_COMMENTI."



    "; } else echo _FIG_DEVIREG." ".$sitename." "._FIG_DEVIREG2; // utenti non registrati non possono postare CloseTableTitle(); echo "
    "; } // carico la configurazione della galleria in variabili $file_xml = get_file($galleryconf); $cols = get_xml_element("fig:columns",$file_xml); // numero di colonne tabella immagini (2 di default) if($cols=="") $cols = 2; $rows = get_xml_element("fig:rows",$file_xml); // numero di righe tabella immagini (3 di default) if($rows=="") $rows = 3; $hw_thumbs = get_xml_element("fig:dim-thumbs",$file_xml); // dimensioni thumbnails (175 di default) if($hw_thumbs=="") $hw_thumbs = 175; $commenti = get_xml_element("fig:commenti",$file_xml); // abilitazione commenti (abilitati di default) if($commenti=="") $commenti = "Y"; $reguploads = get_xml_element("fig:reg-uploads",$file_xml); // abilitazione uploads da utenti registrati (disabilitati di default) if($reguploads=="") $reguploads = "N"; // menu_admin - gestione galleria if(is_admin()) { ?>

    "._FIG_TXT_NOIMAGES.""; // upload nuova immagine se funzione e' abilitata per utenti registrati if($reguploads=="Y" AND ($myforum) AND versecid($myforum)) { OpenTable(); ?>
    "; else echo ""._FIG_ALERTNOTWR."";?>
    "; } else { // INIZIO PROCEDURA STAMPA GALLERIA $pag = getparam("pag",PAR_GET,SAN_FLAT); if( !is_numeric($pag) OR $pag<1 OR $pag>($n_file/($rows*$cols)+1) ) { $pag = 1; } // stampa menu_top select per cambio pagina menu_change_page("toppage", $n_file, $rows, $cols, $pag); ?>"; $nomefile = $array_dir[$i-1]; $nomefile = eregi_replace("^[0-9]*_","",$nomefile); // elimina i numeri iniziali $nomefile = eregi_replace("_"," ",$nomefile); // converte _ in spazi $nomefile = eregi_replace("[\.]*[a-z0-9]{1,4}$","",$nomefile); // elimina l'estensione $size = getimagesize($path."/".$array_dir[$i-1]); ?>"; } while (($i-1)%$cols != 0) { // stampa casella vuota per terminare correttamente la riga echo ""; $i++; } ?>
    " title="">" alt="thumb" /> $size[1]) { $new_w = $hw_thumbs; $new_h = $hw_thumbs * $size[1] / $size[0]; } else { $new_w = $hw_thumbs * $size[0] / $size[1]; $new_h = $hw_thumbs; } ?>" height="" width="" alt="thumb" /> &hw=" alt="thumb" />
    "; else echo ""._FIG_ALERTNOTWR."";?>
    <?=_BACKEND?>
    "._FIG_COMMENTI." | "._FIG_ADDCOMM.""; CloseTable(); $file_xml = get_file($gallerycomm); $comments = get_xml_element("fig:comments",$file_xml); $comment = get_xml_array("fig:comment",$comments); for($n=0; $n"; if($user == _FIG_SCON) echo ""._FIG_DA." "._FIG_SCON; else { // inserisco l'avatar nei commenti if(file_exists(get_fn_dir("users")."/$user.php")) { $userdata = array(); $userdata = load_user_profile($user); $img = $userdata['avatar']; if($img!="") { if(!stristr($img,"http://")) echo "avatar"; else echo "avatar"; } else echo "avatar"; } else echo "avatar"; // fine avatar print ""._FIG_DA." $user"; } echo "

    ".get_xml_element("fig:what",$comment[$n]); print "
    "; echo "
    "; } } ?> ($rows * $cols)) { ?>
    1) ? ("«") : ("«"); echo "  "; echo $arrow_left = ($pag > 1) ? ("") : ("‹"); ?>     ›") : ("›"); echo "  "; echo $end_right = ($pag < $last_pag) ? ("»") : ("»"); ?>
    "" AND eregi("(jpg|jpeg|png|gif)",get_file_extension($_FILES['file_up']['name']))) { //controllo che il file non sia gia' esistente if(file_exists("$path/".$_FILES['file_up']['name'])) { ?>"" AND eregi("(jpg|jpeg|png|gif)",get_file_extension($_FILES['file_up']['name']))) { $new_file = explode(".",basename($_FILES['file_up']['name'])); $n = count($new_file) - 1; //controllo che il file non sia gia' esistente if(file_exists("$path/$new_file[0]_by_$myforum.$new_file[$n]")) { ?>/misc/gallery.xml che contiene le immagini presenti nella gallery; il file XML * e' strutturato per essere letto con un normale aggregator RSS, ed e' compatibile * con le {@link http://feedvalidator.org/docs/rss2.html specifiche RSS 2.0}. * * @param string $sectionName Nome della sezione contenente la Gallery di cui si vuole generare il feed RSS * * @author Michele Tartara */ function generate_Gallery_RSS($sectionName) { global $sitename, $admin_mail; $gallery_dir = 'sections/'.$sectionName; $url = "http://".getparam("HTTP_HOST", PAR_SERVER, SAN_FLAT).getparam("PHP_SELF", PAR_SERVER, SAN_FLAT); $url = str_replace(basename($url),"",$url); $gallery_url = $url."index.php?mod=".$sectionName; // tag apertura del feed $body = "\n\n\t\n"; // informazioni generali sul feed $body .= "\t\t$sitename - Gallery\n\t\t$gallery_url\n\t\t\n"; $body .= "\t\t$admin_mail\n\t\tFlatNuke RSS Generator - http://www.flatnuke.org\n"; $body .= "\t\t".date("D, d M Y H:i:s",time())." GMT\n"; // carico array con le news ordinate per data $handle = opendir($gallery_dir); $modlist = array(); $count = 0; while ($file = readdir($handle)) { if (eregi("jpg$|jpeg$|png$|gif$", get_file_extension($file))) { $modlist[$count]['name'] = $file; $modlist[$count]['time'] = filemtime($gallery_dir."/".$file); $count++; } } closedir($handle); if(count($modlist)>0) { // time descending order usort($modlist, create_function('$a, $b', "return strnatcasecmp(\$a['time'], \$b['time']);")); $modlist = array_reverse($modlist, FALSE); } // creazione tag per ognuna delle news for ($i=0; $i < count($modlist); $i++) { $filename = $gallery_dir."/".rawurlencode($modlist[$i]['name']); $link = $url.$filename; $mytitle = $modlist[$i]['name']; $mytitle = eregi_replace("^[0-9]*_","",$mytitle); // elimina i numeri iniziali $mytitle = eregi_replace("_"," ",$mytitle); // converte _ in spazi $mytitle = eregi_replace("[\.]*[a-z0-9]{1,4}$","",$mytitle); // elimina l'estensione $body .= "\t\t\n"; $body .= "\t\t\t$mytitle\n"; $body .= "\t\t\t$link\n"; $body .= "\t\t\t]]>\n"; $body .= "\t\t\t$link\n"; $body .= "\t\t\t".date("D, d M Y H:i:s", filemtime(str_replace("%20"," ",$filename)))." GMT\n"; $body .= "\t\t\n"; } // tag chiusura del feed $body.="\t\n"; // scrittura del feed fnwrite("misc/gallery/".str_replace("/","_",$sectionName).".xml", $body, "w", array("nonull")); } ?> flatnuke-2.7.2/gallery/layout/0000755000175000017500000000000011177641445015667 5ustar simonesimoneflatnuke-2.7.2/gallery/layout/loading.gif0000644000175000017500000000426610376105647020002 0ustar simonesimoneGIF89a((ŽsssfffRRRJJJBBB:::333! NETSCAPE2.0!,((%^UIhl)$ bx43 @,$рXbC0جv Ie(Xzn8a ~ fx{e~ew4{}zz|y} yyvy yT}{ y| |8P(? +} %d@ (!fD=/*ȸh#n)hL%D4,S>3AT^S@Az3Ry `S[+^˙: /%u0%z sTńj8 θP¥i8$1aװc˞M;!,% ejFP1BИDE9K!, $FeB "0RΖVP(=9ݎ\~'',"p*$qyQq+mr"")!!,%ue C+k3"[ 35Y ˄@lB2P(`"% }HDIB(+Fc~~:B}?"\[!!,z%eeZ*0ᰲ8˲pT PGP!]s}@jPB IF'òz; ~p, Vj"MD "'_(" ie"j#`+kj!!, %0(: 1 ˢQ3kRZag! dF +zEB8rw! aW`Dܢ '&O"/  /f"' ##{w'V6C!!, %dif 'A@ C CQD0ШB8 zNWEUU*8" A(%"YP(C-Jm"v=x""' 9i 4Z# /#/R4!!, y%dif 5B k#y$vPF9Z& 8lA Ha:kR{8[" r#>u] t ;U s7v"n0{V1!!, yVihjpDĸU8oH,! \6Qaq5- @B_`0 LК Ҡm 7es? /L+? j aS8 u[(yE9!! ,((%dihlp,tmxہH⧂D DT"HGD,@Q1pZHK"0 z:0Ax$Y)5 ,T3 >"s$P"7"H#6 ]; _: #9dy&!;flatnuke-2.7.2/gallery/layout/shrink.gif0000644000175000017500000000031710376105647017654 0ustar simonesimoneGIF89a""333!,""-A4ؘe](IV*n2QKW:d"3y|dc r:3baqy}RkZϋJ9{wVF8Hfؘ HȳPDUxEc5gcT(SR Әg;R;flatnuke-2.7.2/gallery/layout/blank.gif0000644000175000017500000000015610376105647017446 0ustar simonesimoneGIF89a@@!,@@Eڋ޼H扦ʶ L ĢL*̦ JԪjܮP;flatnuke-2.7.2/gallery/layout/expand.gif0000644000175000017500000000032110376105647017630 0ustar simonesimoneGIF89a""333!,""-A4ؘe])~3N{íVŪt/[:cnXRSFp0D&mӭfKƧU蔘n1qUEv8ҕX5HEGҔd8up$I 7cv#2TXHcS;flatnuke-2.7.2/gallery/layout/watermark.png0000644000175000017500000002142510376105647020375 0ustar simonesimonePNG  IHDRddpTbKGD pHYs  tIME) wtEXtCommentThe GIMP rulez!yK IDATxytu[U@AWQHEyQ,Yeˣ؎"k$(ǎIF3hqGđOjҮG?{_ߵ@z8M{98R\|]C,D09c!V,ȱ#˕,脎9>Z3'ToXEoNp3{2$v8 ZW[R^Ţ]owԟ|-mo=>_Wru2 ;Yš,kɱbqٳ\-kX@&"#TC5: !H|tV%! 9\QLe֬*wyNC` LG+Tw| }-?-<{=qB5Ț#ܹXCP"@: Mv{ EkׇJj#rrl=-Zf}]kQDjEˤ}M{.`}q*V~D.βQ,aɬqC5%JB f!s# T'C`.c>QHcgx&?8oDm)J~i>dnzۏ %}ֽݟ(﨨&$l/Cdq`)p ȝd) Hu99 ߌBh.[Z&evyU%rX c3VP,ʗʋ/_?q׿Cݺ~/TV("h/eoGyU^8+A>> >|̝Se:Db 4*Ր"j3Bnʤ[#+Yd"3[K\Ml #CEwf_߱oz][f,\׵s +Oݺ"Kg n&*jX܁@xc p=1IgD۲ +Qf# '<._]a?'àR.y ;?޷F/)X38zrsjXZ⚅{pۇF\ r=¯ r BC GqDOJixX#4ApE ,@u8TX0evs.8m\Kd#}n0pI u>>HB,XzAn%KP0C,:c! &VR'lGm0Ḱ Ge.xKKc iXT*3Әto{@>N{6Uò}|wvss> >jk;v<'3qmCQ*%CNgT"$tkh!ЍY9Cl0XhF3Dox]uސy#'=7;rb huo,ՙq+D UjBLp8,x9j?jԷQcN1 rDZ=n -c5Ajs7~˻[j3cE=:+le [vNLʛ>Hk~V!q,<@"ds>-͊ @ Dd>q>%>'z}6j V۶bK?/@C;o`޲iPFX ͣm/5 TUB=EgCl1hiQ"?wń Dڀ~X̥g.#'``+^`뭷g綗/@ҋ^r<pP7/uOݷƶt9"Y:;arE(3q xԯM@+Ѓ0H&]qF|C#B{ıBE!bH:OA"ep ]|}1(- oGX=؟"Nç/P5c! P ], q"u7mm7 '1W+w^T}xp(Úyݼ,T9DDX!xx+{;(0w <9p9ʕC*U̲f~ʞdCwЂ&=nUu=\VAxAB<{o(A'?g:߭H"mEVxM=k \]{얋"?Dlj߷ĔYԲS&Ȭ׫S+%=UpNƴx]CqF]>k%g` _=0\7:.@~d=dzVRHCCb0сZB/Q916B΍IS*ޤ<?[^oǘ@}y&Q7PyAV1D|ny0 g|t@{6_\aAbU*k,YP 2 oЧ 3r:\T Z9km,rmYgytF|%:R>90S+o~9//TZC&K&] !̮U|#-e{ w5L2۲y Pܰz&LsPr|3mzH]n&0n#\\OW39pW J)e,+GA:Pݰp fH@M-ŶY C(W`i4+*t2(#PЌ#Oӆ E5%C,_g?;0 c9 tcN@^ڴ=/.7* bm3ݠPfB9G0w6S&`COխ\qbg\W{̫g%vF Vèf"=eE[ʔLEȍW>ڶ ![('b1eqGtzT@C׍X$lK,X!q3>Yንs}욉G#`a?D:у K:r T"RXz-,{&qA=7t*v8t+gej@U #beݛ Ivͤ54Cv X3^]\QY p Os0JMўzƤǛxx+;Z<:< 4Sݥ%H_<)F jqgvKQ0҈(aT5vSJnN0Oi\%r9 TNdɸo}%L5`-J!Z (m-.rCq0 RcA%h)UCo&Rϲ ׏xg&i3Z u"#:WVh,&f/%/rHo=浗7ԏ~ĚI\+FT1$w H1څ'ñg;@%SoC`#,OSFRx{qX0mk[uތ0&j3r$ Gƌ6B!7V0f)xS fK eG Q0Zt#PSrVWCXŪef4Ą_h ښ@At_hcva-φH]E0F^ RVkWBMg j5#ILX>9'P AUB­2j[R[:38;uVu%ԽR75pyM7j\p+.'%ۭzYL 9ͨ'jJ`PbNrj^T*v8HmK^ V~W&7d ]>^Qq:j~:ZsG/&c5#?t's2NKwEk^Txj?SFF\pmC"z\ Cwo1V Ʒ"5$350qT_)q?%L>Tu(/FR:[L51XZ55PXt8`Q"Jb6zUJ ήF m328{.SJ: TFl!a 3:UB!0'G q$HG`j)cCϔ d=/-(R#&X{yXČ =XL$%xPGnJ"V$X35`j(^։A3Dij1~ 18]P&tXSٵؼ'IX3N$r|?j?q$YzːhkȞ31Bʮz9'@*1NfЖ7H_Eזz(e0%ԔA+@afvP0g tcrbdJ-Тet%;"&p$xeDZTp\yN3Z233md7em;kA'8%$uy3Lt|c848 @]٢sg ^0<_7oښS'xF4!MM'\j?<~Xm1hq lV#;7XM iFh ǔژ˵W<'>_0|e:x*H<e/X=&1+]G(tt){*?%; :n9jx}/2[_|?t; mJkP;wt@Vp^5foO\QXinuY.@auSu,3Xxv Gg[c>5 &|JkL `#p:c^ƸNqD|=;qěݜZU+>Ygxnjo"yrR|R%x#ZRqk^Nkuߘz}>0| Q!y}Vw7ҧoH W\Ҳ؄Kt6oOzX ;Zk8ש)טh>UОg$_{y : cpv\uk~Y/<= [ǻgG{*QDtlavlG]ך+c6.9mf]IF Gkx%7?nVV/W/}?z陿IS~9(gL'߲ȝ7]kK6͟dkhiPqVx~N7'dnRk 檨d*d q<=xv0X7w>z/^zڼcl9~e%V,[a˰+ftK }-ll#2 / X>m+HFISKgCeϦD":-v񗛗qVv$7?ß|ȎWt ,WFEj`Ko3-Zef}bh66|c׊㶕$"mGR<9ƒ`{~H)?j/VPgRXߴrϏB{]tjW*lS'[&X$G3pr}6p#y ;J-otd&ۼ4 cCQTrIZS*8S/߁ΊYZhͤI'b_8۷B?_^{}zFapޏ L]\ѭp^zZ 79s[b2xDt7w]][~-NV߶Z3K }9|޴*[l] cE;xav7r\א_Eg9@k|q"V*@D J?r?#N|' הٖKzO ;7\ ;0rﱁk;"Iz}w _&0sOHt\% 3x{[م\ɦo(ϺPB(EfRR-)7zf57k׬xo]~v췾ݧgȗ`ZJsIDAT~#w+{u?|KJXf[ynK,Q+|}>: [ʰkfi+VWВ׬~wַv܋ҍu.,+>-|d(tk[֨vPi"2iƄK U0\t8:' z-䥉HDqA-;HU_iBQ/s67:?߯O;M4c-+xmQLh=)Զɓ#O od^Gxqu}u#E慠|nnk48,/O!/ڶ=^[jwwϥˉ{Gs|eUXZ]JeoAٓ6EJeW*+=mXQ D#bu0ƙƽd|k[kМ_oLL{ZJn޵92豁EO;@ -̚By "2m18jK8Vw{{GYޙ]taΆoUiiiiiiiiNK!p~NIENDB`flatnuke-2.7.2/gallery/layout/overlay.png0000644000175000017500000000077010376105647020061 0ustar simonesimonePNG  IHDR>asBIT|d pHYs  ~tEXtCreation Time06.1.12  tEXtSoftwareMacromedia Fireworks MX*$MIDATx1 r#cG=zf Yw;]3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8 q3@ g8}gIENDB`flatnuke-2.7.2/gallery/layout/close.gif0000644000175000017500000000014310376105647017460 0ustar simonesimoneGIF89afffYYY!,(0I0̈hpSRP˰S[M;flatnuke-2.7.2/LEGAL0000644000175000017500000000536110432045345013455 0ustar simonesimoneLEGAL NOTES (english) --------------------- This project has a name: "flatnuke" and various popular uppercase/lowercase combination (such as "FlatNuke", "Flatnuke", "FLATNUKE", etc.) and some little one-character modification (such as "Flat-Nuke", "Flat Nuke", etc.) that refer to the same program: "flatnuke". flatnuke have a copyright and a copyright note. If you want to use it you must leave intact the footer note. This is in according with its distribution license: GNU/GPL. If you remove this copyright note you are violating the copyright/copyleft license. (http://www.gnu.org/licenses/gpl-violation.html) flatnuke is a "free software" you can modify it according with its license (GNU/GPL). If you want to modify flatnuke or if you want to use a modified version of flatnuke, you must leave intact the footer note and a clear reference to the original author, otherwise you are violating the copyright/copyleft license. (http://www.gnu.org/licenses/gpl-violation.html) If you are a strong programmer and you want to "fork" flatnuke, please choice a consistent name. Choosing names such as "flatnuke+", "flatnuke++", "flatnuke-abc", "flatnukeX", etc...confuses the final user. This is a suggestion not an imposition. For more information about distribution license read COPYING file. ------------------------------------------------------------------------------- NOTE LEGALI (italiano) ---------------------- Questo progetto ha un nome: "flatnuke" e varie popolari combinazioni di lettere maiuscole e minuscole (ad esempio "FlatNuke", "Flatnuke", "FLATNUKE", ecc.) ed alcune piccole modifiche di un carattere (ad esempio "Flat-Nuke", "Flat Nuke", ecc.) che si riferiscono allo stesso programma: "flatnuke". flatnuke ha un copyright e una nota di copyright. Se vuoi utilizzarlo devi lasciare intatta la nota di fondo. Questa procedura in accordo con i termini della licenza con cui rilasciato: GNU/GPL. Se rimuovi questa nota di copyright stai violando la licenza copyright/copyleft. (http://www.gnu.org/licenses/gpl-violation.it.html) flatnuke "software libero" puoi modificarlo in accordo con i termini della sua licenza di distribuzione (GNU/GPL). Se vuoi modificare flatnuke o se vuoi utilizzare una versione modificata di flatnuke, devi lasciare intatta la nota di fondo e un chiaro riferimento all'autore originale, altrimenti stai violando la licenza copyright/copyleft. (http://www.gnu.org/licenses/gpl-violation.it.html) Se sei un bravo programmatore e vuoi iniziare un "fork" di flatnuke, per favore scegli un nome coerente. Scegliendo nomi come "flatnuke+", "flatnuke++", "flatnuke-abc", "flatnukeX", ecc...confondi gli utenti finali. Questo un suggerimento, non un'imposizione. Per maggiori informazioni sulla licenza di distribuzione leggi il file COPYING. flatnuke-2.7.2/README0000644000175000017500000001740511031637333013570 0ustar simonesimone FLATNUKE -------- FlatNuke e' un CMS (Content Management System) che non fa uso di DBMS, appoggiandosi esclusivamente a file di testo (da qui il nome). INTRODUZIONE ------------ FlatNuke e' stato progettato per esigenze personali, mi occorreva, infatti, un template per sviluppare siti che non richiedesse un DBMS. Ho iniziato a svilupparlo seguendo le principali caratteristiche degli altri CMS in circolazione, e sono riuscito a fornire le seguenti caratteristiche: - Supporto per le sezioni - Supporto per i blocchi - Supporto per le news - Supporto per i commenti - Lettura delle headlines esterne - Esportazione delle news in RSS - Supporto per i temi - Gestore di Download - Gestore di galleria immagini - Gestore dei sondaggi - Gestore delle statistiche - Forum BLOCCHI ------- I blocchi sono dei contenitori posizionati a destra e a sinistra della pagina. All'interno possono contenere link, testo, immagini, ecc. FlatNuke gestisce i blocchi in modo molto semplice: sara' sufficiente creare un file in un'apposita directory (blocks). Tale file puo' contenere codice PHP e/o HTML. Tutto verra' caricato automaticamente! Facciamo un esempio: Voglio inserire un blocco a sinistra con titolo Prova e con contenuto Ciao Mondo vado in blocks/sx e creo un file Prova.php all'interno scrivero' Ciao Mondo. Ora bastera' ricaricare la pagina e il blocco apparira'! Per semplificare il lavoro ho creato dei blocchi di esempio. Il blocco Menu e' fisso e contiene le sezioni (vedi prossimo capitolo). Per ordinare i blocchi all'interno della colonna rinominate il file con un prefisso "xx_" dove "xx" e' un numero che identifica la posizione del blocco. Ad esempio: "01_Admin.php". Per impedire l'inclusione di un blocco rinomina il file con il prefisso "none_" (Es. none_01_Calendario.php) SEZIONI ------- Le sezioni servono per contenere gli argomenti. L'organizzazione gerarchica delle sezioni e' data dalla struttura gerarchica delle directory, FlatNuke provvedera' ad organizzarle automaticamente. Ogni sezione viene inserita nella directory principale sections. Facciamo un esempio: Voglio una sezione di nome Felini. Vado in sections/ e creo la directory Felini, per inserire l'intestazione di una sezione bastera' creare un file section.php all'interno della nuova directory. Se voglio creare una sottosezione Tigri creo all'interno di sections/Felini/ una directory Tigri e cosi' via. L'intestazione di una sezione che non ha sottosezioni e' il corpo dell'argomento. Tutte le sezioni vengono automaticamente inserite nel menu, esiste tuttavia un metodo per impedirne l'inclusione. Sara' infatti sufficiente apporre il prefisso none_ al nome della directory/sezione. Es. sections/none_Rapaci non sara' inserita nel menu. Come nei blocchi, anche nelle sezioni esiste la regola per ordinare le voci (all'interno del menu), sara', infatti, sufficiente chiamare la directory con il prefisso "xx_" dove "xx" a' un numero che identifica la posizione della sezione. La stessa procedura vale anche per le sottosezioni. Per vedere un esempio pratico di sezione si guardi sections/none_Prova. E' possibile personalizzare l'icona di una sezione/sottosezione, distinguendola da quella utilizzata di default dal tema: e' sufficiente copiare un'immagine chiamata section.png nella sezione/sottosezione scelta. NEWS ---- FlatNuke supporta l'inserimento di news nella home page. Le news sono divise in una intestazione (visibile direttamente in home) e un corpo che e' leggibile per interno grazie al link Leggi tutto posto al di sotto della notizia. E' previsto, inoltre, l'inserimento di commenti alle news. E' presente un metodo per postare news in maniera rapida e semplice. In fondo al form di inserimento delle news e' possibile trovare un link "FLatNuke Fast News", per utilizzarlo basta fare click col tasto destro e inserirlo fra i bookmark preferiti. Se si e' autenticati come amministratori su un portale Flatnuke, bastera' selezionare del testo in un qualsiasi altro sito e cliccare sul bookmark salvato. Flatnuke provvedera' ad impostare titolo e corpo della notizia con il testo selezionato. HEADLINES --------- FlatNuke supporta l'importazione e l'esportazione delle news nel formato RDF/RSS. Ho creato una sezione d'esempio per importare le news di altri portali. Il link al file RSS in fondo pagina contiene le news di questo sito. DOWNLOAD -------- Per utilizzare il download manager e' sufficiente creare una directory all'interno di /sections (es. /sections/nome-directory-di-download), creare al suo interno un file vuoto chiamato "download", e usare la comoda interfaccia web per personalizzare la propria sezione come si vuole. Per personalizzare la propria sezione download con una descrizione, e' sufficiente creare all'interno della cartella un file section.php che conterra' il testo da visualizzare. GALLERIA IMMAGINI ----------------- Permette di creare automaticamente una galleria di immagini. Il metodo e' semplicissimo: creare una directory all'interno di /sections (es. /sections/nome-directory-con-immagini), creare al suo interno un file vuoto chiamato "gallery", ed infine copiarci tutte le immagini che si vuole visualizzare. Per personalizzare la propria galleria di immagini con una descrizione, e' sufficiente creare all'interno della cartella un file section.php che conterra' il testo da visualizzare. LIVELLI ------- Ogni utente registrato ha un livello (in partenza 0) che definisce i suoi permessi all'interno del portale. Ogni sezione puo' avere un livello (memorizzato nel file "sections/miasezione/level.php") compreso tra 0 e 10. Se il livello e' -1 (cioe' il file level.php non esiste) vuol dire che la sezione e' visibile anche ad utenti non registrati (default), 0 vuol dire che la sezione e' visibile solo agli utenti registrati (visto che ogni utente registrato ha minimo 0 di livello). Se impostiamo il livello a 5 vuol dire che la sezione sara' visibile agli utenti con livello >= 5. Gli amministratori, che hanno livello 10, possono cambiare online il livello di una sezione. Attenzione! Per impedire che le sezioni siano comunque visibili direttamente occorre inserire all'inizio di section.php questo codice: -------------------------------------------------------- -------------------------------------------------------- ACCESSKEY --------- In Flatnuke sono presenti di default i seguenti accesskey: h: torna alla Home del portale 0: vai all'inizio del testo della sezione (solo nelle sezioni) 1-9: leggi le prime 9 news (solo in home) Si raccomanda di non visualizzare piu' di 9 news in Home Page, in modo che ciascuna abbia un proprio accesskey dedicato per la lettura. Se si supera tale limite si ha l'unico inconveniente di non avere piu' a disposizione l'accesskey dalla decima news in poi. Se volete inserire un access key nei link che portano alle sezioni, dovete inserire nella sezione interessata un file chiamato accesskey.php. All'interno di questo file dovrete inserire una singola lettera o numero che diventera' l'access key nei link che portano a quella sezione. L'acceskey deve essere un singolo carattere alfanumerico. Non sono supportati simboli o caratteri speciali. Di default sono presenti i seguenti access key per le sezioni: d: Download f: Forum m: Mappa sito Per modificarli e' sufficiente editare il file accesskey.php presente nella sezione interessata. CONTRIBUIRE ----------- Puoi contribuire allo sviluppo di FlatNuke in diversi modi: - donazioni di materiale informatico (componenti Hardware, manuali) - segnalazione link http://flatnuke.sourceforge.net - invito a manifestazioni per presentare FlatNuke - sviluppo di codice per flatnuke (core, moduli, temi) Se hai apprezzato FlatNuke, mandami una cartolina dalla tua citta': Simone Vellei Via Valtesino, 91 63013 Grottammare (AP) flatnuke-2.7.2/setup.php0000644000175000017500000001171410716027220014553 0ustar simonesimoneChecking 'firstinstall'"; if(file_exists("misc/firstinstall")) { echo "OK"; return 0; } else { echo "ERRORFile 'misc/firstinstall not present!"; return 1; } } /* test write permission */ function misc_writeable() { echo "Checking dir 'misc' write permission"; $fp = @fopen("misc/deleteme","w+"); if($fp != null) { fclose($fp); unlink("misc/deleteme"); echo "OK"; return 0; } else { echo "ERRORSet write permission for 'misc/'!"; return 1; } } /* test write permission */ function news_writeable() { echo "Checking dir 'news' write permission"; $fp = @fopen("news/deleteme","w+"); if($fp != null) { fclose($fp); unlink("news/deleteme"); echo "OK"; return 0; } else { echo "ERRORSet write permission for 'news/'!"; return 1; } } /* TEST ARRAY */ $test_f = array( 'welcome', 'misc_writeable', 'news_writeable', ); ?> Flatnuke setup utility

    Installation tests:

    This is the "s bla bla bla
    "; else echo ""; $sum += $test_f[$i](); echo ""; } ?>
    Test Result Notes


    Test result:

    OK
    "; echo "

    Register the first user! >>

    "; } else { echo "

    ERROR

    "; } ?>

    flatnuke-2.7.2/include/0000755000175000017500000000000011177641445014336 5ustar simonesimoneflatnuke-2.7.2/include/redefine/0000755000175000017500000000000011177641445016117 5ustar simonesimoneflatnuke-2.7.2/include/section/0000755000175000017500000000000011177641445016002 5ustar simonesimoneflatnuke-2.7.2/include/section/footer/0000755000175000017500000000000011177641445017300 5ustar simonesimoneflatnuke-2.7.2/include/section/header/0000755000175000017500000000000011177641445017232 5ustar simonesimoneflatnuke-2.7.2/include/section/header/print_subsections.php0000644000175000017500000000053411177637545023530 0ustar simonesimone flatnuke-2.7.2/include/javascripts/0000755000175000017500000000000011177641445016667 5ustar simonesimoneflatnuke-2.7.2/include/javascripts/ahah.js0000644000175000017500000001210210635202415020106 0ustar simonesimone// ========================================================================== // @function Complete AHAH function // @author Daniele Florio // @site www.gizax.it // @version 1.1.3 experimental // @thanksTo Andrea Paiola,Walter Wlodarski,Scott Chapman // @updated 1.1.3 ( execJS function ) @thanks to Giovanni Zona // (c) 2006 Daniele Florio // ========================================================================== var completeAHAH = { loading : 'loading data...', ahah : function (url, target, delay, method, parameters) { if ( ( method == undefined ) || ( method == "GET" ) || ( method == "get" ) ){ this.creaDIV(target, this.loading); if (window.XMLHttpRequest) { req = new XMLHttpRequest(); } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } if (req) { req.onreadystatechange = function() { completeAHAH.ahahDone(url, target, delay, method, parameters); }; req.open(method, url, true); req.send(""); } } if ( (method == "POST") || (method == "post") ){ this.creaDIV(target, this.loading); if (window.XMLHttpRequest) { req = new XMLHttpRequest(); } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } if (req) { req.onreadystatechange = function() { completeAHAH.ahahDone(url, target, delay, method, parameters); }; req.open(method, url, true); req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); req.send(parameters); } } }, creaDIV : function (target, html){ if (document.body.innerHTML){ document.getElementById(target).innerHTML = html; } else if (document.getElementById){ var element = document.getElementById(target); var range = document.createRange(); range.selectNodeContents(element); range.deleteContents(); element.appendChild(range.createContextualFragment(html)); } }, execJS : function (node) { var st = node.getElementsByTagName('SCRIPT'); var strExec; var bSaf = (navigator.userAgent.indexOf('Safari') != -1); var bOpera = (navigator.userAgent.indexOf('Opera') != -1); var bMoz = (navigator.appName == 'Netscape'); for(var i=0;i */ likeSubmit : function ( file, method, formName, target ) { var the_form = document.getElementById(formName); var num = the_form.elements.length; var url = ""; var radio_buttons = new Array(); var nome_buttons = new Array(); var check_buttons = new Array(); var nome_buttons = new Array(); // submit radio values var j = 0; var a = 0; for(var i=0; i === // == Copyright (C) 2006 SimpleBoxes/SerendipityNZ Ltd. == /* Copyright (C) 2006 Takuya Otani/SimpleBoxes - http://serennz.cool.ne.jp/sb/ Copyright (C) 2006 SerendipityNZ - http://serennz.cool.ne.jp/snz/ This script is licensed under the Creative Commons Attribution 2.5 License http://creativecommons.org/licenses/by/2.5/ basically, do anything you want, just leave my name and link. */ /* Original script : Lightbox JS : Fullsize Image Overlays Copyright (C) 2005 Lokesh Dhakar - http://www.huddletogether.com For more information on this script, visit: http://huddletogether.com/projects/lightbox/ */ // ver. 20060131 - fixed a bug to work correctly on Internet Explorer for Windows // ver. 20060128 - implemented functionality of echoic word // ver. 20060120 - implemented functionality of caption and close button // === utilities === function addEvent(object, type, handler) { if (object.addEventListener) { object.addEventListener(type, handler, false); } else if (object.attachEvent) { object.attachEvent(['on',type].join(''),handler); } else { object[['on',type].join('')] = handler; } } function WindowSize() { // window size object this.w = 0; this.h = 0; return this.update(); } WindowSize.prototype.update = function() { var d = document; this.w = (window.innerWidth) ? window.innerWidth : (d.documentElement && d.documentElement.clientWidth) ? d.documentElement.clientWidth : d.body.clientWidth; this.h = (window.innerHeight) ? window.innerHeight : (d.documentElement && d.documentElement.clientHeight) ? d.documentElement.clientHeight : d.body.clientHeight; return this; }; function PageSize() { // page size object this.win = new WindowSize(); this.w = 0; this.h = 0; return this.update(); } PageSize.prototype.update = function() { var d = document; this.w = (window.innerWidth && window.scrollMaxX) ? window.innerWidth + window.scrollMaxX : (d.body.scrollWidth > d.body.offsetWidth) ? d.body.scrollWidth : d.body.offsetWidt; this.h = (window.innerHeight && window.scrollMaxY) ? window.innerHeight + window.scrollMaxY : (d.body.scrollHeight > d.body.offsetHeight) ? d.body.scrollHeight : d.body.offsetHeight; this.win.update(); if (this.w < this.win.w) this.w = this.win.w; if (this.h < this.win.h) this.h = this.win.h; return this; }; function PagePos() { // page position object this.x = 0; this.y = 0; return this.update(); } PagePos.prototype.update = function() { var d = document; this.x = (window.pageXOffset) ? window.pageXOffset : (d.documentElement && d.documentElement.scrollLeft) ? d.documentElement.scrollLeft : (d.body) ? d.body.scrollLeft : 0; this.y = (window.pageYOffset) ? window.pageYOffset : (d.documentElement && d.documentElement.scrollTop) ? d.documentElement.scrollTop : (d.body) ? d.body.scrollTop : 0; return this; }; function UserAgent() { // user agent information var ua = navigator.userAgent; this.isWinIE = this.isMacIE = false; this.isGecko = ua.match(/Gecko\//); this.isSafari = ua.match(/AppleWebKit/); this.isOpera = window.opera; if (document.all && !this.isGecko && !this.isSafari && !this.isOpera) { this.isWinIE = ua.match(/Win/); this.isMacIE = ua.match(/Mac/); this.isNewIE = (ua.match(/MSIE 5\.5/) || ua.match(/MSIE 6\.0/)); } return this; } // === lightbox === function LightBox(option) { var self = this; self._imgs = new Array(); self._wrap = null; self._box = null; self._open = -1; self._page = new PageSize(); self._pos = new PagePos(); self._ua = new UserAgent(); self._expandable = false; self._expanded = false; self._expand = option.expandimg; self._shrink = option.shrinkimg; return self._init(option); } LightBox.prototype = { _init : function(option) { var self = this; var d = document; if (!d.getElementsByTagName) return; var links = d.getElementsByTagName("a"); for (var i=0;i= targ.w || orig.h >= targ.h) && orig.h && orig.w) ratio = ((targ.w / orig.w) < (targ.h / orig.h)) ? targ.w / orig.w : targ.h / orig.h; imag.width = Math.floor(orig.w * ratio); imag.height = Math.floor(orig.h * ratio); self._expandable = (ratio < 1.0) ? true : false; if (self._ua.isWinIE) self._box.style.display = "block"; self._box.style.top = [self._pos.y + (self._page.win.h - imag.height - 30) / 2,'px'].join(''); self._box.style.left = [((self._page.win.w - imag.width - 30) / 2),'px'].join(''); self._show_caption(true); }, _set_size : function(onResize) { var self = this; if (self._open == -1) return; self._page.update(); self._pos.update(); var spin = self._wrap.firstChild; if (spin) { var top = (self._page.win.h - spin.height) / 2; if (self._wrap.style.position == 'absolute') top += self._pos.y; spin.style.top = [top,'px'].join(''); spin.style.left = [(self._page.win.w - spin.width - 30) / 2,'px'].join(''); } if (self._ua.isWinIE) { self._wrap.style.width = [self._page.win.w,'px'].join(''); self._wrap.style.height = [self._page.h,'px'].join(''); } if (onResize) self._set_photo_size(); }, _show_action : function() { var self = this; if (self._open == -1 || !self._expandable) return; var obj = document.getElementById('actionImage'); if (!obj) return; obj.src = (self._expanded) ? self._shrink : self._expand; obj.style.display = 'inline'; }, _hide_action : function() { var self = this; var obj = document.getElementById('actionImage'); if (obj) obj.style.display = 'none'; }, _zoom : function() { var self = this; if (self._expanded) { self._set_photo_size(); self._expanded = false; } else if (self._open > -1) { var imag = self._box.firstChild; self._box.style.top = [self._pos.y,'px'].join(''); self._box.style.left = '0px'; imag.width = self._imgs[self._open].w; imag.height = self._imgs[self._open].h; self._show_caption(false); self._expanded = true; } self._show_action(); }, _show_caption : function(enable) { var self = this; var caption = document.getElementById('lightboxCaption'); if (!caption) return; if (caption.innerHTML.length == 0 || !enable) { caption.style.display = 'none'; } else { // now display caption var imag = self._box.firstChild; with (caption.style) { top = [imag.height + 10,'px'].join(''); // 10 is top margin of lightbox left = '0px'; width = [imag.width + 20,'px'].join(''); // 20 is total side margin of lightbox height = '1.2em'; display = 'block'; } } }, _show : function(num) { var self = this; var imag = new Image; if (num < 0 || num >= self._imgs.length) return; var loading = document.getElementById('loadingImage'); var caption = document.getElementById('lightboxCaption'); var effect = document.getElementById('effectImage'); self._open = num; // set opened image number self._set_size(false); // calc and set wrapper size self._wrap.style.display = "block"; if (loading) loading.style.display = 'inline'; imag.onload = function() { if (self._imgs[self._open].w == -1) { // store original image width and height self._imgs[self._open].w = imag.width; self._imgs[self._open].h = imag.height; } if (effect) { effect.style.display = (!effect.className || self._imgs[self._open].cls == effect.className) ? 'block' : 'none'; } if (caption) caption.innerHTML = self._imgs[self._open].title; self._set_photo_size(); // calc and set lightbox size self._hide_action(); self._box.style.display = "block"; self._box.firstChild.src = imag.src; self._box.firstChild.setAttribute('title',self._imgs[self._open].title); if (loading) loading.style.display = 'none'; }; self._expandable = false; self._expanded = false; imag.src = self._imgs[self._open].src; }, _set_cursor : function(obj) { var self = this; if (self._ua.isWinIE && !self._ua.isNewIE) return; obj.style.cursor = 'pointer'; }, _close : function() { var self = this; self._open = -1; self._hide_action(); self._wrap.style.display = "none"; self._box.style.display = "none"; } }; // === main === // 20060218 - Adapted to Flatnuke by Marco Segato http://marcosegato.altervista.org/ addEvent(window,"load",function() { var lightbox = new LightBox({ loadingimg:'gallery/layout/loading.gif', expandimg:'gallery/layout/expand.gif', shrinkimg:'gallery/layout/shrink.gif', effectimg:'gallery/layout/watermark.png', effectpos:{x:-15,y:-15}, effectclass:'effectable', closeimg:'gallery/layout/close.gif' }); }); flatnuke-2.7.2/include/javascripts/bbcodes_editor.js0000755000175000017500000001137110702746234022175 0ustar simonesimone function replace_tags(x) { // emoticons x = x.replace(/\[:\)\]/g, ":)"); x = x.replace(/\[:\(\]/g, ":("); x = x.replace(/\[:o\]/g, ":o"); x = x.replace(/\[:p\]/g, ":p"); x = x.replace(/\[:D\]/g, ":D"); x = x.replace(/\[:\!\]/g, ":!"); x = x.replace(/\[:O\]/g, ":O"); x = x.replace(/\[8\)\]/g, "8)"); x = x.replace(/\[;\)\]/g, ";)"); x = x.replace(/\[rolleyes\]/g, ":rolleyes:"); x = x.replace(/\[neutral\]/g, ":|"); x = x.replace(/\[:x\]/g, ":x"); x = x.replace(/\[O:\)\]/g, "O:)"); x = x.replace(/\[whistle\]/g, "whistle"); x = x.replace(/\[eh\]/g, "whistle"); x = x.replace(/\[evil\]/g, ":evil:"); x = x.replace(/\[idea\]/g, ":idea:"); x = x.replace(/\[bier\]/g, ":bier:"); x = x.replace(/\[flower\]/g, ":flower:"); x = x.replace(/\[sboing\]/g, ":sboing:"); // formatting x = x.replace(/(\n|\r)/g,"
    "); x = x.replace(/\[b\]/g, ""); x = x.replace(/\[\/b\]/g, ""); x = x.replace(/\[u\]/g, ""); x = x.replace(/\[\/u\]/g, ""); x = x.replace(/\[i\]/g, ""); x = x.replace(/\[\/i\]/g, ""); x = x.replace(/\[strike\]/g, ""); x = x.replace(/\[\/strike\]/g, ""); x = x.replace(/\[quote\=(.+?)\](.+?)\[\/quote\]/g, "
    $1 wrote:
    $2
    "); x = x.replace(/\[\quote\]/g, "
    "); x = x.replace(/\[\/quote\]/g, "
    "); x = x.replace(/\[code\]/g, "
    ");
    	x = x.replace(/\[\/code\]/g, "
    "); x = x.replace(/\[url[=]?(.*)\](.+)\[\/url\]/g, "$2"); x = x.replace(/\[mail\](.+?)\[\/mail\]/g, "$1"); x = x.replace(/\[img\](.+)\[\/img\]/g, "$1"); // positioning x = x.replace(/\[left\]/g, "
    "); x = x.replace(/\[\/left\]/g, "
    "); x = x.replace(/\[right\]/g, "
    "); x = x.replace(/\[\/right\]/g, "
    "); x = x.replace(/\[center\]/g, "
    "); x = x.replace(/\[\/center\]/g, "
    "); x = x.replace(/\[justify\]/g, "
    "); x = x.replace(/\[\/justify\]/g, "
    "); // colors x = x.replace(/\[red\]/g, ""); x = x.replace(/\[\/red\]/g, ""); x = x.replace(/\[green\]/g, ""); x = x.replace(/\[\/green\]/g, ""); x = x.replace(/\[blue\]/g, ""); x = x.replace(/\[\/blue\]/g, ""); x = x.replace(/\[pink\]/g, ""); x = x.replace(/\[\/pink\]/g, ""); x = x.replace(/\[yellow\]/g, ""); x = x.replace(/\[\/yellow\]/g, ""); x = x.replace(/\[cyan\]/g, ""); x = x.replace(/\[\/cyan\]/g, ""); // dimensions x = x.replace(/\[size=50%\]/g, ""); x = x.replace(/\[size=75%\]/g, ""); x = x.replace(/\[size=100%\]/g, ""); x = x.replace(/\[size=150%\]/g, ""); x = x.replace(/\[size=200%\]/g, ""); x = x.replace(/\[\/size\]/g, ""); // return new string return x; } function insertTags(tag1, tag2, area) { var ie = ((navigator.userAgent.indexOf("MSIE")>-1)) ? true : false; var txta = document.getElementsByName(area)[0]; txta.focus(); if (document.selection) { if (ie){ txta.value = txta.value + tag1 + tag2; } else { var sel = document.selection.createRange(); sel.text = tag2 ? tag1 + sel.text + tag2 : tag1; } } else if (txta.selectionStart != undefined) { var before = txta.value.substring(0, txta.selectionStart); var sel = txta.value.substring(txta.selectionStart, txta.selectionEnd); var after = txta.value.substring(txta.selectionEnd, txta.textLength); txta.value = tag2 ? before + tag1 + sel + tag2 + after : before + "" + tag1 + "" + after; } } flatnuke-2.7.2/include/javascripts/preview.js0000644000175000017500000000676411020600230020671 0ustar simonesimone// declare variables var dom = (document.getElementById) ? true : false; var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false; var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false; var ns4 = (document.layers && !dom) ? true : false; var ie4 = (document.all && !dom) ? true : false; var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false; // preview news function news_preview() { myclose = "
    "; myclose += "X
    "; // title if (getElement("news_title").value != "") { getElement("fnpreview").innerHTML = myclose + "

    " + getElement("news_title").value + "

    "; } else { getElement("fnpreview").innerHTML = myclose + " " } // header if (getElement("news_head").value != "") { head = replace_tags(getElement("news_head").value); getElement("fnpreview").innerHTML += head + "

    "; } else { getElement("fnpreview").innerHTML += " 

    "; } // body if (getElement("news_body").value != "") { body = replace_tags(getElement("news_body").value); getElement("fnpreview").innerHTML += body; } else { getElement("fnpreview").innerHTML += " "; } } // preview forum topics function forum_preview() { myclose = "
    "; myclose += "X
    "; // title if (getElement("ffsubj").value != "") { getElement("fnpreview").innerHTML = myclose + "" + getElement("ffsubj").value + "

    "; } else { getElement("fnpreview").innerHTML = myclose + " " } // body if (getElement("ffbody").value != "") { body = replace_tags(getElement("ffbody").value); getElement("fnpreview").innerHTML += body; } else { getElement("fnpreview").innerHTML += " "; } } /* ---------------- * SHARED UTILITIES * ---------------- */ // return element value function getElement(x) { return document.getElementById(x); } // manage preview box position at window onload time addLoadEvent(function(){ tooltip = (ns4)? document.fnpreview.document: (ie4)? document.all['fnpreview']: (ie5||ns5)? document.getElementById('fnpreview'): null; if(tooltip) { tipcss = (ns4)? document.fnpreview: tooltip.style; if(dom && ns5) { tipcss.position = 'fixed'; } else { tipcss.position = 'absolute'; } } }); // view or hide preview box function prevshow(){ tooltip = (ns4)? document.fnpreview.document: (ie4)? document.all['fnpreview']: (ie5||ns5)? document.getElementById('fnpreview'): null; tipcss = (ns4)? document.fnpreview: tooltip.style; if(tipcss.visibility=='visible'){ tipcss.visibility = 'hidden'; } else { tipcss.visibility = 'visible'; } } // view or hide copyright box function copyrightshow(){ tooltip = (ns4)? document.fncopyright.document: (ie4)? document.all['fncopyright']: (ie5||ns5)? document.getElementById('fncopyright'): null; tipcss = (ns4)? document.fncopyright: tooltip.style; if(tipcss.visibility=='visible'){ tipcss.visibility = 'hidden'; } else { tipcss.visibility = 'visible'; } } // view or hide div element function ShowHideDiv(x){ if(document.getElementById(x).style.display==''){ document.getElementById(x).style.display='none'; } else { document.getElementById(x).style.display=''; } } flatnuke-2.7.2/include/php_filters/0000755000175000017500000000000011177641445016655 5ustar simonesimoneflatnuke-2.7.2/include/php_filters/sanitize.php0000644000175000017500000002344110347752633021220 0ustar simonesimone $max))) return FALSE; return $string; } // sanitize a string in prep for passing a single argument to system() (or similar) function sanitize_system_string($string, $min='', $max='') { $pattern = '/(;|\||`|>|<|&|^|"|'."\n|\r|'".'|{|}|[|]|\)|\()/i'; // no piping, passing possible environment variables ($), // seperate commands, nested execution, file redirection, // background processing, special commands (backspace, etc.), quotes // newlines, or some other special characters $string = preg_replace($pattern, '', $string); $string = '"'.preg_replace('/\$/', '\\\$', $string).'"'; //make sure this is only interpretted as ONE argument $len = strlen($string); if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max))) return FALSE; return $string; } // sanitize a string for SQL input (simple slash out quotes and slashes) function sanitize_sql_string($string, $min='', $max='') { $string = nice_addslashes($string); //gz $pattern = "/;/"; // jp $replacement = ""; $len = strlen($string); if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max))) return FALSE; return preg_replace($pattern, $replacement, $string); } // sanitize a string for SQL input (simple slash out quotes and slashes) function sanitize_ldap_string($string, $min='', $max='') { $pattern = '/(\)|\(|\||&)/'; $len = strlen($string); if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max))) return FALSE; return preg_replace($pattern, '', $string); } // sanitize a string for HTML (make sure nothing gets interpretted!) function sanitize_html_string($string) { $pattern[0] = '/\&/'; $pattern[1] = '//"; $pattern[3] = '/\n/'; $pattern[4] = '/"/'; $pattern[5] = "/'/"; $pattern[6] = "/%/"; $pattern[7] = '/\(/'; $pattern[8] = '/\)/'; $pattern[9] = '/\+/'; $pattern[10] = '/-/'; $replacement[0] = '&'; $replacement[1] = '<'; $replacement[2] = '>'; $replacement[3] = '
    '; $replacement[4] = '"'; $replacement[5] = '''; $replacement[6] = '%'; $replacement[7] = '('; $replacement[8] = ')'; $replacement[9] = '+'; $replacement[10] = '-'; return preg_replace($pattern, $replacement, $string); } // make int int! function sanitize_int($integer, $min='', $max='') { $int = intval($integer); if((($min != '') && ($int < $min)) || (($max != '') && ($int > $max))) return FALSE; return $int; } // make float float! function sanitize_float($float, $min='', $max='') { $float = floatval($float); if((($min != '') && ($float < $min)) || (($max != '') && ($float > $max))) return FALSE; return $float; } // glue together all the other functions function sanitize($input, $flags, $min='', $max='') { if($flags & UTF8) $input = my_utf8_decode($input); if($flags & PARANOID) $input = sanitize_paranoid_string($input, $min, $max); if($flags & INT) $input = sanitize_int($input, $min, $max); if($flags & FLOAT) $input = sanitize_float($input, $min, $max); if($flags & HTML) $input = sanitize_html_string($input, $min, $max); if($flags & SQL) $input = sanitize_sql_string($input, $min, $max); if($flags & LDAP) $input = sanitize_ldap_string($input, $min, $max); if($flags & SYSTEM) $input = sanitize_system_string($input, $min, $max); return $input; } function check_paranoid_string($input, $min='', $max='') { if($input != sanitize_paranoid_string($input, $min, $max)) return FALSE; return TRUE; } function check_int($input, $min='', $max='') { if($input != sanitize_int($input, $min, $max)) return FALSE; return TRUE; } function check_float($input, $min='', $max='') { if($input != sanitize_float($input, $min, $max)) return FALSE; return TRUE; } function check_html_string($input, $min='', $max='') { if($input != sanitize_html_string($input, $min, $max)) return FALSE; return TRUE; } function check_sql_string($input, $min='', $max='') { if($input != sanitize_sql_string($input, $min, $max)) return FALSE; return TRUE; } function check_ldap_string($input, $min='', $max='') { if($input != sanitize_string($input, $min, $max)) return FALSE; return TRUE; } function check_system_string($input, $min='', $max='') { if($input != sanitize_system_string($input, $min, $max, TRUE)) return FALSE; return TRUE; } // glue together all the other functions function check($input, $flags, $min='', $max='') { $oldput = $input; if($flags & UTF8) $input = my_utf8_decode($input); if($flags & PARANOID) $input = sanitize_paranoid_string($input, $min, $max); if($flags & INT) $input = sanitize_int($input, $min, $max); if($flags & FLOAT) $input = sanitize_float($input, $min, $max); if($flags & HTML) $input = sanitize_html_string($input, $min, $max); if($flags & SQL) $input = sanitize_sql_string($input, $min, $max); if($flags & LDAP) $input = sanitize_ldap_string($input, $min, $max); if($flags & SYSTEM) $input = sanitize_system_string($input, $min, $max, TRUE); if($input != $oldput) return FALSE; return TRUE; } function sanitize_null_string($string) { return($string); } ?> flatnuke-2.7.2/include/php_filters/kses.php0000644000175000017500000004561010416024375020331 0ustar simonesimone" characters. ############################################################################### { return preg_replace('%(<'. # EITHER: < '[^>]*'. # things that aren't > '(>|$)'. # > or end of string '|>)%e', # OR: just a > "kses_split2('\\1', \$allowed_html, ". '$allowed_protocols)', $string); } # function kses_split function kses_split2($string, $allowed_html, $allowed_protocols) ############################################################################### # This function does a lot of work. It rejects some very malformed things # like <:::>. It returns an empty string, if the element isn't allowed (look # ma, no strip_tags()!). Otherwise it splits the tag into an element and an # attribute list. ############################################################################### { $string = kses_stripslashes($string); if (substr($string, 0, 1) != '<') return '>'; # It matched a ">" character if (!preg_match('%^<\s*(/\s*)?([a-zA-Z0-9]+)([^>]*)>?$%', $string, $matches)) return ''; # It's seriously malformed $slash = trim($matches[1]); $elem = $matches[2]; $attrlist = $matches[3]; if (!@isset($allowed_html[strtolower($elem)])) return ''; # They are using a not allowed HTML element if ($slash != '') return "<$slash$elem>"; # No attributes are allowed for closing elements return kses_attr("$slash$elem", $attrlist, $allowed_html, $allowed_protocols); } # function kses_split2 function kses_attr($element, $attr, $allowed_html, $allowed_protocols) ############################################################################### # This function removes all attributes, if none are allowed for this element. # If some are allowed it calls kses_hair() to split them further, and then it # builds up new HTML code from the data that kses_hair() returns. It also # removes "<" and ">" characters, if there are any left. One more thing it # does is to check if the tag has a closing XHTML slash, and if it does, # it puts one in the returned code as well. ############################################################################### { # Is there a closing XHTML slash at the end of the attributes? $xhtml_slash = ''; if (preg_match('%\s/\s*$%', $attr)) $xhtml_slash = ' /'; # Are any attributes allowed at all for this element? if (@count($allowed_html[strtolower($element)]) == 0) return "<$element$xhtml_slash>"; # Split it $attrarr = kses_hair($attr, $allowed_protocols); # Go through $attrarr, and save the allowed attributes for this element # in $attr2 $attr2 = ''; foreach ($attrarr as $arreach) { if (!@isset($allowed_html[strtolower($element)] [strtolower($arreach['name'])])) continue; # the attribute is not allowed $current = $allowed_html[strtolower($element)] [strtolower($arreach['name'])]; if (!is_array($current)) $attr2 .= ' '.$arreach['whole']; # there are no checks else { # there are some checks $ok = true; foreach ($current as $currkey => $currval) if (!kses_check_attr_val($arreach['value'], $arreach['vless'], $currkey, $currval)) { $ok = false; break; } if ($ok) $attr2 .= ' '.$arreach['whole']; # it passed them } # if !is_array($current) } # foreach # Remove any "<" or ">" characters $attr2 = preg_replace('/[<>]/', '', $attr2); return "<$element$attr2$xhtml_slash>"; } # function kses_attr function kses_hair($attr, $allowed_protocols) ############################################################################### # This function does a lot of work. It parses an attribute list into an array # with attribute data, and tries to do the right thing even if it gets weird # input. It will add quotes around attribute values that don't have any quotes # or apostrophes around them, to make it easier to produce HTML code that will # conform to W3C's HTML specification. It will also remove bad URL protocols # from attribute values. ############################################################################### { $attrarr = array(); $mode = 0; $attrname = ''; # Loop through the whole attribute list while (strlen($attr) != 0) { $working = 0; # Was the last operation successful? switch ($mode) { case 0: # attribute name, href for instance if (preg_match('/^([-a-zA-Z]+)/', $attr, $match)) { $attrname = $match[1]; $working = $mode = 1; $attr = preg_replace('/^[-a-zA-Z]+/', '', $attr); } break; case 1: # equals sign or valueless ("selected") if (preg_match('/^\s*=\s*/', $attr)) # equals sign { $working = 1; $mode = 2; $attr = preg_replace('/^\s*=\s*/', '', $attr); break; } if (preg_match('/^\s+/', $attr)) # valueless { $working = 1; $mode = 0; $attrarr[] = array ('name' => $attrname, 'value' => '', 'whole' => $attrname, 'vless' => 'y'); $attr = preg_replace('/^\s+/', '', $attr); } break; case 2: # attribute value, a URL after href= for instance if (preg_match('/^"([^"]*)"(\s+|$)/', $attr, $match)) # "value" { $thisval = kses_bad_protocol($match[1], $allowed_protocols); $attrarr[] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname=\"$thisval\"", 'vless' => 'n'); $working = 1; $mode = 0; $attr = preg_replace('/^"[^"]*"(\s+|$)/', '', $attr); break; } if (preg_match("/^'([^']*)'(\s+|$)/", $attr, $match)) # 'value' { $thisval = kses_bad_protocol($match[1], $allowed_protocols); $attrarr[] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname='$thisval'", 'vless' => 'n'); $working = 1; $mode = 0; $attr = preg_replace("/^'[^']*'(\s+|$)/", '', $attr); break; } if (preg_match("%^([^\s\"']+)(\s+|$)%", $attr, $match)) # value { $thisval = kses_bad_protocol($match[1], $allowed_protocols); $attrarr[] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname=\"$thisval\"", 'vless' => 'n'); # We add quotes to conform to W3C's HTML spec. $working = 1; $mode = 0; $attr = preg_replace("%^[^\s\"']+(\s+|$)%", '', $attr); } break; } # switch if ($working == 0) # not well formed, remove and try again { $attr = kses_html_error($attr); $mode = 0; } } # while if ($mode == 1) # special case, for when the attribute list ends with a valueless # attribute like "selected" $attrarr[] = array ('name' => $attrname, 'value' => '', 'whole' => $attrname, 'vless' => 'y'); return $attrarr; } # function kses_hair function kses_check_attr_val($value, $vless, $checkname, $checkvalue) ############################################################################### # This function performs different checks for attribute values. The currently # implemented checks are "maxlen", "minlen", "maxval", "minval" and "valueless" # with even more checks to come soon. ############################################################################### { $ok = true; switch (strtolower($checkname)) { case 'maxlen': # The maxlen check makes sure that the attribute value has a length not # greater than the given value. This can be used to avoid Buffer Overflows # in WWW clients and various Internet servers. if (strlen($value) > $checkvalue) $ok = false; break; case 'minlen': # The minlen check makes sure that the attribute value has a length not # smaller than the given value. if (strlen($value) < $checkvalue) $ok = false; break; case 'maxval': # The maxval check does two things: it checks that the attribute value is # an integer from 0 and up, without an excessive amount of zeroes or # whitespace (to avoid Buffer Overflows). It also checks that the attribute # value is not greater than the given value. # This check can be used to avoid Denial of Service attacks. if (!preg_match('/^\s{0,6}[0-9]{1,6}\s{0,6}$/', $value)) $ok = false; if ($value > $checkvalue) $ok = false; break; case 'minval': # The minval check checks that the attribute value is a positive integer, # and that it is not smaller than the given value. if (!preg_match('/^\s{0,6}[0-9]{1,6}\s{0,6}$/', $value)) $ok = false; if ($value < $checkvalue) $ok = false; break; case 'valueless': # The valueless check checks if the attribute has a value # (like ) or not (<< "._INDIETRO.""; } else echo "
    "._FP_RISULTATI.":

    "; } else { echo "

    Gallery:

    "; } foreach ($files as $file){ $file = eregi_replace("\.description$","",$file); $tempmod =""; $tempmod = eregi_replace("^sections/","",dirname($file)); //per l'icona include_once("download/fd+.php"); global $icon_style; $ext=""; $ext = get_file_extension($file); echo getIcon($ext,$icon_style); echo "".basename($file)."
    "; } } /** * Elenca i file gestiti dalla gallerua presenti a partire dalla cartella $dirbase * @param string $dirbase la cartella a partire dalla quale cercare i file * @return un array con i percorsi dei file trovati * @author Aldo Boccacci * @since 2.5.8 */ function list_gallery_files($dirbase){ $dirbase=getparam($dirbase,PAR_NULL,SAN_FLAT); $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $myforum=getparam("myforum",PAR_COOKIE,SAN_FLAT); if (!is_alphanumeric($myforum) and trim($myforum)!=""){ fnlog("list_files", "$addr||$myforum||username not valid!"); die("username is not valid!"); } if (trim($dirbase)=="") $dirbase="sections/"; $files = array(); //elenco delle sottocartelle include_once("include/filesystem/DeepDir.php"); $tempfiles = NULL; $tempfiles = new DeepDir(); $tempfiles ->setDir("$dirbase"); $tempfiles ->load(); foreach ($tempfiles->files as $file){ $tempmod =""; $tempmod = eregi_replace("^sections/","",dirname($file)); if (getLevel($myforum,"home") < getsectlevel($tempmod)) continue; if (eregi("\.png$|\.jpg$|\.jpeg$",$file)){ // echo $file; if (file_exists("sections/$tempmod/gallery")) $files[] = $file; // echo "$file
    "; } } // print_r($files); return $files; } /** * Cerca la stringa $string nei nomi dei file $files * @param string $string la stringa da cercare * @param array $files l'array di file in cui cercare la stringa * @param string $method il metodo di ricerca. Pu essere "OR" oppure "AND" * @return un array con i percorsi dei file in cui stata trovata la stringa */ function find_gallery_files($string,$files,$method){ $string=getparam($string,PAR_NULL,SAN_FLAT); if (!eregi("AND|OR",$method)) $method="AND"; if (count($files)==0) return array(); if (trim($string)=="") return array(); $results= array(); $file=""; foreach ($files as $file){ if (fn_search_string($string,basename($file),$method)) $results[]=$file; }//fine foreach generale // print_r($files); return $results; } ?>flatnuke-2.7.2/include/search/none_Commenti.php0000755000175000017500000001007310467465350021112 0ustar simonesimone<< "._INDIETRO.""; } else echo "
    "._FP_RISULTATI.":

    "; } else { echo "

    Commenti:

    "; } foreach ($files as $file){ $file = eregi_replace("//","/",$file); $tempmod =""; $tempmod = eregi_replace("^sections/","",dirname($file)); global $theme; echo "\"comment\" ".eregi_replace("none_","",$tempmod)."
    "; } } /** * Elenca i file contenti i commenti a partire dalla cartella $dirbase * @param string $dirbase la cartella a partire dalla quale cercare i file * @return un array con i percorsi dei file trovati * @author Aldo Boccacci * @since 2.5.8 */ function list_uc_files($dirbase){ $dirbase=getparam($dirbase,PAR_NULL,SAN_FLAT); $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $myforum=getparam("myforum",PAR_COOKIE,SAN_FLAT); if (!is_alphanumeric($myforum) and trim($myforum)!=""){ fnlog("list_files", "$addr||$myforum||username not valid!"); die("username is not valid!"); } if (trim($dirbase)=="") $dirbase="sections/"; $files = array(); //elenco delle sottocartelle include_once("include/filesystem/DeepDir.php"); $tempfiles = NULL; $tempfiles = new DeepDir(); $tempfiles ->setDir("$dirbase"); $tempfiles ->load(); foreach ($tempfiles->files as $file){ $tempmod =""; $tempmod = eregi_replace("^sections/","",dirname($file)); //permetti anche altri file php... if (getLevel($myforum,"home") < getsectlevel($tempmod)) continue; if (basename($file)=="comments.php"){ $files[] = $file; // echo "$file
    "; } } return $files; } /** * Cerca la stringa $string nei file $files * @param string $string la stringa da cercare * @param array $files l'array di file in cui cercare la stringa * @param string $method il metodo di ricerca. Pu essere "OR" oppure "AND" * @return un array con i percorsi dei file in cui stata trovata la stringa */ function find_uc_files($string,$files,$method){ $string=getparam($string,PAR_NULL,SAN_FLAT); if (trim($string)=="") return array(); $results= array(); $file=""; foreach ($files as $file){ if (fn_search_string($string,strip_tags(get_file($file)),$method)) $results[]=$file; } // print_r($files); return $results; } ?>flatnuke-2.7.2/include/search/02_Forum.php0000755000175000017500000001242710574262445017715 0ustar simonesimone<< "._INDIETRO.""; } else echo "
    "._FP_RISULTATI.":

    "; } else { echo "

    Topics:

    "; } // include_once("forum/include/ff_functions.php"); foreach ($files as $file){ $topic = basename($file); $tmp = dirname($file); $argument = basename($tmp); $tmp = dirname($tmp); $group = basename($tmp); $tmp = dirname($tmp); $tmpmod = eregi_replace(".*sections/","",$tmp); $tmpmod = eregi_replace("^/","",$tmpmod); if (!topic_is_visible($file)) continue; $topicdata = load_topic($file); $argdata=array(); $argdata = load_argument_props(get_forum_root(),$group,$argument); if ($argdata['level']!="-1"){ if (is_guest()) continue; else if (getlevel(get_username(),"home")<$argdata['level']) continue; } echo "\"topic\" ".$topicdata['properties']['topictitle']."
    "; } } /** * Cerca la stringa $string nei file $files * * @param string $string la stringa da cercare * @param array $files l'array di file in cui cercare la stringa * @param string $method il metodo di ricerca. Pu essere "OR" oppure "AND" * @return un array con i percorsi dei file in cui stata trovata la stringa * @author Aldo Boccacci * @since 0.1 */ function find_ff_topics($string,$files,$method){ $string=getparam($string,PAR_NULL,SAN_FLAT); if (!eregi("AND|OR",$method)) $method="AND"; if (trim($string)=="") { $results=array(); return $results; } $results= array(); $file=""; foreach ($files as $file){ //cerco nel nome del file/sezione e nel contenuto assieme if (fn_search_string($string, strip_tags(get_file($file)),$method)) $results[]=$file; } return $results; } /** * Elenca i topics presenti a partire dalla cartella $dirbase * @param string $dirbase la cartella a partire dalla quale cercare i topics * @return un array con i percorsi dei file trovati * @author Aldo Boccacci * @since 0.1 (Flatforum) */ function list_ff_topics($dirbase){ $dirbase=getparam($dirbase,PAR_NULL,SAN_FLAT); $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $myforum=getparam("myforum",PAR_COOKIE,SAN_FLAT); if (!is_alphanumeric($myforum) and trim($myforum)!=""){ fnlog("list_files", "$addr||$myforum||username not valid!"); die("username is not valid!"); } if (trim($dirbase)=="") $dirbase="misc/"; $files = array(); //elenco delle sottocartelle include_once("include/filesystem/DeepDir.php"); $tempfiles = NULL; $tempfiles = new DeepDir(); $tempfiles ->setDir("$dirbase"); $tempfiles ->load(); foreach ($tempfiles->files as $file){ $tempmod =""; $tempmod = eregi_replace(get_forum_root(),"",dirname($file)); if (eregi("\.ff.php$",$file)){ $files[] = $file; } } return $files; } /** * Trova il mod di una sezione che sia un forum * @return il $mod di una sezione che sia un forum * @author Aldo Boccacci * @since 0.1 (Flatforum) */ function find_forum_mod(){ //elenco delle sottocartelle di section include_once("include/filesystem/DeepDir.php"); $dirs= array(); $dirs = glob("sections/*",GLOB_ONLYDIR); $dir = ""; foreach($dirs as $dir){ if (file_exists("$dir/forum")){ return eregi_replace("^sections/","",$dir); } } //se non trovo nelle sezioni principali... $tempfiles = NULL; $tempfiles = new DeepDir(); $tempfiles ->setDir("sections/"); $tempfiles ->load(); $tempfile=""; foreach ($tempfiles->files as $tempfile){ if (basename($tempfile)=="forum"){ return eregi_replace("^sections/","",dirname($tempfile)); } } } ?>flatnuke-2.7.2/include/search/06_Utenti.php0000644000175000017500000000737210641711035020066 0ustar simonesimone".ucfirst(_FUTENTI).":"; echo "("._FERRACC.")"; return; } //se non ho trovato niente... if ($where!="allsite"){ if (count($files)==0){ echo _NORESULT."
    << "._INDIETRO.""; } else echo "
    "._FP_RISULTATI.":

    "; } else { echo "

    ".ucfirst(_FUTENTI).":

    "; } foreach ($files as $file){ $username = ""; $username = eregi_replace("\.php$","",basename($file)); if (getlevel($username,"home")=="10") echo "\"admin\" "; else echo "\"user\" "; echo "$username
    "; } } /** * Cerca la stringa $string nei file $files * @param string $string la stringa da cercare * @param array $files l'array di file in cui cercare la stringa * @param string $method il metodo di ricerca. Pu essere "OR" oppure "AND" * @return un array con i percorsi dei file in cui stata trovata la stringa */ function find_users($string,$files,$method){ //se non sono un utente registrato if (is_guest()){ return; } $string=getparam($string,PAR_NULL,SAN_FLAT); if (trim($string)=="") return array(); if (!eregi("AND|OR",$method)) $method="AND"; $results= array(); $file=""; foreach ($files as $file){ $username = ""; $username = eregi_replace("\.php$","",basename($file)); if (fn_search_string($string,$username,$method)){ $results[]= $file; continue; } $userdata = array(); $userdata = load_user_profile($username); if (fn_search_string($string,$userdata['name'],$method)){ $results[]= $file; continue; } if (fn_search_string($string,$userdata['homepage'],$method)){ $results[]= $file; continue; } if (fn_search_string($string,$userdata['work'],$method)){ $results[]= $file; continue; } if (fn_search_string($string,$userdata['from'],$method)){ $results[]= $file; continue; } if (fn_search_string($string,$userdata['sign'],$method)){ $results[]= $file; continue; } } // print_r($files); return $results; } ?>flatnuke-2.7.2/include/search/04_Download.php0000755000175000017500000001511511031722567020366 0ustar simonesimone<< "._INDIETRO.""; } else echo "
    "._FP_RISULTATI.":

    "; } else { echo "

    Download:

    "; } foreach ($files as $file){ $file = eregi_replace("\.description$","",$file); $tempmod =""; $tempmod = eregi_replace("^sections/","",dirname($file)); //per l'icona include_once("download/fd+.php"); global $icon_style; $ext=""; $ext = get_file_extension($file); echo getIcon($ext,$icon_style); echo "".basename($file)."
    "; } } /** * Elenca i file di fd+ presenti a partire dalla cartella $dirbase * @param string $dirbase la cartella a partire dalla quale cercare i file * @return un array con i percorsi dei file trovati * @author Aldo Boccacci * @since 2.5.8 */ function search_list_fd_files($dirbase){ $dirbase=getparam($dirbase,PAR_NULL,SAN_FLAT); $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $myforum=getparam("myforum",PAR_COOKIE,SAN_FLAT); if (!is_alphanumeric($myforum) and trim($myforum)!=""){ fnlog("list_files", "$addr||$myforum||username not valid!"); die("username is not valid!"); } if (trim($dirbase)=="") $dirbase="sections/"; $files = array(); //elenco delle sottocartelle include_once("include/filesystem/DeepDir.php"); $tempfiles = NULL; $tempfiles = new DeepDir(); $tempfiles ->setDir("$dirbase"); $tempfiles ->load(); foreach ($tempfiles->files as $file){ $tempmod =""; $tempmod = eregi_replace("^sections/","",dirname($file)); // if (getLevel($myforum,"home") < getsectlevel($tempmod)) continue; if (eregi("\.description$",$file)){ if (user_can_view_fdfile(eregi_replace(".description$","",$file))) $files[] = $file; // echo "$file
    "; } } return $files; } /** * Cerca la stringa $string nei file $files * @param string $string la stringa da cercare * @param array $files l'array di file in cui cercare la stringa * @param string $method il metodo di ricerca. Pu essere "OR" oppure "AND" * @return un array con i percorsi dei file in cui stata trovata la stringa */ function find_fd_files($string,$files,$method){ $string=getparam($string,PAR_NULL,SAN_FLAT); if (!eregi("AND|OR",$method)) $method="AND"; if (count($files)==0) return array(); if (trim($string)=="") return array(); $results= array(); $file=""; foreach ($files as $file){ $text = ""; if (eregi("\.txt$|\.htm$|\.html$|\.xml$|\.sgml$",eregi_replace("\.description$","",$file))){ $text = strip_tags(get_file(eregi_replace("\.description$","",$file))); } //cerco nel file .description, nel nome del file e nel contenuto if (fn_search_string($string,strip_tags(get_file($file))."\n".basename(eregi_replace("\.description$","",$file))."\n".$text,$method)) $results[]=$file; /* //cerco nel nome del file else if (fn_search_string($string,basename(eregi_replace("\.description$","",$file)),$method)) $results[]=$file; //infine controllo il file stesso se di tipo testuale else if (eregi("\.txt$|\.htm$|\.html$|\.xml$|\.sgml$",eregi_replace("\.description$","",$file))){ if (fn_search_string($string, strip_tags(get_file(eregi_replace("\.description$","",$file))), $method)) $results[]=$file; }*/ }//fine foreach generale // print_r($files); return $results; } /** * Restituisce TRUE se l'utente ha i permessi per vedere il file specificato, * FALSE in caso contrario * @param string $file il file da verificare * @param string $user l'utente di cui verificare l'autorizzazione * @since * @author Aldo Boccacci */ function user_can_view_fdfile($file,$user=""){ include_once("download/fd+.php"); if (!fd_check_path($file,"sections/","false")){ fd_die("the path $file is invalid! FD+: ".__LINE__); } if (!is_alphanumeric($user) and trim($user)!=""){ return FALSE; } if (trim($user)=="") $user = getparam("myforum",PAR_COOKIE,SAN_FLAT); $fdmod = ""; $fdmod = eregi_replace("^sections/","", dirname($file)); $description = array(); $description = load_description($file); //CONTROLLO: //il livello della sezione if (getlevel($user,"home")flatnuke-2.7.2/include/search/03_Sezioni.php0000755000175000017500000001161710467465350020247 0ustar simonesimone<< "._INDIETRO.""; } else echo "
    "._FP_RISULTATI.":

    "; } else { echo "

    Sezioni:

    "; } foreach ($files as $file){ $last_update=""; $last_update = filemtime($file); if (eregi("section\.php$",$file)){ $file = eregi_replace("//","/",$file); echo "\"section\" ".eregi_replace("^sections/","",dirname($file))." (".date("d/m/Y - H:i",$last_update).")
    "; } else { $file = eregi_replace("//","/",$file); echo "\"section\" ".eregi_replace("sections/","",$file)." (".date("d/m/Y - H:i",$last_update).")
    "; } } } /** * Cerca la stringa $string nei file $files * @param string $string la stringa da cercare * @param array $files l'array di file in cui cercare la stringa * @param string $method il metodo di ricerca. Pu essere "OR" oppure "AND" * @return un array con i percorsi dei file in cui stata trovata la stringa */ function find_section($string,$files,$method){ $string=getparam($string,PAR_NULL,SAN_FLAT); if (!eregi("AND|OR",$method)) $method="AND"; if (trim($string)=="") { $results=array(); return $results; } $results= array(); $file=""; foreach ($files as $file){ //cerco nel nome del file/sezione e nel contenuto assieme if (fn_search_string($string,strip_tags(basename(eregi_replace("section\.php$","",$file)))."\n".strip_tags(get_file($file)),$method)) $results[]=$file; //cerco nel contenuto // else if (fn_search_string($string,strip_tags(get_file($file)),$method)) $results[]=$file; } return $results; } /** * Elenca i file presenti a partire dalla cartella $dirbase * @param string $dirbase la cartella a partire dalla quale cercare i file * @return un array con i percorsi dei file trovati * @author Aldo Boccacci * @since 2.5.8 */ function list_files($dirbase){ $dirbase=getparam($dirbase,PAR_NULL,SAN_FLAT); $addr=getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); $myforum=getparam("myforum",PAR_COOKIE,SAN_FLAT); if (!is_alphanumeric($myforum) and trim($myforum)!=""){ fnlog("list_files", "$addr||$myforum||username not valid!"); die("username is not valid!"); } if (trim($dirbase)=="") $dirbase="sections/"; $files = array(); //elenco delle sottocartelle include_once("include/filesystem/DeepDir.php"); $tempfiles = NULL; $tempfiles = new DeepDir(); $tempfiles ->setDir("$dirbase"); $tempfiles ->load(); foreach ($tempfiles->files as $file){ $tempmod =""; $tempmod = eregi_replace("^sections/","",dirname($file)); //permetti anche altri file php... if (eregi("\.htmlarea",$file)) continue; if (getLevel($myforum,"home") < getsectlevel($tempmod)) continue; if (eregi("section\.php$|\.htm$|\.html$|\.txt$",$file)){ $files[] = $file; // echo "$file
    "; } } return $files; } ?>flatnuke-2.7.2/include/search/01_News.php0000755000175000017500000000643610467465350017544 0ustar simonesimone<< "._INDIETRO.""; } else echo "
    "._FP_RISULTATI.":

    "; } else { echo "

    News:

    "; } foreach ($files as $file){ $file = eregi_replace("//","/",$file); $string =""; $string= get_file($file); $title = ""; $title = get_xml_element("fn:title",$string); $reads = get_xml_element("fn:reads",$string); global $theme; echo "\"News\" $title (".date("d/m/Y - H:i", basename($file)).") "._LETTO."$reads "._VOLTE."
    "; } } /** * Elenca i file contenti i commenti a partire dalla cartella $dirbase * @param string $dirbase la cartella a partire dalla quale cercare i file * @return un array con i percorsi dei file trovati * @author Aldo Boccacci * @since 2.5.8 */ function list_news(){ $files = glob("news/*"); rsort($files); return $files; } /** * Cerca la stringa $string nei file $files * @param string $string la stringa da cercare * @param array $files l'array di file in cui cercare la stringa * @param string $method il metodo di ricerca. Pu essere "OR" oppure "AND" * @return un array con i percorsi dei file in cui stata trovata la stringa */ function find_news($string,$files,$method){ $string=getparam($string,PAR_NULL,SAN_FLAT); if (trim($string)=="") return array(); if (!eregi("AND|OR",$method)) $method="AND"; $results= array(); $file=""; foreach ($files as $file){ if (fn_search_string($string,strip_tags(get_file($file)),$method)) $results[]= $file; } // print_r($files); return $results; } ?>flatnuke-2.7.2/include/plugins/0000755000175000017500000000000011177641445016017 5ustar simonesimoneflatnuke-2.7.2/include/plugins/editors/0000755000175000017500000000000011177641445017470 5ustar simonesimoneflatnuke-2.7.2/include/filesystem/0000755000175000017500000000000011177641445016522 5ustar simonesimoneflatnuke-2.7.2/include/filesystem/DeepDir.php0000644000175000017500000000335710416024375020547 0ustar simonesimonesetDir( $dirName ); // $dir->load(); // foreach( $dir->files as $pathToFile ){ // echo $pathToFile."\n"; // } // class DeepDir{ var $dir; var $dirs; var $files; function DeepDir(){ $this->dir = ''; $this->files = array(); $this->dirFILO = new FILO(); } function setDir( $dir ){ $this->dir = $dir; $this->files = array(); $this->dirFILO->zero(); $this->dirFILO->push( $this->dir ); } function load(){ while( $this->curDir = $this->dirFILO->pop() ){ $this->loadFromCurDir(); } } function loadFromCurDir(){ if ( $handle = @opendir( $this->curDir ) ){ while ( false !== ( $file = readdir( $handle ) ) ){ if ( $file == "." || $file == ".." ) continue; $filePath = $this->curDir . '/' . $file; $fileType = filetype( $filePath ); if ( $fileType == 'dir' ){ $this->dirFILO->push( $filePath ); $this->dirs[] = $filePath; continue; } $this->files[] = $filePath; } closedir( $handle ); } else{ echo 'error open dir "'.$this->curDir.'"'; } } } // end class //================================ // stack: First In Last Out // class FILO{ var $elements; function FILO(){ $this->zero(); } function push( $elm ){ array_push( $this->elements, $elm ); } function pop(){ return array_pop( $this->elements ); } function zero(){ $this->elements = array(); } } // end class FILO ?>flatnuke-2.7.2/include/README0000644000175000017500000000262110606472130015204 0ustar simonesimoneThis directory includes some thirdy part GNU/GPL software: php_filters ----------- A collection of easy to include PHP functions that sanitize user inputs. Name: OWASP PHP Filters Author: The Open Web Application Security Project Url: http://www.owasp.org/index.php/OWASP_PHP_Filters License: GNU/GPL v2 Name: Kses Author: metaur at users dot sourceforge dot net Url: http://sourceforge.net/projects/kses License: GNU/GPL v2 javascripts ----------- A collection of JS scripts automatically loaded by Flatnuke Name: Lightbox_plus Author: Takuya Otani Url: http://serennz.cool.ne.jp/sb/ License: Creative Commons Attribution 2.5 License Name: AHAH Authors: David Hansson (http://www.loudthinking.com/) Kevin Marks (http://epeus.blogspot.com/) Ernest Prabhakar (http://www.opendarwin.org/~drernie/) Url: http://microformats.org/wiki/rest/ahah License: Public Domain filesystem ---------- A collection of tools to manage your filesystem Name: DeepDir Author: Ilya Nemihin Url: http://nemilya.elementalcms.org License: Freely usable xmlrpc ------ A wide variety of additional XML-RPC specifications Name: DeepDir Author: IXR - The Inutio XML-RPC Library - (c) Incutio Ltd 2002 Url: http://scripts.incutio.com/xmlrpc/ License: Artistic License: http://www.opensource.org/licenses/artistic-license.php flatnuke-2.7.2/include/xmlrpc/0000755000175000017500000000000011177641445015643 5ustar simonesimoneflatnuke-2.7.2/include/xmlrpc/IXR.php0000644000175000017500000006572310604725036017024 0ustar simonesimone htmlspecialchars) Site: http://scripts.incutio.com/xmlrpc/ Manual: http://scripts.incutio.com/xmlrpc/manual.php Made available under the Artistic License: http://www.opensource.org/licenses/artistic-license.php */ class IXR_Value { var $data; var $type; function IXR_Value ($data, $type = false) { $this->data = $data; if (!$type) { $type = $this->calculateType(); } $this->type = $type; if ($type == 'struct') { /* Turn all the values in the array in to new IXR_Value objects */ foreach ($this->data as $key => $value) { $this->data[$key] = new IXR_Value($value); } } if ($type == 'array') { for ($i = 0, $j = count($this->data); $i < $j; $i++) { $this->data[$i] = new IXR_Value($this->data[$i]); } } } function calculateType() { if ($this->data === true || $this->data === false) { return 'boolean'; } if (is_integer($this->data)) { return 'int'; } if (is_double($this->data)) { return 'double'; } // Deal with IXR object types base64 and date if (is_object($this->data) && is_a($this->data, 'IXR_Date')) { return 'date'; } if (is_object($this->data) && is_a($this->data, 'IXR_Base64')) { return 'base64'; } // If it is a normal PHP object convert it in to a struct if (is_object($this->data)) { $this->data = get_object_vars($this->data); return 'struct'; } if (!is_array($this->data)) { return 'string'; } /* We have an array - is it an array or a struct ? */ if ($this->isStruct($this->data)) { return 'struct'; } else { return 'array'; } } function getXml() { /* Return XML for this value */ switch ($this->type) { case 'boolean': return ''.(($this->data) ? '1' : '0').''; break; case 'int': return ''.$this->data.''; break; case 'double': return ''.$this->data.''; break; case 'string': return ''.htmlspecialchars($this->data).''; break; case 'array': $return = ''."\n"; foreach ($this->data as $item) { $return .= ' '.$item->getXml()."\n"; } $return .= ''; return $return; break; case 'struct': $return = ''."\n"; foreach ($this->data as $name => $value) { $return .= " $name"; $return .= $value->getXml()."\n"; } $return .= ''; return $return; break; case 'date': case 'base64': return $this->data->getXml(); break; } return false; } function isStruct($array) { /* Nasty function to check if an array is a struct or not */ $expected = 0; foreach ($array as $key => $value) { if ((string)$key != (string)$expected) { return true; } $expected++; } return false; } } class IXR_Message { var $message; var $messageType; // methodCall / methodResponse / fault var $faultCode; var $faultString; var $methodName; var $params; // Current variable stacks var $_arraystructs = array(); // The stack used to keep track of the current array/struct var $_arraystructstypes = array(); // Stack keeping track of if things are structs or array var $_currentStructName = array(); // A stack as well var $_param; var $_value; var $_currentTag; var $_currentTagContents; // The XML parser var $_parser; function IXR_Message ($message) { $this->message = $message; } function parse() { // first remove the XML declaration $this->message = preg_replace('/<\?xml(.*)?\?'.'>/', '', $this->message); if (trim($this->message) == '') { return false; } $this->_parser = xml_parser_create(); // Set XML parser to take the case of tags in to account xml_parser_set_option($this->_parser, XML_OPTION_CASE_FOLDING, false); // Set XML parser callback functions xml_set_object($this->_parser, $this); xml_set_element_handler($this->_parser, 'tag_open', 'tag_close'); xml_set_character_data_handler($this->_parser, 'cdata'); if (!xml_parse($this->_parser, $this->message)) { /* die(sprintf('XML error: %s at line %d', xml_error_string(xml_get_error_code($this->_parser)), xml_get_current_line_number($this->_parser))); */ return false; } xml_parser_free($this->_parser); // Grab the error messages, if any if ($this->messageType == 'fault') { $this->faultCode = $this->params[0]['faultCode']; $this->faultString = $this->params[0]['faultString']; } return true; } function tag_open($parser, $tag, $attr) { $this->currentTag = $tag; switch($tag) { case 'methodCall': case 'methodResponse': case 'fault': $this->messageType = $tag; break; /* Deal with stacks of arrays and structs */ case 'data': // data is to all intents and puposes more interesting than array $this->_arraystructstypes[] = 'array'; $this->_arraystructs[] = array(); break; case 'struct': $this->_arraystructstypes[] = 'struct'; $this->_arraystructs[] = array(); break; } } function cdata($parser, $cdata) { $this->_currentTagContents .= $cdata; } function tag_close($parser, $tag) { $valueFlag = false; switch($tag) { case 'int': case 'i4': $value = (int)trim($this->_currentTagContents); $this->_currentTagContents = ''; $valueFlag = true; break; case 'double': $value = (double)trim($this->_currentTagContents); $this->_currentTagContents = ''; $valueFlag = true; break; case 'string': $value = (string)trim($this->_currentTagContents); $this->_currentTagContents = ''; $valueFlag = true; break; case 'dateTime.iso8601': $value = new IXR_Date(trim($this->_currentTagContents)); // $value = $iso->getTimestamp(); $this->_currentTagContents = ''; $valueFlag = true; break; case 'value': // "If no type is indicated, the type is string." if (trim($this->_currentTagContents) != '') { $value = (string)$this->_currentTagContents; $this->_currentTagContents = ''; $valueFlag = true; } break; case 'boolean': $value = (boolean)trim($this->_currentTagContents); $this->_currentTagContents = ''; $valueFlag = true; break; case 'base64': $value = base64_decode($this->_currentTagContents); $this->_currentTagContents = ''; $valueFlag = true; break; /* Deal with stacks of arrays and structs */ case 'data': case 'struct': $value = array_pop($this->_arraystructs); array_pop($this->_arraystructstypes); $valueFlag = true; break; case 'member': array_pop($this->_currentStructName); break; case 'name': $this->_currentStructName[] = trim($this->_currentTagContents); $this->_currentTagContents = ''; break; case 'methodName': $this->methodName = trim($this->_currentTagContents); $this->_currentTagContents = ''; break; } if ($valueFlag) { /* if (!is_array($value) && !is_object($value)) { $value = trim($value); } */ if (count($this->_arraystructs) > 0) { // Add value to struct or array if ($this->_arraystructstypes[count($this->_arraystructstypes)-1] == 'struct') { // Add to struct $this->_arraystructs[count($this->_arraystructs)-1][$this->_currentStructName[count($this->_currentStructName)-1]] = $value; } else { // Add to array $this->_arraystructs[count($this->_arraystructs)-1][] = $value; } } else { // Just add as a paramater $this->params[] = $value; } } } } class IXR_Server { var $data; var $callbacks = array(); var $message; var $capabilities; function IXR_Server($callbacks = false, $data = false) { $this->setCapabilities(); if ($callbacks) { $this->callbacks = $callbacks; } $this->setCallbacks(); $this->serve($data); } function serve($data = false) { if (!$data) { global $HTTP_RAW_POST_DATA; if (!$HTTP_RAW_POST_DATA) { die('XML-RPC server accepts POST requests only.'); } $data = $HTTP_RAW_POST_DATA; } $this->message = new IXR_Message($data); if (!$this->message->parse()) { $this->error(-32700, 'parse error. not well formed'); } if ($this->message->messageType != 'methodCall') { $this->error(-32600, 'server error. invalid xml-rpc. not conforming to spec. Request must be a methodCall'); } $result = $this->call($this->message->methodName, $this->message->params); // Is the result an error? if (is_a($result, 'IXR_Error')) { $this->error($result); } // Encode the result $r = new IXR_Value($result); $resultxml = $r->getXml(); // Create the XML $xml = << $resultxml EOD; // Send it $this->output($xml); } function call($methodname, $args) { if (!$this->hasMethod($methodname)) { return new IXR_Error(-32601, 'server error. requested method '.$methodname.' does not exist.'); } $method = $this->callbacks[$methodname]; // Perform the callback and send the response if (count($args) == 1) { // If only one paramater just send that instead of the whole array $args = $args[0]; } // Are we dealing with a function or a method? if (substr($method, 0, 5) == 'this:') { // It's a class method - check it exists $method = substr($method, 5); if (!method_exists($this, $method)) { return new IXR_Error(-32601, 'server error. requested class method "'.$method.'" does not exist.'); } // Call the method $result = $this->$method($args); } else { // It's a function - does it exist? if (!function_exists($method)) { return new IXR_Error(-32601, 'server error. requested function "'.$method.'" does not exist.'); } // Call the function $result = $method($args); } return $result; } function error($error, $message = false) { // Accepts either an error object or an error code and message if ($message && !is_object($error)) { $error = new IXR_Error($error, $message); } $this->output($error->getXml()); } function output($xml) { $xml = ''."\n".$xml; $length = strlen($xml); header('Connection: close'); header('Content-Length: '.$length); header('Content-Type: text/xml'); header('Date: '.date('r')); echo $xml; exit; } function hasMethod($method) { return in_array($method, array_keys($this->callbacks)); } function setCapabilities() { // Initialises capabilities array $this->capabilities = array( 'xmlrpc' => array( 'specUrl' => 'http://www.xmlrpc.com/spec', 'specVersion' => 1 ), 'faults_interop' => array( 'specUrl' => 'http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php', 'specVersion' => 20010516 ), 'system.multicall' => array( 'specUrl' => 'http://www.xmlrpc.com/discuss/msgReader$1208', 'specVersion' => 1 ), ); } function getCapabilities($args) { return $this->capabilities; } function setCallbacks() { $this->callbacks['system.getCapabilities'] = 'this:getCapabilities'; $this->callbacks['system.listMethods'] = 'this:listMethods'; $this->callbacks['system.multicall'] = 'this:multiCall'; } function listMethods($args) { // Returns a list of methods - uses array_reverse to ensure user defined // methods are listed before server defined methods return array_reverse(array_keys($this->callbacks)); } function multiCall($methodcalls) { // See http://www.xmlrpc.com/discuss/msgReader$1208 $return = array(); foreach ($methodcalls as $call) { $method = $call['methodName']; $params = $call['params']; if ($method == 'system.multicall') { $result = new IXR_Error(-32600, 'Recursive calls to system.multicall are forbidden'); } else { $result = $this->call($method, $params); } if (is_a($result, 'IXR_Error')) { $return[] = array( 'faultCode' => $result->code, 'faultString' => $result->message ); } else { $return[] = array($result); } } return $return; } } class IXR_Request { var $method; var $args; var $xml; function IXR_Request($method, $args) { $this->method = $method; $this->args = $args; $this->xml = << {$this->method} EOD; foreach ($this->args as $arg) { $this->xml .= ''; $v = new IXR_Value($arg); $this->xml .= $v->getXml(); $this->xml .= "\n"; } $this->xml .= ''; } function getLength() { return strlen($this->xml); } function getXml() { return $this->xml; } } class IXR_Client { var $server; var $port; var $path; var $useragent; var $response; var $message = false; var $debug = false; // Storage place for an error message var $error = false; function IXR_Client($server, $path = false, $port = 80) { if (!$path) { // Assume we have been given a URL instead $bits = parse_url($server); $this->server = $bits['host']; $this->port = isset($bits['port']) ? $bits['port'] : 80; $this->path = isset($bits['path']) ? $bits['path'] : '/'; // Make absolutely sure we have a path if (!$this->path) { $this->path = '/'; } } else { $this->server = $server; $this->path = $path; $this->port = $port; } $this->useragent = 'The Incutio XML-RPC PHP Library'; } function query() { $args = func_get_args(); $method = array_shift($args); $request = new IXR_Request($method, $args); $length = $request->getLength(); $xml = $request->getXml(); $r = "\r\n"; $request = "POST {$this->path} HTTP/1.0$r"; $request .= "Host: {$this->server}$r"; $request .= "Content-Type: text/xml$r"; $request .= "User-Agent: {$this->useragent}$r"; $request .= "Content-length: {$length}$r$r"; $request .= $xml; // Now send the request if ($this->debug) { echo '
    '.htmlspecialchars($request)."\n
    \n\n"; } $fp = @fsockopen($this->server, $this->port); if (!$fp) { $this->error = new IXR_Error(-32300, 'transport error - could not open socket'); return false; } fputs($fp, $request); $contents = ''; $gotFirstLine = false; $gettingHeaders = true; while (!feof($fp)) { $line = fgets($fp, 4096); if (!$gotFirstLine) { // Check line for '200' if (strstr($line, '200') === false) { $this->error = new IXR_Error(-32300, 'transport error - HTTP status code was not 200'); return false; } $gotFirstLine = true; } if (trim($line) == '') { $gettingHeaders = false; } if (!$gettingHeaders) { $contents .= trim($line)."\n"; } } if ($this->debug) { echo '
    '.htmlspecialchars($contents)."\n
    \n\n"; } // Now parse what we've got back $this->message = new IXR_Message($contents); if (!$this->message->parse()) { // XML error $this->error = new IXR_Error(-32700, 'parse error. not well formed'); return false; } // Is the message a fault? if ($this->message->messageType == 'fault') { $this->error = new IXR_Error($this->message->faultCode, $this->message->faultString); return false; } // Message must be OK return true; } function getResponse() { // methodResponses can only have one param - return that return $this->message->params[0]; } function isError() { return (is_object($this->error)); } function getErrorCode() { return $this->error->code; } function getErrorMessage() { return $this->error->message; } } class IXR_Error { var $code; var $message; function IXR_Error($code, $message) { $this->code = $code; $this->message = $message; } function getXml() { $xml = << faultCode {$this->code} faultString {$this->message} EOD; return $xml; } } class IXR_Date { var $year; var $month; var $day; var $hour; var $minute; var $second; function IXR_Date($time) { // $time can be a PHP timestamp or an ISO one if (is_numeric($time)) { $this->parseTimestamp($time); } else { $this->parseIso($time); } } function parseTimestamp($timestamp) { $this->year = date('Y', $timestamp); $this->month = date('Y', $timestamp); $this->day = date('Y', $timestamp); $this->hour = date('H', $timestamp); $this->minute = date('i', $timestamp); $this->second = date('s', $timestamp); } function parseIso($iso) { $this->year = substr($iso, 0, 4); $this->month = substr($iso, 4, 2); $this->day = substr($iso, 6, 2); $this->hour = substr($iso, 9, 2); $this->minute = substr($iso, 12, 2); $this->second = substr($iso, 15, 2); } function getIso() { return $this->year.$this->month.$this->day.'T'.$this->hour.':'.$this->minute.':'.$this->second; } function getXml() { return ''.$this->getIso().''; } function getTimestamp() { return mktime($this->hour, $this->minute, $this->second, $this->month, $this->day, $this->year); } } class IXR_Base64 { var $data; function IXR_Base64($data) { $this->data = $data; } function getXml() { return ''.base64_encode($this->data).''; } } class IXR_IntrospectionServer extends IXR_Server { var $signatures; var $help; function IXR_IntrospectionServer() { $this->setCallbacks(); $this->setCapabilities(); $this->capabilities['introspection'] = array( 'specUrl' => 'http://xmlrpc.usefulinc.com/doc/reserved.html', 'specVersion' => 1 ); $this->addCallback( 'system.methodSignature', 'this:methodSignature', array('array', 'string'), 'Returns an array describing the return type and required parameters of a method' ); $this->addCallback( 'system.getCapabilities', 'this:getCapabilities', array('struct'), 'Returns a struct describing the XML-RPC specifications supported by this server' ); $this->addCallback( 'system.listMethods', 'this:listMethods', array('array'), 'Returns an array of available methods on this server' ); $this->addCallback( 'system.methodHelp', 'this:methodHelp', array('string', 'string'), 'Returns a documentation string for the specified method' ); } function addCallback($method, $callback, $args, $help) { $this->callbacks[$method] = $callback; $this->signatures[$method] = $args; $this->help[$method] = $help; } function call($methodname, $args) { // Make sure it's in an array if ($args && !is_array($args)) { $args = array($args); } // Over-rides default call method, adds signature check if (!$this->hasMethod($methodname)) { return new IXR_Error(-32601, 'server error. requested method "'.$this->message->methodName.'" not specified.'); } $method = $this->callbacks[$methodname]; $signature = $this->signatures[$methodname]; $returnType = array_shift($signature); // Check the number of arguments if (count($args) != count($signature)) { // print 'Num of args: '.count($args).' Num in signature: '.count($signature); return new IXR_Error(-32602, 'server error. wrong number of method parameters'); } // Check the argument types $ok = true; $argsbackup = $args; for ($i = 0, $j = count($args); $i < $j; $i++) { $arg = array_shift($args); $type = array_shift($signature); switch ($type) { case 'int': case 'i4': if (is_array($arg) || !is_int($arg)) { $ok = false; } break; case 'base64': case 'string': if (!is_string($arg)) { $ok = false; } break; case 'boolean': if ($arg !== false && $arg !== true) { $ok = false; } break; case 'float': case 'double': if (!is_float($arg)) { $ok = false; } break; case 'date': case 'dateTime.iso8601': if (!is_a($arg, 'IXR_Date')) { $ok = false; } break; } if (!$ok) { return new IXR_Error(-32602, 'server error. invalid method parameters'); } } // It passed the test - run the "real" method call return parent::call($methodname, $argsbackup); } function methodSignature($method) { if (!$this->hasMethod($method)) { return new IXR_Error(-32601, 'server error. requested method "'.$method.'" not specified.'); } // We should be returning an array of types $types = $this->signatures[$method]; $return = array(); foreach ($types as $type) { switch ($type) { case 'string': $return[] = 'string'; break; case 'int': case 'i4': $return[] = 42; break; case 'double': $return[] = 3.1415; break; case 'dateTime.iso8601': $return[] = new IXR_Date(time()); break; case 'boolean': $return[] = true; break; case 'base64': $return[] = new IXR_Base64('base64'); break; case 'array': $return[] = array('array'); break; case 'struct': $return[] = array('struct' => 'struct'); break; } } return $return; } function methodHelp($method) { return $this->help[$method]; } } class IXR_ClientMulticall extends IXR_Client { var $calls = array(); function IXR_ClientMulticall($server, $path = false, $port = 80) { parent::IXR_Client($server, $path, $port); $this->useragent = 'The Incutio XML-RPC PHP Library (multicall client)'; } function addCall() { $args = func_get_args(); $methodName = array_shift($args); $struct = array( 'methodName' => $methodName, 'params' => $args ); $this->calls[] = $struct; } function query() { // Prepare multicall, then call the parent::query() method return parent::query('system.multicall', $this->calls); } } ?>flatnuke-2.7.2/include/autoexec.d/0000755000175000017500000000000011177641445016375 5ustar simonesimoneflatnuke-2.7.2/include/autoexec.d/01_autobuild.php0000644000175000017500000000370311056600252021364 0ustar simonesimone * @author Marco Segato * * @license http://opensource.org/licenses/gpl-license.php GNU General Public License */ if (eregi("autobuild.php", $_SERVER['PHP_SELF'])) { Header("Location: ../../index.php"); die(); } // will be in the next future... /*if(file_exists("setup.php")) { $mod = getparam("mod", PAR_GET, SAN_FLAT); if(strcmp($mod, "none_Login") == 0) {} elseif(file_exists("misc/firstinstall")) header("Location: setup.php"); }*/ $ip = strip_tags(getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL)); // prevent annoying newbies still using that fuckin' Winzip(C) ... $list_empty_dirs = array(get_fn_dir("news")); foreach($list_empty_dirs as $empty_dir) { if(!file_exists($empty_dir)) { if(mkdir($empty_dir, 0777)) { fnlog("Homepage", "$ip||".get_username()."||Directory $empty_dir created."); } else { fnlog("Homepage", "$ip||".get_username()."||Directory $empty_dir cannot be created, check write permissions."); } } } // automatically set write permissions if admin didn't (INSTALL file lost? grrr...) $list_writables = array(get_fn_dir("news"), get_fn_dir("var"), get_fn_dir("var")."/firstinstall"); foreach($list_writables as $writable) { if(file_exists($writable) AND !is_writable($writable)) { if(chmod("$writable", 0777)) { fnlog("Permissions", "$ip||".get_username()."||$writable is now writable."); } else { fnlog("Permissions", "$ip||".get_username()."||$writable cannot be set writable, manually check write permissions."); } } } // create some system files on-the-fly $list_new_files = array(get_fn_dir("var")."/motd.php"); foreach($list_new_files as $new_file) { if(!file_exists($new_file)) { fnwrite($new_file, _MOTDMESS, "w+", array("nonull")); } } ?> flatnuke-2.7.2/include/autoexec.d/11_stats_recover.php0000644000175000017500000000574211071506451022270 0ustar simonesimone * * @license http://opensource.org/licenses/gpl-license.php GNU General Public License */ if (eregi("stats.php", $_SERVER['PHP_SELF'])) { header("Location: ../../index.php"); die(); } // create main directory if it's not present if (!file_exists("misc/flatstat")) { if (!mkdir("misc/flatstat", 0777)){ exit(); } } // create referers' file if it's not present if (!file_exists("misc/flatstat/referer.dat")) { fnwrite("misc/flatstat/referer.dat", "", "w"); } // build array of years $years_list = array(); $stats_dir = opendir("misc/flatstat"); while($file=readdir($stats_dir)) { if(!eregi("[0-9a-zA-Z]+",get_file_extension($file)) AND !($file=="." OR $file=="..") AND (!ereg("^\.",$file) AND ($file!="CVS"))) { array_push($years_list, $file); } } closedir($stats_dir); if(count($years_list)>0) { sort($years_list); //echo "
    ";print_r($years_list);echo "
    "; //-> TEST } // check if current year is ok; if not present, create all the files needed if(!in_array(date("Y"), $years_list)) { $cur_year = date("Y"); $init_year = ""; if(mkdir("misc/flatstat/$cur_year", 0777)) { for($month=1; $month<=12; $month++) { $init_month = ""; $init_year .= "0|0\n"; $daysInMonth = date("j", mktime(0,0,0,$i,0,$cur_year)); for ($i=1; $i<=$daysInMonth; $i++) { $init_month .= "$i|0\n"; } fnwrite("misc/flatstat/$cur_year/$month.php", "$init_month\n", "w", array("nonull")); } fnwrite("misc/flatstat/$cur_year/generale.php", "$init_year\n", "w", array("nonull")); } } // re-build statistics for every single year foreach($years_list as $year) { $rebuild_month = ""; for($month=1; $month<=12; $month++) { // create month file if it does not exists if(!file_exists("misc/flatstat/$year/$month.php")) { $init = ""; $daysInMonth = date("j", mktime(0,0,0,$i,0,$year)); for ($i=1; $i<=$daysInMonth; $i++) { $init .= "$i|0\n"; } fnwrite("misc/flatstat/$year/$month.php", "$init\n", "w", array("nonull")); } else { // re-build year's stats $file_month = file("misc/flatstat/$year/$month.php"); $tot_month = 0; for($i=0; $i flatnuke-2.7.2/include/autoexec.d/news/0000755000175000017500000000000011177641445017351 5ustar simonesimoneflatnuke-2.7.2/include/autoexec.d/10_stats.php0000644000175000017500000000171211021000102020504 0ustar simonesimone * @author Marco Segato * * @license http://opensource.org/licenses/gpl-license.php GNU General Public License */ if (eregi("stats.php", $_SERVER['PHP_SELF'])) { Header("Location: ../../index.php"); die(); } $from = getparam("HTTP_REFERER", PAR_SERVER, SAN_FLAT); $host = getparam("HTTP_HOST", PAR_SERVER, SAN_FLAT); $self = getparam("PHP_SELF", PAR_SERVER, SAN_FLAT); $where = "http://".$host.$self; $where = str_replace(basename($where),"",$where); $url = str_replace("http://","",$where); $url = str_replace("www.","",$url); $from = str_replace("http://","",$from); $from = str_replace("www.","",$from); if (file_exists("sections/none_Statistiche/stat.php") AND !stristr($from,$url)) { include "sections/none_Statistiche/stat.php"; stats(); } ?> flatnuke-2.7.2/include/autoexec.d/02_maintenance.php0000644000175000017500000000423011177637545021676 0ustar simonesimone * @author Marco Segato * * @license http://opensource.org/licenses/gpl-license.php GNU General Public License */ if (eregi("maintenance.php", $_SERVER['PHP_SELF'])) { Header("Location: ../../index.php"); die(); } global $maintenance; if ($maintenance == "1") { if(!is_admin()) { ?>
    Flatnuke CMS login









    "; echo $footer_elements['legal']."
    "; echo $footer_elements['time']; exit(); } else { echo "
    "._MAINT."
    "; } } ?> flatnuke-2.7.2/include/autoexec.d/00_security.php0000644000175000017500000000425011040174772021246 0ustar simonesimone * @author Marco Segato * * @license http://opensource.org/licenses/gpl-license.php GNU General Public License */ // deny direct access to this file if (eregi("security.php", $_SERVER['PHP_SELF'])) { Header("Location: ../../index.php"); die(); } // security checks $ip = strip_tags(getparam("REMOTE_ADDR", PAR_SERVER, SAN_NULL)); $ref = strip_tags(getparam("HTTP_REFERER", PAR_SERVER, SAN_NULL)); $mod = getparam("mod", PAR_GET,SAN_FLAT); $action = getparam("action",PAR_GET,SAN_FLAT); $op = getparam("op", PAR_GET,SAN_FLAT); // check if IP address is blacklisted if (is_blocked_ip($ip)){ fnlog("Security", "$ip||Access denied to IP address $ip."); header("Location: http://www.spam.com/"); // have fun ;) exit; } // check if REFERER is a spammer if (is_spam($ref, "words")) { fnlog("Security", "$ip||Access denied to spamming REFERER URL $ref."); header("Location: http://www.spam.com/"); // have fun ;) exit; } // check if REFERER is blacklisted if (is_spam($ref, "referers")) { fnlog("Security", "$ip||Access denied to REFERER URL $ref."); header("Location: index.php"); exit; } // deny remote cross access to this file in case of comments or login/administration access if( $mod!="" AND ($mod=='comment' OR ($mod=='none_Login' AND $action!='activateuser' AND $action!='newpwd' AND $action!='') OR ($mod=='none_Admin' AND $op!='fnccnews')) ){ if( !eregi( $_SERVER['HTTP_HOST'],$_SERVER['HTTP_REFERER'] ) ){ if ($mod == 'comment') { $mod = 'read'; } else { //fnlog("Security", "$ip||Blocked unauthorized remote access to index.php. URL=".$_SERVER['HTTP_REFERER']); // uncomment if interested on lamers' access header("Location: index.php"); exit; } } } // check if REQUEST_URI tries to overwrite username $req = getparam("REQUEST_URI", PAR_SERVER, SAN_FLAT); if(strstr($req,"myforum=")) { header("Location: index.php"); exit; } // if there's no active session, start a new one if (session_id() == "") session_start(); $_SESSION['fn_session'] = session_id(); ?> flatnuke-2.7.2/include/phpfunctions/0000755000175000017500000000000011177641445017056 5ustar simonesimoneflatnuke-2.7.2/include/blocks/0000755000175000017500000000000011177641445015613 5ustar simonesimoneflatnuke-2.7.2/include/blocks/login/0000755000175000017500000000000011177641445016723 5ustar simonesimoneflatnuke-2.7.2/include/blocks/login/Language.php0000644000175000017500000001050211177637545021163 0ustar simonesimone at http://www.aldoboccacci.it * Lorenzo Caporale at http://www.fn-look.org/team/~piercolone/ * * License * ------- * 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 any * later version. * * Changelog * --------- * Marco Segato | 20070210: Code revision and inclusion in Flatnuke 2.5.9 * Marco Segato | 20070325: French language added * Marco Segato | 20090324: Redirect to the self page (idea from Jack Overfull ) * */ // prevent direct access to this file if (eregi("Language.php",$_SERVER['PHP_SELF'])) { Header("Location: ../../../index.php"); die(); } /** * -- Start CONFIGURATION -- * If the variable $showtext is set to '1', it will be printed the text "Select your language"; * if the variable $showtext is set to '0', only flag images will be printed. */ $showtext = 1; /** -- End CONFIGURATION -- */ // rebuild current URL with all GET values $newurl = "index.php?"; if(sizeof($_GET)>0) { $value = ""; foreach($_GET as $key => $value) { $newurl .= $key."=".getparam($key, PAR_GET, SAN_FLAT)."&"; } } // set chosen language if (isset($_GET['userlang'])) { $userlang = getparam("userlang", PAR_GET, SAN_FLAT); if(!is_alphanumeric($userlang)) { return; } if(file_exists("languages/$userlang.php")) { setcookie("userlang", $userlang, time()+31536000); // --> 1 year } $newurl = eregi_replace("(userlang=([a-z][a-z]))", "", $newurl); $newurl = eregi_replace("\?\&$", "", $newurl); $newurl = str_replace("&&", "", $newurl); Header("Location: $newurl"); } // print text if expected from configuration if($showtext == 1){ echo "
    "; $preflang = substr(preflang(),0,2); switch($preflang) { case("de"): echo "Deine Sprache vorwhlen:"; break; case("en"): echo "Choose your language:"; break; case("es"): echo "Selecciona tu lengua:"; break; case("fr"): echo "Choisir votre langue"; break; case("it"): echo "Scegli la lingua:"; break; case("pt"): echo "Seleciona tua lngua:"; break; default: echo _LANG.":"; } echo "
    "; } // print flag images ?>
    deutsch english espaol franais italiano portugus
    $q) { $lang_index[$i] = $lang; $i++; } return $lang_index[0]; } ?> flatnuke-2.7.2/verify.php0000644000175000017500000001530511177637544014741 0ustar simonesimone".$comment[$j], "", $content); $new_content = str_replace("\n", "", $new_content); fnwrite($file, $new_content, "w", array("nonull")); fnlog("News", $ip."||".$myforum."||Deleted 1 comment from the file $file."); } } } ?>",$text)) fn_die("USERMODCONT","Error, user".strip_tags($username)." cannot add php code in the section ".strip_tags($sectmod)." addr: $ip",__FILE__,__LINE__); if (!check_path($file,"sections/","true")) fn_die("USERMODCONT","Error, file ".strip_tags($file)." is not valid! user: $username addr: $ip",__FILE__,__LINE__); //gestisco l'attivazione di magic quotes if (get_magic_quotes_gpc()){ $text=stripslashes($text); } //strippo tutto quello che non e' consentito $text = fn_purge_html_string($text); if(user_can_edit_section($sectmod,$username) and user_can_view_section($sectmod,$username) and file_exists($file)) { fnwrite($file, $text, "w", array()); fnlog("USERMODCONT", $ip."||$username||File ".$file." modified."); if (file_exists(dirname($file)."/level.php") or file_exists(dirname($file)."/view.php") or file_exists(dirname($file)."/edit.php")){ if (basename($file)=="section.php") protect_file($file); } } ?> flatnuke-2.7.2/misc/0000755000175000017500000000000011177641445013646 5ustar simonesimoneflatnuke-2.7.2/misc/firstinstall0000644000175000017500000000000010254336137016267 0ustar simonesimoneflatnuke-2.7.2/download/0000755000175000017500000000000011177641445014522 5ustar simonesimoneflatnuke-2.7.2/download/fd+.php0000755000175000017500000003561511177637544015721 0ustar simonesimone= 2.5.8) * * Il codice del metodo getIcon proviene quasi interamente dal progetto Autoindex * * 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. * * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ //lo script non pu essere richiamato direttamente if (eregi("fd+.php",$_SERVER['PHP_SELF'])) { Header("Location: ../index.php"); fd_die("You cannot call fd+.php!"); } //CONFIGURAZIONE AVANZATA: NON MODIFICARE! //Il file che conterr l'elenco dei file pi scaricati $max_download_file = "fd_top_download.php"; //Il nome della cartella di archivio $archivedir = "none_archivedir"; //L'estensione dei file di descrizione //questa variabile non ancora usata $desc_extension=".description"; //il file di log $fdlogfile ="misc/log/fdpluslog.php"; //importo la configurazione require_once("download/fdconfig.php"); //ci sono prolemi con register_globals=off $GLOBALS['archivedir'] = $archivedir; $GLOBALS['extensions'] = $extensions; $GLOBALS['icon_style'] = $icon_style; $GLOBALS['newfiletime'] = $newfiletime; $GLOBALS['automd5'] = $automd5; $GLOBALS['autosha1'] = $autosha1; $GLOBALS['max_download_file'] = $max_download_file; $GLOBALS['maxFileSize']= $maxFileSize; $GLOBALS['desc_extension'] = $desc_extension; $GLOBALS['fdlogfile'] = $fdlogfile; $GLOBALS['showuploader'] = $showuploader; $GLOBALS['extsig'] = trim($extsig); $GLOBALS['extscreenshot'] = $extscreenshot; $GLOBALS['admins'] = trim($admins); $GLOBALS['enable_admin_options'] = trim($enable_admin_options); $GLOBALS['section_show_header'] = trim($section_show_header); $GLOBALS['defaultvoteon'] = trim($defaultvoteon); //UTENTI //ci sono prolemi con register_globals=off $GLOBALS['usermaxFileSize'] = $usermaxFileSize; $GLOBALS['userwaitingfile'] = $userwaitingfile; $GLOBALS['userfilelimit'] = $userfilelimit; $GLOBALS['userblacklist'] = $userblacklist; $GLOBALS['minlevel'] = $minlevel; $GLOBALS['showdownloadlink'] = $showdownloadlink; $GLOBALS['overview_show_files'] = $overview_show_files; include_once("config.php"); include_once("functions.php"); include_once("shared.php"); //impone l'inclusione dei file di supporto require_once("download/include/fdview.php"); if (fd_is_admin()) require_once("download/include/fdadmin.php"); require_once("download/include/fdfunctions.php"); require_once("download/include/fdurl.php"); include_once("download/include/fduser.php"); //inclusione moduli esterni fd_load_php_code("download/include/phpfunctions/"); //impostazione lingua global $lang; if (!isset($lang))$lang="it"; $userlang = getparam("userlang", PAR_COOKIE, SAN_FLAT); if ($userlang!=""){ if (file_exists("languages/".str_replace(".php","",$userlang).".php")) $lang = str_replace(".php","",$userlang); } if ($lang=="en" or $lang=="es"){ include_once ("languages/fd+lang/fd+en.php"); include_once ("languages/$lang.php"); } else if ($lang=="it"){ include_once ("languages/fd+lang/fd+it.php"); include_once ("languages/it.php"); } else if ($lang=="de"){ include_once ("languages/fd+lang/fd+de.php"); include_once ("languages/de.php"); } else { include_once ("languages/fd+lang/fd+en.php"); include_once ("languages/$lang.php"); } //fine impostazione lingua //A seconda dei parametri passati si intraprender l'azione opportuna //PARAMETRI GET if (isset($_GET['fdaction'])){ $_get_fdaction = ""; $_get_fdaction = trim(getparam("fdaction",PAR_GET,SAN_FLAT)); $file=""; $file = getparam("fdfile",PAR_GET,SAN_NULL); $file = trim($file); // echo "FILE: $file";die(); if (!fd_check_path($file,"sections/","false") and $file!="") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if ($_get_fdaction=="confirmDelete"){ if ($file=="") return; confermaElimina($file); } else if ($_get_fdaction=="delete"){ if ($file=="") return; elimina($file); } else if ($_get_fdaction=="confirmDeleteSign"){ if ($file=="") return; delete_sign_interface($file); } else if ($_get_fdaction=="deletesign"){ if ($file=="") return; delete_sign($file); } else if ($_get_fdaction=="confirmDeleteScreenshot"){ if ($file=="") return; delete_screenshot_interface($file); } else if ($_get_fdaction=="deletescreenshot"){ if ($file=="") return; delete_screenshot($file); } else if ($_get_fdaction=="hide"){ if ($file=="") return; $value = getparam("value",PAR_GET,SAN_FLAT); if (!eregi("^false$|^true$",$value)) fd_die("Value must be true or false! FD+: ".__LINE__); hide_file($file,$value); } else if ($_get_fdaction=="archive"){ if ($file=="") return; archivia($file,$archivedir); } else if ($_get_fdaction=="renameinterface"){ if ($file=="") return; rename_interface($file); } else if ($_get_fdaction=="modify"){ if ($file=="") return; // modifica($file,$maxFileSize); edit_description_interface($file,load_description($file),"edit"); } else if ($_get_fdaction=="ripristina"){ if ($file=="") return; ripristina($file,$archivedir); } else if ($_get_fdaction=="download"){ $url = getparam("url",PAR_GET,SAN_NULL); $url = trim($url); if ($url=="") return; if (!fd_check_path($url,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); // echo "URL".$url; track($url); } else if ($_get_fdaction=="moveinterface"){ if ($file=="") return; move_file_interface($file); } else if ($_get_fdaction=="movefileconfirm"){ if ($file=="") return; $newdir = ""; $newdir = getparam("newdir",PAR_GET,SAN_NULL); $newdir = trim($newdir); if ($newdir=="")return; if (!fd_check_path($newdir,"./sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); move_file_confirm($file,eregi_replace("^\./","",$newdir)); } else fdlogf("\$_GET['fdaction'] value is invalid: \"".strip_tags($_get_fdaction)."\". FD+: ".__LINE__,"ERROR"); } //PARAMETRI POST if (isset($_POST['fdaction'])){ $_post_fdaction = ""; $_post_fdaction = getparam("fdaction",PAR_POST,SAN_FLAT); if ($_post_fdaction=="createsectinterface"){ mksection_interface(); } else if ($_post_fdaction=="addfile"){ // nuovoFile($maxFileSize); edit_description_interface("",array(),"upload"); } else if ($_post_fdaction=="addurl"){ // nuovoFile($maxFileSize); edit_description_interface("",array(),"addurl"); } else if ($_post_fdaction=="createsect"){ if (isset($_POST['fdmod'])) $fdmod = $_POST['fdmod']; else return; if (isset($_POST['fdnewsect'])) $fdnewsect = $_POST['fdnewsect']; else return; if (isset($_POST['fdsecthidden'])) $fdsecthidden = $_POST['fdsecthidden']; else $fdsecthidden="false"; if (isset($_POST['fdsectallowuserupload'])) $fdsectallowuserupload = $_POST['fdsectallowuserupload']; else $fdsectallowuserupload="false"; mksection($fdmod,$fdnewsect,$fdsecthidden,$fdsectallowuserupload); } else if ($_post_fdaction=="renamefile"){ if (isset($_POST['oldfilename'])) $oldfinename = $_POST['oldfilename']; else return; if (isset($_POST['newfilename'])) $newfilename = $_POST['newfilename']; else return; if (isset($_POST['fdpath'])) $fdpath = $_POST['fdpath']; else return; rename_file($oldfinename,$newfilename,$fdpath); } else if ($_post_fdaction=="movefile"){ if (isset($_POST['fdfile'])) $fdfile = $_POST['fdfile']; else return; if (isset($_POST['newdir'])) $newdir = eregi_replace("^\./","",$_POST['newdir']); else return; fd_move_file($fdfile,$newdir); } else if ($_post_fdaction=="upload"){ upload(); } else if ($_post_fdaction=="uploadurl"){ uploadurl(); } else if ($_post_fdaction=="save"){ save_changes(); } else if ($_post_fdaction=="saveurl"){ saveurl(); } //User upload else if ($_post_fdaction=="useraddfile"){ edit_description_interface("",array(),"userupload"); // user_addfile(); } else if ($_post_fdaction=="userupload"){ user_upload(); } else if ($_post_fdaction=="publishuserfileinterface"){ publish_interface(); } else if ($_post_fdaction=="publishuserfile"){ publish_file($_POST['fdfile']); } else if ($_post_fdaction=="deleteuserfile"){ confermaElimina($_POST['fdfile']); } else if ($_post_fdaction=="allowuserupload"){ $fdmod = getparam("fdmod",PAR_POST,SAN_FLAT); allow_user_upload($fdmod); } else if ($_post_fdaction=="removeuserupload"){ $fdmod = getparam("fdmod",PAR_POST,SAN_FLAT); remove_user_upload($fdmod); } else fdlogf("\$_POST['fdaction'] value is invalid: \"".strip_tags($_post_fdaction)."\" FD+: ".__LINE__,"ERROR"); } /** * Restituisce true se l'utente di livello 10 * (e dunque possiede i privilegi di amministrazione) * * @return TRUE se l'utente collegato di livello 10, FALSE se non lo * @author Aldo Boccacci */ function fd_is_admin(){ //blocco admin global $enable_admin_options; if (trim($enable_admin_options)!="1") return FALSE; if (is_admin()) return TRUE; global $admins; $powerusers= array(); $powerusers = explode(",",eregi_replace(" ","",$admins)); $myforum = get_username(); if (in_array(get_username(),$powerusers)){ if (versecid(get_username(),"home") and is_user()) return TRUE; } } /** * converte la cartella di archivio eventualmente presente con il vecchio nome * @param string $archivedir il nuovo nome della cartella di archivio * @author Aldo Boccacci * @since 0.6 */ function rename_archivedir($archivedir){ $mod=""; $mod =getparam("mod",PAR_GET,SAN_FLAT); $mod = trim($mod); if ($mod=="") return; if (!fd_check_path($mod,"","false")) return; if (!fd_check_path($archivedir,"","false")) return; if (is_dir("sections/$mod/vecchie_versioni/") and (!file_exists("sections/$mod/$archivedir"))){ rename("sections/$mod/vecchie_versioni","sections/$mod/$archivedir"); } } /** * * @return TRUE se l'utente ha i permessi per vedere il file specificato, FALSE se * non li ha * @since 0.7 * @author Aldo Boccacci */ /* function user_can_view_file($file){ if (!fc_check_path($file)) return FALSE; } */ /** * Questa funzione serve per salvare il log di fd+. * Il messaggio viene formattato aggiungendo campi di interesse. * * Dalla versione 0.8 sono presenti due file di log: * 1. quello impostato dalla variabile $logfile. Viene utilizzato se non viene impostato il secondo parametro. * 2. se viene impostato come secondo parametro "ERROR" il file di log avr nome fdlogerror.php (di default) * * @param string $message il messaggio da salvare * @param string $type il tipo di messaggio. Pu essere lasciato vuoto o * impostato a "ERROR" * @author Aldo Boccacci * @since 0.7 */ function fdlogf($message,$type="") { global $fdlogfile; if (!isset($fdlogfile)) $fdlogfile="misc/log/fdpluslog.php"; if (eregi("\<\?",$message) or eregi("\?\>",$message)) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if ($type=="ERROR"){ $fdlogfile = eregi_replace("\.php$","error.php",$fdlogfile); } if (!is_dir("misc/log/")){ mkdir("misc/log","0777"); } if (!file_exists("$fdlogfile")){ fnwrite($fdlogfile,"\n","w",array("nonull")); } else { $logtext=""; $logtext = get_file($fdlogfile); if (!eregi("\<\?exit\(1\);\?\>",$logtext)){ // echo "no codice controllo"; fnwrite($fdlogfile,"\n$logtext","w",array("nonull")); } } //l'utente collegato $myforum=""; if (isset($_COOKIE['myforum'])) $myforum = $_COOKIE['myforum']; // if (!is_alphanumeric($myforum)) $myforum =""; if (!versecid($myforum)) $myforum .= "(NOT VALID!)"; $REMOTE_ADDR=""; $REMOTE_ADDR = getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); // if (isset($_GET['mod'])) $mod=getparam("mod",PAR_GET,SAN_FLAT); // else $mod=""; // if (!is_alphanumeric($myforum)) die(_NON",$message)) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!is_dir("misc/log/")){ mkdir("misc/log","0777"); } if (!file_exists("$fdlogfile")){ $fl = NULL; $fl=fopen("$fdlogfile","a"); fwrite($fl, "\n"); fclose($fl); } else { $logtext=""; $logtext = get_file($fdlogfile); if (!eregi("\<\?exit\(1\);\?\>",$logtext)){ // echo "no codice controllo"; $flogtemp = fopen($fdlogfile,"w"); fwrite($flogtemp,"\n".strip_tags($logtext)); fclose($flogtemp); } } $myforum = get_username(); $REMOTE_ADDR = getparam("REMOTE_ADDR",PAR_SERVER,SAN_FLAT); // if (isset($_GET['mod'])) $mod = getparam("mod",PAR_GET,SAN_FLAT); // else $mod=""; if (!is_alphanumeric($myforum)) die(_NONPUOI.__LINE__); if (!fd_check_path($mod,"","false")) die(_NONPUOI.__LINE__); if (!eregi("^[0-9\.]+$",$REMOTE_ADDR)) die(_NONPUOI.__LINE__); $fl=fopen("$fdlogfile","a"); fwrite($fl, strip_tags(date(_FDDATEFORMAT)."\n\t$message\n")); fclose($fl); } /** * Funzione di die() personalizzata per fd+ che prima di uccidere il processo * salva un messaggio nel log * @param string $message il messaggio da stampare a schermo e da salvare nel log * @param string $file il file che ha generato l'errore * @param string $line la linea nella quale stato generato l'errore * @author Aldo Boccacci * @since 0.7 */ function fd_die($message="unset",$file="",$line=""){ if ($file!="" and check_path($file,"","true")) $file=strip_tags(basename(trim($file))); else $file=""; if (check_var(trim($line),"digit")) $line=strip_tags(trim($line)); else $line=""; if ($file!="" and $line!="") $message = "$message $file: $line"; fdlogf($message,"ERROR"); if (is_admin()) echo $message; die(); } /** * restituisce una stringa contenente la versione di fdplus * @return la versione di fdplus * @author Aldo Boccacci * @since 0.7rc4 */ function get_fd_version(){ return "0.8"; } ?>flatnuke-2.7.2/download/CREDITS.txt0000644000175000017500000000121310416024375016345 0ustar simonesimoneCREDITI Le icone utilizzate provengono dal progetto Autoindex (http://autoindex.sourceforge.net/). Il codice del metodo getIcon proviene quasi interamente dal progetto Autoindex precedentemente citato. La libreria DeepDir.php una versione modificata dell'originale di Ilya Nemihin (http://nemilya.elementalcms.org/). Si ringrazia in modo particolare Marco Segato (http://marcosegato.altervista.org/) per il supporto che ha dato a questo progetto fin dalla sua nascita. Traduzione tedesca di Bjoern Splinter Un grazie va anche a Gotux (gotux.altervista.org) e a Danix (www.winpenpack.com) per l'attivit di testing su fd+0.7flatnuke-2.7.2/download/include/0000755000175000017500000000000011177641445016145 5ustar simonesimoneflatnuke-2.7.2/download/include/fdview.php0000755000175000017500000007040711177637545020163 0ustar simonesimone"; echo "
    "; if (is_dir("sections/none_Statistiche/download_stats/")){ echo ""._FDSTAT.""; echo "
    "; } if(fd_is_admin()){ //controllo se ci troviamo in una dir di archivio $lastdir = strrchr(dirname($filename),"/"); if (!eregi($archivedir,$lastdir)){ if (is_writable(dirname($filename))){ //echo "
    "._FDADDFILE.""; //pulsante per aggiungere un nuovo file echo "
    "; //pulsante per aggiungere un nuovo file echo "
    "; //pulsante per creare una nuova sezione echo "
    "; if (!file_exists("sections/$mod/fduserupload")){ //pulsante per permettere agli utenti di caricare files in questa sezione echo "
    "; } else { //pulsante per permettere agli utenti di caricare files in questa sezione echo "
    "; } } else echo "
    "._FDREDONLYDIR.""; } } echo "

    "; module_copyright("FDplus",get_fd_version(),"Aldo Boccacci aka Zorba","zorba_(AT)tin.it", "http://www.aldoboccacci.it", "Gpl version 2.0"); global $theme; if (file_exists("sections/$mod/$archivedir/section.php")){ opentable(); echo "\"Subsection\" "._FDARCHIVEDIR.""; closetable(); } } /** * Questa funzione crea e visualizza la tabella con le informazioni * per il file indicato come argomento * @param string $filename il file da mostrare * @since 0.7 * @author Aldo Boccacci */ function fd_view_file($filename){ $GLOBALS['filename'] = $filename; if (file_exists("include/redefine/".__FUNCTION__.".php")){ include("include/redefine/".__FUNCTION__.".php"); return; } if (!fd_check_path($filename,"sections/","")) { fdlogf("\$filename \"".strip_tags($filename)."\" is not valid! FDview: ".__LINE__); return; } global $extensions,$icon_style,$archivedir,$newfiletime,$extsig,$showdownloadlink; if ($extsig=="") $extsig="sig"; $extensions_array=array(); $extensions_array = explode(",",$extensions); //estraggo l'estensione $fileinfo = array(); $fileinfo = pathinfo($filename); $ext =""; if (isset($fileinfo['extension'])) $ext = $fileinfo['extension']; else return; if (!in_array($ext,$extensions_array)){ return; } //se e' un file php ritorno if (eregi("php",$ext)) { return; } /* * Apre il relativo file di descrizione "<$filename>.descrizione" * se non esiste lo creo io. */ if (!file_exists($filename.".description")){ $data = array(); $data['time'] = filemtime($filename); save_description($filename,$data); } /* Calcola la grandezza del file */ $size=""; $size = round(filesize($filename)/1024)."Kb"; /* Calcola la data di ultimo aggiornamento */ $lastupdate=""; $lastupdate = date(_FDDATEFORMAT, getfiletime($filename) ); //NUOVA FUNZIONE PER IL CARICAMENTO DELLA DESCRIZIONE $description=array(); $description= load_description($filename); //solo gli amministratori possono vedere i file nascosti if ($description['hide']=="true" and !fd_is_admin()) return; //controllo se il livello dell'utente e' adeguato a quello del file $myforum=""; $myforum=get_username(); if ($description['level']!="-1"){ if (trim($myforum)!="" and versecid($myforum)){ if ($description['level']>getLevel($myforum,"home")){ return; } } else return; } $newfilestring=""; //Calcolo se inserire l'icona per il nuovo file if (file_exists("images/mime/new.gif")){ if ((time()-getfiletime($filename))<$newfiletime*3600) { if (file_exists("images/mime/new.gif")){ // echo "dirname: ".strrchr($fileinfo['dirname'],"/"); if (strrchr($fileinfo['dirname'],"/")!="/".$archivedir){ $newfilestring = " \"new"; } } } } else $newfilestring = ""; $string_title=""; /* Generazione Tabella */ echo "

    "; if (ltrim($description['name'])==""){ $string_title = "".getIcon($ext,$icon_style)."".basename($filename); if ($description['hide']=="true") $string_title = "".$string_title.""; OpenTableTitle($string_title.$newfilestring); } else if (ltrim($description['name'])!=""){ $string_title = "".getIcon($ext,$icon_style)."".$description['name']; if ($description['hide']=="true") $string_title = "".$string_title.""; OpenTableTitle("$string_title".$newfilestring); } ?>

    "; } else { echo ""; } } else if (trim($description['uploadedby'])!=""){ fdlogf("Uploader field is invalid (".$description['uploadedby'].")FDview: ".__LINE__); } } $desc = eregi_replace("
    ","",$description['desc']); $desc = eregi_replace("
    ","", $desc); if (ltrim($desc)!=""){ echo ""; } //se non e' nullo mostro anche il campo "versione" if (trim($description['version'])!=""){ echo ""; echo ""; } //se sono entrambi settati mostro i campi personalizzati if (trim($description['userlabel'])!="" and trim($description['uservalue'])!=""){ echo ""; echo ""; } //se non e' nullo mostro anche il campo "md5" if (ltrim($description['md5'])!=""){ echo ""; echo ""; } //se non e' nullo mostro anche il campo "sha1" if (ltrim($description['sha1'])!=""){ echo ""; echo ""; } //se esiste lo screenshot global $extscreenshot; if (file_exists("$filename.$extscreenshot")){ echo ""; } //se si tratta di un file immagine: if (eregi("\.gif$|\.jpeg$|\.jpg$|\.png$|\.bmp$",$filename)){ //se contemporaneamente non esiste uno screenshot: if (!file_exists("$filename.$extscreenshot")){ echo ""; } } ?> "; echo ""; echo ""; echo ""; //inserisco i plugin fd_load_php_code("download/include/autoinclude/fd_view_file/footer/"); ?> "; if ($showdownloadlink=="1")echo ""; //controlla se l'utente e' admin if(fd_is_admin()){ file_admin_panel($filename); } ?>
    ".basename($filename).""; //inserisco la chiave if (file_exists($filename.".$extsig")){ echo " | ("._FDGPGSIGN.")"; } } else if (ltrim($description['name'])!=""){ // echo $description['name']; echo "".$description['name'].""; //inserisco la chiave if (file_exists($filename.".$extsig")){ echo " | ("._FDGPGSIGN.")"; } } ?>
    "._FDUPLOADER." ".$description['uploadedby']."
    "._FDUPLOADER." ".$description['uploadedby']."
    "._FDDESC." ".$description['desc']."
    "._FDVERSION."".$description['version']."
    ".$description['userlabel']."".$description['uservalue']."
    md5".$description['md5']."
    sha1".$description['sha1']."
    Screenshot"; fd_show_screenshot($filename); // echo ""; echo "
    Screenshot"; echo ""; echo "
    "; echo ""._FDRATING." ";//$voteaverage"; echo "
    (".$description['totalvote']." "._FDVOTES.")"; echo "
    "; fd_show_vote($filename); echo "
    "._FDDOWNLOAD."
    setDir("sections/$mod"); $dirstemp ->load(); $dirs = array(); if (count($dirstemp -> dirs)>0){ $dir = ""; foreach ($dirstemp -> dirs as $dir){ if (eregi("^none_",basename($dir)) and !fd_is_admin()) continue; if (basename($dir)=="none_archivedir") continue; $dirs[] = $dir; } } if (count($dirs)>0) asort($dirs); if (fd_is_admin()){ echo "


    "; } if (count($dirs)>0){ echo ""; } if (count($dirs)>0){ $dir = ""; foreach ($dirs as $dir){ if (getlevel($myforum,"home")"; $files = array(); $files = list_fd_files($dir); //SOSTITUISCO GLOB CHE DA' PROBLEMI SOTTO WINDOWS // if ($handlefiles = opendir($dir)) { // while (false !== ($tmp = readdir($handlefiles))) { // if (eregi("\.description$",$tmp)) { // $files[] = $tmp; // } // } // closedir($handlefiles); // } // print_r($files); $thereisnewfile = FALSE; if (count($files)>0){ $file = ""; for($tmpcount = 0;$tmpcount

    \"Subsection\" ".eregi_replace("^[0-9]*_","",eregi_replace("^$mod/","",eregi_replace("^sections/","",$dir))).""; if (file_exists("images/mime/new.gif")){ if ($thereisnewfile){ echo " \"new"; } } echo "

    "; $purgedfiles = array(); $proposedfiles = array(); if (count($files)>0){ $tmpfile = ""; for ($tmpcount=0;$tmpcount0){ $subdirtemp = ""; foreach($subdirstemp as $subdirtemp){ if (eregi("^none",basename($subdirtemp))) continue; if (!is_fd_sect($subdirtemp)) continue; if (!user_can_view_section(eregi_replace("^sections/","",$subdirtemp))) continue; $subdirs[] = $subdirtemp; } } if (count($subdirs)>0){ echo " - ".count($subdirs). " dirs"; } if (fd_is_admin() and count($proposedfiles)>0){ echo " - ".count($proposedfiles)." "._FDWAITINGFILES.""; } if (count($files)>0 and $overview_show_files=="1"){ $file = ""; for ($tmpcount=0;$tmpcount   » ".basename($file).""; if ((time()-getfiletime($file))<$newfiletime*3600) { echo " \"new"; } } } echo ""; echo ""; } } if (count($dirs)>0){ echo "
    "; } if(fd_is_admin()){ if (is_writable("sections/$mod")){ //pulsante per creare una nuova sezione echo "


    "; } else echo "
    "._FDREDONLYDIR.""; } module_copyright("FDplus",get_fd_version(),"Aldo Boccacci aka Zorba","zorba_(AT)tin.it", "http://www.aldoboccacci.it", "Gpl version 2.0"); /** * Al momento inutilizzata. Servira' per creare un header nella sezione di riepilogo (ce n'e' la necessita'?) */ function fd_header(){ return; global $bgcolor2,$bgcolor1,$bgcolor3,$newfiletime; //controllo $mod $mod =""; $mod = getparam("mod",PAR_GET,SAN_FLAT); $mod= trim($mod); if ($mod=="") return; if (!fd_check_path($mod,"","false")) return; //cerca la root $rootsection = ""; if (file_exists("sections/$mod/download")){ $rootsection = $mod; } echo ""; echo ""; echo ""; echo ""; echo ""; echo "
    [Main]"; echo "
    "; echo "
    "; echo "
    "; } } /** * Mostra l'intestazione della sezione di download singola * */ function fd_show_section_header($mod){ //controllo $mod $mod = getparam($mod, PAR_NULL,SAN_FLAT); if ($mod!=""){ if (!fd_check_path($mod,"","false")) return; } else return; $myforum = get_username(); global $bgcolor3,$bgcolor2,$icon_style,$extensions,$theme,$newfiletime,$archivedir; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; $files = array(); $files = list_fd_files("sections/$mod/"); echo ""; echo ""; //inizio sezioni echo ""; //fine di files/sezioni echo ""; if (fd_is_admin()){ echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
    "._FDSUMMARY.":
    Files:"._FDSUBDIRS.":
    "; if (count($files)>0){ $file = ""; for ($tmpcount=0;$tmpcount$name"; if (file_exists("images/mime/new.gif")){ if ((time()-getfiletime($file))<$newfiletime*3600) { if (file_exists("images/mime/new.gif")){ if (strrchr($fileinfo['dirname'],"/")!="/".$archivedir){ echo " \"new"; } } } } echo "
    "; } } } //fine files echo "
    "; $dirstemp = array(); $dirstemp = list_subdirs("sections/$mod/"); $dirs = array(); if (count($dirstemp)>0){ $dirtemp= ""; foreach ($dirstemp as $dirtemp){ if (eregi("^none_",basename($dirtemp))) continue; if (!user_can_view_section(eregi_replace("^sections/","",$dirtemp))) continue; $dirs[] = $dirtemp; } } if (count($dirs)>0){ $dir = ""; foreach ($dirs as $dir){ $tempfiles = array(); $tempfiles = list_fd_files("$dir"); $thereisnewfile = FALSE; if (count($tempfiles)>0){ $file = ""; foreach ($tempfiles as $file){ $file = eregi_replace("\.description$","",$file); $desc = load_description($file); if ((time()-getfiletime($file))<$newfiletime*3600) { $thereisnewfile = TRUE; } } } $subsection_image=""; if(file_exists("$dir/section.png")) { $subsection_image = "$dir/section.png"; } else $subsection_image = "themes/$theme/images/subsection.png"; echo "\"Subsection\" ".basename($dir).""; if ($thereisnewfile and file_exists("images/mime/new.gif")) echo " \"new"; } } if (is_dir("sections/$mod/none_archivedir")){ echo "\"Subsection\" "._FDARCHIVEDIR."
    "; } //fine sezioni echo "
    Amministrazione:
    "; //pulsante per aggiungere un nuovo file echo "
    "; //pulsante per aggiungere un nuovo file echo "
    "; echo "
    "; echo "
    "; echo "
    "; } /** * Mostra lo screenshot per il file indicato come parametro * Sono state prese parti di codice della gallery. * * @param string $file il file di cui mostrare lo screenshot. * @since 0.8 * @author Aldo Boccacci */ function fd_show_screenshot($file){ $file = getparam($file,PAR_NULL,SAN_FLAT); if (trim($file=="")) return; global $extscreenshot; if (!file_exists($file.".$extscreenshot")) return; // controlla se il web server ha le librerie GD if(!function_exists("ImageJpeg")) { $gd_flag = FALSE; //return; // se le librerie non sono installate, al posto della miniatura sara' visualizzata l'immagine originale rimpicciolita } else $gd_flag = TRUE; //DEVO DISABILITARE GD PERCHE' DA' PROBLEMI CON ALCUNE IMMAGINI $gd_flag=FALSE; echo ""; // se dimensioni < di quelle scelte, stampo immagine, altrimenti creo thumbnail $size = getimagesize("$file.$extscreenshot"); $hw_thumbs = 150; if($size[0]<$hw_thumbs AND $size[1]<$hw_thumbs) { echo "\"thumb\""; } elseif($gd_flag==FALSE) { if($size[0]>$size[1]) { $new_w = $hw_thumbs; $new_h = intval($hw_thumbs * $size[1] / $size[0]); } else { $new_w = intval($hw_thumbs * $size[0] / $size[1]); $new_h = $hw_thumbs; } echo "\"thumb\""; } else { echo "\"thumb\""; } echo ""; } ?>flatnuke-2.7.2/download/include/fdadmin.php0000755000175000017500000020663210762516716020275 0ustar simonesimone

    "; echo "

    "; return; } global $extsig,$archivedir,$extscreenshot; $filename=$path; $description=array(); $description = load_description($path); echo ""; if ($description['hide'] != "true"){ if(is_writable($filename.".description")){ echo ""._FDHIDE." | "; } else { echo ""._FDHIDE." | "; } } if ($description['hide'] == "true"){ if(is_writable($filename.".description")){ echo ""._FDSHOW." | "; } else { echo ""._FDSHOW." | "; } } //pulsante per rinominare if (is_writable($filename) and is_writable($filename.".description") and is_writable(dirname($filename)) and (!file_exists($filename.".$extsig") or is_writable($filename.".$extsig")) and (!file_exists($filename.".$extscreenshot") or is_writable($filename.".$extscreenshot"))){ echo ""._FDRENAME." | "; } else { echo ""._FDRENAME." | "; } //pulsante per spostare if (is_writable($filename) and is_writable($filename.".description") and (!file_exists($filename.".$extsig") or (is_writeable($filename.".$extsig"))) and (!file_exists($filename.".$extscreenshot") or is_writable($filename.".$extscreenshot"))) { echo ""._FDMOVE." | "; } else { echo ""._FDMOVE." | "; } //fine pulsante per spostare //pulsante per archiviare/ripristinare $lastdir=""; //controllo se ci troviamo in una dir di archivio $lastdir = strrchr(dirname($filename),"/"); if (eregi($archivedir,$lastdir)){ if (is_writable($filename) and is_writable($filename.".description") and is_writable(dirname($filename)) and is_writable(eregi_replace("$archivedir$","",dirname($filename))) and (!file_exists($filename.".$extsig") or is_writable($filename.".$extsig")) and (!file_exists($filename.".$extscreenshot") or is_writable($filename.".$extscreenshot"))){ echo ""._FDRESTORE." | "; } else { echo ""._FDRESTORE." | "; } } else if (!eregi($archivedir,$lastdir)){ if (is_writable($filename) and is_writable($filename.".description") and is_writable(dirname($filename)) and (!file_exists($filename.".$extsig") or is_writable($filename.".$extsig")) and (!file_exists($filename.".$extscreenshot") or is_writable($filename.".$extscreenshot"))){ if (is_dir(dirname($filename)."/$archivedir") and is_writable(dirname($filename)."/$archivedir")){ echo ""._FDARCHIVE." | "; } else { if (!is_dir(dirname($filename)."/$archivedir")){ echo ""._FDARCHIVE." | "; } else echo ""._FDARCHIVE." | "; } } else { echo ""._FDARCHIVE." | "; } } if (is_writable($filename) and is_writable($filename.".description") and is_writable(dirname($filename)) and (!file_exists($filename.".$extsig") or is_writable($filename.".$extsig")) and (!file_exists($filename.".$extscreenshot") or is_writable($filename.".$extscreenshot"))){ echo ""._FDEDIT." | "; } else { echo ""._FDEDIT." "; } echo "

    "; //Opzione elimina if (is_writable($filename) and is_writable($filename.".description") and is_writable(dirname($filename)) and (!file_exists($filename.".$extsig") or is_writable($filename.".$extsig")) and (!file_exists($filename.".$extscreenshot") or is_writable($filename.".$extscreenshot"))){ echo ""._FDDELETE." file"; } else { echo ""._FDDELETE." file"; } if (file_exists($filename.".$extsig") ){ if (is_writable($filename.".$extsig")){ echo " | "._FDDELETESIG.""; } else { echo ""._FDDELETESIG.""; } } if (file_exists($filename.".png") ){ if (is_writable($filename.".png")){ echo " | "._FDDELETESCREEN.""; } else { echo " | "._FDDELETESCREEN.""; } } echo ""; echo ""; } /** * Questa funzione si occupa di caricare la firma gpg * * Funzione che si occupa di tutte le operazioni per il caricamento della firma associata al file. * * @param string $dir la cartella in cui caricare la firma * @param string $mode "upload" se stiamo caricando un nuovo file, "edit" se ne stiamo modificando * uno gi presente * @author Aldo Boccacci * @since 0.7 */ function fd_upload_sig($file,$mode="upload"){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //CONTROLLO PARAMETRI if (!fd_check_path($file,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!eregi("^upload$|^edit$",$mode)) { fd_die("Error: \$mode value is invalid: must be \"upload\" or \"edit\". FDadmin: ".__LINE__); } global $extsig; if ($extsig=="") $extsig="sig"; //FINE CONTROLLO PARAMETRI $dir=""; $dir = dirname($file); if (!file_exists($file)){ fdlogf("Error! the file $file doesn't exists! The sign file will not be uploaded! FDadmin: ".__LINE__); echo "Error! the file $file doesn't exists! The sign file will not be uploaded! FDadmin: ".__LINE__; return; } if (basename($file)!=eregi_replace("\.$extsig$","",basename($_FILES['fdsig']['name']))){ fdlogf("Error! the sig file is called ".basename($_FILES['fdsig']['name'])." but the correspondant file is called ".basename($file).". FDadmin: ".__LINE__); echo "Error! the sig file is called ".basename($_FILES['fdsig']['name'])." but the correspondant file is called ".basename($file).". FDadmin: ".__LINE__."
    The sign file will not be uploaded."; return; } if (!isset($_FILES['fdsig'])) { $message=""; $message="Error! ".'$_FILES[\'fdsig\'] is not set! FDadmin: '.__LINE__; fdlogf($message); return; } if (eregi("\.php*$|\.php$","",$_FILES['fdsig']['name'])){ // echo "The extension of the sig file is \".php\", not \".sig\""; fd_die("The extension of the sig file is \".php\", not \".$extsig\" FDadmin: ".__LINE__); } if (isset($_FILES['fdsig']['name']) and trim($_FILES['fdsig']['name'])==""){ echo "

    "._FDFILENOTSELECT; echo "

    << "._FDBACK."

    "; fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); } if ($_FILES['fdsig']['size']>300) { fd_die("The sig file is too big! ".$dir."/".$_FILES['fdsig']['name'].".$extsig"."FDadmin: ".__LINE__); die_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); } if ($_FILES['fdsig']['error']!=0){ if ($_FILES['fdfile']['error']==1) echo _FDERROR1; else if ($_FILES['fdsig']['error']==2) echo _FDERROR2; else if ($_FILES['fdsig']['error']==3) echo _FDERROR3; else if ($_FILES['fdsig']['error']==4) echo _FDERROR4; else if ($_FILES['fdsig']['error']==6) echo _FDERROR6; else if ($_FILES['fdsig']['error']==7) echo _FDERROR7; fd_die("

    FDadmin: upload error."); } if ($_FILES['fdsig']['size']==0) fd_die("
    Error! "._FDSIZE." file: 0 kb FDadmin: ".__LINE__); if (file_exists("$file.$extsig")) unlink("$file.$extsig"); //controllo per codice php if (eregi("\<\?|\?\>",get_file($_FILES['fdsig']['tmp_name']))){ fd_die("The sign file contains php tags! "._FDNONPUOI.basename(__FILE__).": ".__LINE__); } if (!fd_check_path($dir."/".$_FILES['fdsig']['name'],"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //effettuo l'upload fd_upload_file($_FILES['fdsig'],$dir."/".$_FILES['fdsig']['name']); } /** * elimina il file da scaricare con il corrispettivo .description * @param string $file il file da eliminare * @author Aldo Boccacci */ function elimina($file){ include_once("shared.php"); $mod=""; $mod = getparam("mod",PAR_GET,SAN_FLAT); $mod = trim($mod); if ($mod!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if(fd_is_admin()){ if (!fd_check_path($file,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!file_exists($file.".description")) fd_die("The file $file is not managed by FD+. FDadmin: ".__LINE__); // /*include "config.php";*/ global $siteurl; if (unlink($file)&&unlink("$file.description")){ echo _FDDELOK."
    ".$file." "; //._FDAND."
    ".$file.".description
    "; //l'utente che ha modificato il file $myforum=get_username(); fdlogf("$file deleted by $myforum"); } global $extsig; if ($extsig=="") $extsig="sig"; if (file_exists($file.".$extsig")){ if (unlink($file.".$extsig")){ fdlogf("succesfully deleted gpg sign: $file.$extsig"); } else fdlogf("I was no able to delete the gpg sign: $file.$extsig"); } global $extscreenshot; if ($extscreenshot=="") $extscreenshot="png"; if (file_exists($file.".$extscreenshot")){ if (unlink($file.".$extscreenshot")){ fdlogf("succesfully deleted screenshot: $file.$extsig"); } else fdlogf("I was no able to delete the screenshot: $file.$extsig"); } //permetti di ritornare $path = eregi_replace("http://","",dirname($file)); #$path = eregi_replace($siteurl, "", $path); $path = eregi_replace("/sections/", "", $path); $path = eregi_replace("sections/", "", $path); echo "

    "; } } /** * Prima di eliminare definitivamente un file, chiedo conferma dell'operazione * @param string $file il file da eliminare * @author Aldo Boccacci */ function confermaElimina($file){ // include("shared.php"); if (!fd_check_path($file,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!file_exists($file.".description")) fd_die("The file $file is not managed by FD+. FDadmin: ".__LINE__); $mod=""; $mod = getparam("mod",PAR_GET,SAN_FLAT); $mod = trim($mod); if ($mod!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if(!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); ?>

    ?


    "._FDARCHIVEOK."

    "; $path = eregi_replace("http://","",$path); // $path = eregi_replace($siteurl, "", $path); // $path = eregi_replace("/sections/", "", $path); $path = eregi_replace(".*sections/", "", $path); echo ""._FDARCHIVERETURN." | "; echo ""._FDARCHIVEGO."
    "; // echo ""; } /** * Riporta il file archiviato alla cartella di origine * @param string $file il file da ripristinare * @param string $archivedir il nome della cartella di archivio * @author Aldo Boccacci */ function ripristina($file,$archivedir){ include_once("shared.php"); if (!fd_check_path($file,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!fd_check_path($archivedir,"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $mod=""; $mod = getparam("mod",PAR_GET,SAN_FLAT); $mod = trim($mod); if ($mod!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if(!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if(fd_is_admin()){ // /*include "config.php";*/ global $siteurl; $filename=""; $filename = basename($file); $path=""; $path = dirname($file); if (eregi($archivedir,$path)){ $path_up=""; $path_up = substr($path,0,-16); rename($file,$path_up."/".$filename); rename("$file.description",$path_up."/".$filename.".description"); //l'utente che ha modificato il file $myforum=""; $myforum=get_username(); if (!is_alphanumeric($myforum)) $myforum =""; if (!versecid($myforum)) $myforum = ""; fdlogf("$file restored by $myforum"); // echo "PATHUP: $path_up"; global $extsig; if ($extsig=="") $extsig="sig"; if (file_exists($file.".$extsig")){ if (rename($file.".$extsig","$path_up/$filename.$extsig")){ fdlogf("restored gpg sign: $file.$extsig"); } else echo "I was not able to restore the gpg sign: $file.$extsig"; } global $extscreenshot; if ($extscreenshot=="") $extscreenshot="png"; if (file_exists($file.".$extscreenshot")){ if (rename($file.".$extscreenshot","$path_up/$filename.$extscreenshot")){ fdlogf("restored screenshot: $file.$extscreenshot"); } else { echo "I was not able to restore the screenshot: $file.$extsig"; fdlogf("I was not able to restore the screenshot: $file.$extsig"); } } //avvisa e permetti di ritornare indietro echo "

    "._FDRESTOREOK."

    "; $path = eregi_replace("http://","",$path_up); // $path = eregi_replace($siteurl, "", $path); // $path = eregi_replace("/sections/", "", $path); $path = eregi_replace(".*sections/", "", $path); echo ""._GOTOSECTION."
    "; echo ""; } $tempdesc=array(); $tempdesc = load_description($path_up."/".$filename); insert_in_max_download($path_up."/".$filename,$tempdesc['hits']); } } /** * Mette on-line il nuovo file selezionato * @author Aldo Boccacci */ function upload(){ global $maxFileSize,$extensions; if(!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!check_var($maxFileSize,"digit")) fd_die("\$maxFileSize (".strip_tags($maxFileSize).") must be a digit! FDadmin: ".__LINE__); if (isset($_POST['filename'])){ $filename = trim(getparam("filename",PAR_POST,SAN_FLAT)); if (!check_var($filename,"text")) $filename=""; } else $filename =""; if (isset($_POST['description'])){ $description = trim(getparam("description",PAR_POST,SAN_NULL)); // $description = nl2br($description); $description = purge_html_string($description); } else $description =""; if (isset($_POST['version'])){ $version = trim(getparam("version",PAR_POST,SAN_FLAT)); if (!check_var($version,"text")) $version=""; } else $version=""; if (isset($_POST['userlabel'])){ $userlabel = trim(getparam("userlabel",PAR_POST,SAN_FLAT)); if (!check_var($userlabel,"text")) $userlabel=""; } else $userlabel=""; if (isset($_POST['uservalue'])){ $uservalue = trim(getparam("uservalue",PAR_POST,SAN_NULL)); $uservalue = purge_html_string($uservalue); } else $uservalue =""; if (isset($_POST['md5'])){ $md5 = trim(getparam("md5",PAR_POST,SAN_FLAT)); if (!check_var($md5,"alnum")) $md5=""; } else $md5=""; if (isset($_POST['sha1'])){ $sha1 = trim(getparam("sha1",PAR_POST,SAN_FLAT)); if (!check_var($sha1,"text")) $sha1=""; } else $sha1=""; if (isset($_POST['automd5post'])){ $automd5post = trim(getparam("automd5post",PAR_POST,SAN_FLAT)); if (!check_var($automd5post,"boolean")) $automd5post="off"; } else $automd5post="off"; if (isset($_POST['autosha1post'])){ $autosha1post = trim(getparam("autosha1post",PAR_POST,SAN_FLAT)); if (!check_var($autosha1post,"boolean")) $autosha1post="off"; } else $autosha1post="off"; if (isset($_POST['showinblocks'])){ $showinblocks = trim(getparam("showinblocks",PAR_POST,SAN_FLAT)); if (!check_var($showinblocks,"boolean")) $showinblocks="true"; } else $showinblocks="true"; if (isset($_POST['fdfilelevel'])){ $filelevel = trim(getparam("fdfilelevel",PAR_POST,SAN_FLAT)); if (!check_var($filelevel,"digit") and $filelevel!="-1") $filelevel="-1"; } else $filelevel ="-1"; if (isset($_POST['fdfile'])){ $fdfile = trim(getparam("fdfile",PAR_POST,SAN_FLAT)); if (!check_path($fdfile,"sections/","false") and $fdfile!="") fd_die("fdfile param (".strip_tags($fdfile).") is not valid! FDadmin: ".__LINE__); } else fd_die("fdfile param no set! FDadmin: ".__LINE__); if (isset($_POST['path'])){ $path = trim(getparam("path",PAR_POST,SAN_FLAT)); if (!check_path($path,"sections/","false")) fd_die("path param (".strip_tags($path).") is not valid! FDadmin: ".__LINE__); } else fd_die("path param not set! FDadmin: ".__LINE__); //CONTROLLO TUTTE LE VARIABILI IN GET E FILES $mod=""; $mod = getparam("mod",PAR_GET,SAN_FLAT); $mod =trim($mod); if (!check_path($mod,"","false") and $mod!="") fd_die("\$_GET['mod'] value is not valid! (".strip_tags($mod)."). FDadmin: ".__LINE__); if ($mod!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!isset($_FILES['fdfile'])) { echo "

    "._FDFILENOTSELECT."
    "; fd_die("File to upload not selected. FDadmin:".__LINE__); } if (!check_file_array($_FILES['fdfile'],$maxFileSize)) fd_die("\$_FILES array is not valid! FDadmin: ".__LINE__); //conviene usare un array alternativo??? Lo ho comunque controllato, sicuro $_files_array = check_file_array($_FILES['fdfile'],$maxFileSize); if (isset($_FILES['fdfile']['name']) and trim($_FILES['fdfile']['name'])==""){ echo "

    "._FDFILENOTSELECT; echo "

    << "._FDBACK."

    "; fd_die("File to upload not selected. FDadmin:".__LINE__); } if ($_FILES['fdfile']['size']>$maxFileSize) { echo "

    "._FDTOOBIG; // Il file non stato caricato perch le sue dimensioni sono eccessive.
    "; echo "

    << "._FDBACK."

    "; echo "
    "; fdlogf($_FILES['fdfile']['size'].": "._FDTOOBIG); fd_die("File to upload has size==0. FDadmin:".__LINE__); } if ($_FILES['fdfile']['error']!=0){ if ($_FILES['fdfile']['error']==1) echo _FDERROR1; else if ($_FILES['fdfile']['error']==2) echo _FDERROR2; else if ($_FILES['fdfile']['error']==3) echo _FDERROR3; else if ($_FILES['fdfile']['error']==4) echo _FDERROR4; else if ($_FILES['fdfile']['error']==6) echo _FDERROR6; else if ($_FILES['fdfile']['error']==7) echo _FDERROR7; fd_die("

    FD+: upload error."); } if ($_FILES['fdfile']['size']==0) fd_die("
    Error! "._FDSIZE." file: 0 kb. FDadmin: ".__LINE__); //ULTIMO CONTROLLO ALL'ARRAY $_FILES // if (fd_check_uploaded_file($_FILES['fdfile'],$maxFileSize,"false")!=TRUE){ // fd_die("The \$_FILES array contains invalid data! FD+: ".__LINE__); // } // echo $_FILES['file']['size']; if (isset($_FILES['fdfile']['name'])){ //impedisco di caricare file .php $info=array(); $info = pathinfo($_FILES['fdfile']['name']); if (!isset($info['extension'])) $info['extension'] =" "; if (eregi("php",$info['extension'])) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //non posso inserire if (!fd_check_path($_FILES['fdfile']['name'],"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $extensions_array=array(); $extensions_array = split(",",$extensions); if (!in_array($info['extension'],$extensions_array)) { echo "

    "._NOTVALIDEXT; echo "

    << "._FDBACK."

    "; fd_die(); } } if (isset($_FILES['fdfile']['tmp_name'])){ //impedisco di caricare file .php $info=array(); $info = pathinfo($_FILES['fdfile']['tmp_name']); if (!isset($info['extension'])) $info['extension'] =" "; if (eregi("php",$info['extension'])) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //non posso inserire .. // echo $_FILES['fdfile']['tmp_name']; // if (fd_check_path($_FILES['fdfile']['tmp_name'],"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); } if(fd_is_admin()){ if ($_FILES['fdfile']['name']<>""){ //controllo che il file non sia gi esistente if (file_exists("$path/".$_FILES['fdfile']['name'])){ echo "

    "._FDUPLOADEXISTS."
    "; echo "
    << "._FDBACK."

    "; fd_die(); } //effettuo l'upload if (fd_is_admin()){ fd_upload_file($_FILES['fdfile'],"$path/".$_FILES['fdfile']['name']); } } if (trim($md5)=="" and $automd5post=="on"){ $md5 = md5_file("$path/".$_FILES['fdfile']['name']); } if (trim($sha1)=="" and $autosha1post=="on"){ $sha1 = sha1_file("$path/".$_FILES['fdfile']['name']); } if ($showinblocks!="true") $showinblocks="false"; //l'utente che ha caricato il file $myforum=""; $myforum=get_username(); if (!is_alphanumeric($myforum)) $myforum =""; if (!versecid($myforum)) $myforum = ""; $data= array(); $data['name'] = $filename; $data['desc'] = trim($description); $data['version'] = $version; $data['userlabel'] = $userlabel; $data['uservalue'] = $uservalue; $data['md5'] = $md5; $data['sha1'] = $sha1; $data['showinblocks'] = $showinblocks; $data['level'] = $filelevel; $data['uploadedby'] = $myforum; $data['time'] = filectime("$path/".$_FILES['fdfile']['name']); save_description("$path/".$_FILES['fdfile']['name'],$data); insert_in_max_download("$path/".$_FILES['fdfile']['name'],0); fdlogf("$path/".$_FILES['fdfile']['name']." uploaded by $myforum"); //gestisco l'eventuale firma if ($_FILES['fdsig']['tmp_name']<>"") fd_upload_sig("$path/".$_FILES['fdfile']['name']); if ($_FILES['fdscreenshot']['tmp_name']<>"") fd_upload_screenshot("$path/".$_FILES['fdfile']['name']); echo "
    "._FDUPLOADOK."
    "; }//fine fd_is_admin(?) $path = eregi_replace("http://","",$path); // $path = eregi_replace($siteurl, "", $path); // $path = eregi_replace("/sections/", "", $path); $path = eregi_replace(".*sections/", "", $path); echo "

    "; } /** * Salva le modifiche apportate al file * @author Aldo Boccacci */ function save_changes(){ global $maxFileSize,$extensions,$defaultvoteon; if(!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!check_var($maxFileSize,"digit")) fd_die("\$maxFileSize (".strip_tags($maxFileSize).") must be a digit! FDadmin: ".__LINE__); if (isset($_POST['filename'])){ $filename = trim(getparam("filename",PAR_POST,SAN_FLAT)); if (!check_var($filename,"text")) $filename=""; } else $filename =""; if (isset($_POST['description'])){ $description = trim(getparam("description",PAR_POST,SAN_NULL)); $description = purge_html_string($description); } else $description =""; if (isset($_POST['version'])){ $version = trim(getparam("version",PAR_POST,SAN_FLAT)); if (!check_var($version,"text")) $version=""; } else $version=""; if (isset($_POST['userlabel'])){ $userlabel = trim(getparam("userlabel",PAR_POST,SAN_FLAT)); if (!check_var($userlabel,"text")) $userlabel=""; } else $userlabel=""; if (isset($_POST['uservalue'])){ $uservalue = trim(getparam("uservalue",PAR_POST,SAN_FLAT)); $uservalue = purge_html_string($uservalue); } else $uservalue =""; if (isset($_POST['md5'])){ $md5 = trim(getparam("md5",PAR_POST,SAN_FLAT)); if (!check_var($md5,"alnum")) $md5=""; } else $md5=""; if (isset($_POST['sha1'])){ $sha1 = trim(getparam("sha1",PAR_POST,SAN_FLAT)); if (!check_var($sha1,"text")) $sha1=""; } else $sha1=""; if (isset($_POST['automd5post'])){ $automd5post = trim(getparam("automd5post",PAR_POST,SAN_FLAT)); if (!check_var($automd5post,"boolean")) $automd5post="off"; } else $automd5post="off"; if (isset($_POST['autosha1post'])){ $autosha1post = trim(getparam("autosha1post",PAR_POST,SAN_FLAT)); if (!check_var($autosha1post,"boolean")) $autosha1post="off"; } else $autosha1post="off"; if (isset($_POST['showinblocks'])){ $showinblocks = trim(getparam("showinblocks",PAR_POST,SAN_FLAT)); if (!check_var($showinblocks,"boolean")) $showinblocks="true"; } else $showinblocks="false"; if (isset($_POST['enablerating'])){ $enablerating = trim(getparam("enablerating",PAR_POST,SAN_FLAT)); if (!check_var($enablerating,"boolean")) $enablerating="$defaultvoteon"; if ($enablerating=="on") $enablerating="1"; } else $enablerating="0"; if (isset($_POST['fdfilelevel'])){ $filelevel = trim(getparam("fdfilelevel",PAR_POST,SAN_FLAT)); if (!check_var($filelevel,"digit") and $filelevel!="-1") $filelevel="-1"; } else $filelevel ="-1"; if (isset($_POST['fdfile'])){ $fdfile = trim(getparam("fdfile",PAR_POST,SAN_FLAT)); if (!check_path($fdfile,"sections/","false") and $fdfile!="") fd_die("fdfile param (".strip_tags($fdfile).") is not valid! FDadmin: ".__LINE__); } else fd_die("fdfile param no set! FDadmin: ".__LINE__); if (isset($_POST['path'])){ $path = trim(getparam("path",PAR_POST,SAN_FLAT)); if (!check_path($path,"sections/","false")) fd_die("path param (".strip_tags($path).") is not valid! FDadmin: ".__LINE__); } else fd_die("path param not set! FDadmin: ".__LINE__); //CONTROLLO TUTTE LE VARIABILI IN GET E FILES $mod=""; $mod = getparam("mod",PAR_GET,SAN_FLAT); $mod=trim($mod); if (!check_path($mod,"","false") and $mod!="") fd_die("\$_GET['mod'] value is not valid! (".strip_tags($mod)."). FDadmin: ".__LINE__); if ($mod!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (isset($_FILES['newfile']['tmpname']) and !check_file_array($_FILES['newfile'],$maxFileSize)) fd_die("\$_FILES array is not valid! FDadmin: ".__LINE__); //conviene usare un array alternativo??? Lo ho comunque controllato, sicuro $_newfile_array = check_file_array($_FILES['newfile'],$maxFileSize); if (isset($_FILES['newfile']['name']) and trim($_FILES['newfile']['name'])!=""){ //impedisco di caricare file .php $info = pathinfo($_FILES['newfile']['name']); if (!isset($info['extension'])) { echo "

    "._NOTVALIDEXT; echo "

    << "._FDBACK."

    "; fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); } if (eregi("php",$info['extension'])) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //non posso inserire .. if (!fd_check_path($_FILES['newfile']['name'],"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); // if (stristr($_FILES['newfile']['name'],"%00")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $extensions_array = split(",",$extensions); if (!in_array($info['extension'],$extensions_array)) { echo "

    "._NOTVALIDEXT; echo "

    << "._FDBACK."

    "; fd_die(); } } if (isset($_FILES['newfile']['tmp_name']) and trim($_FILES['newfile']['tmp_name'])!=""){ //impedisco di caricare file .php $info = pathinfo($_FILES['newfile']['tmp_name']); if (!isset($info['extension'])) $info['extension'] =" "; if (eregi("php",$info['extension'])) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //non posso inserire .. if (stristr($_FILES['newfile']['tmp_name'],"..")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (stristr($_FILES['newfile']['tmp_name'],"%00")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); } if (isset($_POST['fdfile'])){ if (stristr($_POST['fdfile'],"..")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (stristr($_POST['fdfile'],"%00")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); } if(fd_is_admin()){ //controllo le dimensioni del file if ($_FILES['newfile']['size']>$maxFileSize){ echo "
    "._FDSAVESIZE.filesize($_FILES['newfile']['tmp_name'])."bit"; echo "
    "._FDTOOBIG; echo "
    << "._FDBACK."
    "; fd_die(); } //gestisco l'eventuale cambio di file if ($_FILES['newfile']['tmp_name']<>""){ $md5=""; $sha1=""; fd_upload_file($_FILES['newfile'],dirname($_POST['fdfile'])."/".$_FILES['newfile']['name']); if (basename($_POST['fdfile'])!=$_FILES['newfile']['name']){ unlink($_POST['fdfile']); rename($_POST['fdfile'].".description",dirname($_POST['fdfile'])."/".$_FILES['newfile']['name'].".description"); $filepathok =""; $filepathok = dirname($_POST['fdfile'])."/".$_FILES['newfile']['name']; } else { $filepathok = dirname($_POST['fdfile'])."/".$_FILES['newfile']['name']; } //se modifico il file allora devo aggiornare alche md5 e sha1 if ($automd5post=="on"){ $md5 = md5_file($filepathok); } if ($autosha1post=="on"){ $sha1 = sha1_file($filepathok); } //se modifico il file devo eliminare anche la firma gpg global $extsig; if ($extsig=="") $extsig="sig"; if (file_exists($_POST["fdfile"].".$extsig")){ if (unlink($_POST["fdfile"].".$extsig")){ fdlogf("Gpg sign deleted because the related file was changed: ".$_POST["fdfile"].".$extsig"); } else "I was not able to delete the gpg sign: ".$_POST["fdfile"].".$extsig"; } //aggiorno lo screenshot global $extscreenshot; if (file_exists($_POST['fdfile'].".$extscreenshot")){ if (rename($_POST['fdfile'].".$extscreenshot",$filepathok.".$extscreenshot")){ fdlogf("Screenshot ".$_POST['fdfile'].".$extscreenshot successfully renamed in $filepathok.$extscreenshot. FDadmin: ".__LINE__); } else { fdlogf("I was not able to rename the screenshot ".$_POST['fdfile'].".$extscreenshot: FDadmin: ".__LINE__); } } if ($_FILES['newfile']['error']!=0){ if ($_FILES['newfile']['error']==1) echo _FDERROR1; else if ($_FILES['newfile']['error']==2) echo _FDERROR2; else if ($_FILES['newfile']['error']==3) echo _FDERROR3; else if ($_FILES['newfile']['error']==4) echo _FDERROR4; else if ($_FILES['newfile']['error']==6) echo _FDERROR6; else if ($_FILES['newfile']['error']==7) echo _FDERROR7; fd_die("

    FD+: errore nell'upload."); } } else $filepathok = $_POST['fdfile']; /* //x risolvere il problema degli spazi iniziali e finali quando si usa htmlarea $description = ltrim($description); $description = rtrim($description); $desc = "$filename||$description||$version"; */ //se necessario calcolo md5 e sha1 if ($md5 =="" and $automd5post=="on"){ $md5 = md5_file($filepathok); } if ($sha1 =="" and $autosha1post=="on"){ $sha1 = sha1_file($filepathok); } if ($showinblocks!="true") $showinblocks="false"; //aggiusto gli "a capo": solo se non attivo fckeditor if (!file_exists("include/plugins/editors/FCKeditor/fckeditor.php")){ $description =str_replace("\n", "
    ", $description); } else if (!eregi("gecko",$_SERVER['HTTP_USER_AGENT']) and !eregi("msie",$_SERVER['HTTP_USER_AGENT'])){ $description =str_replace("\n", "
    ", $description); } $origdesc = load_description($filepathok); $data= array(); $data['name'] = $filename; $data['desc'] = trim($description); $data['version'] = $version; $data['userlabel'] = $userlabel; $data['uservalue'] = $uservalue; $data['md5'] = $md5; $data['sha1'] = $sha1; $data['hits'] = $origdesc['hits']; $data['hide'] = $origdesc['hide']; $data['showinblocks'] = $showinblocks; $data['enablerating'] = $enablerating; $data['level'] = $filelevel; $data['uploadedby'] = $origdesc['uploadedby']; if ($_FILES['newfile']['tmp_name']<>""){ $data['time'] = filectime($filepathok); } else $data['time'] = $origdesc['time']; //MODIFICA PER VOTO $data['totalvote'] = trim($origdesc['totalvote']); $data['totalscore'] = trim($origdesc['totalscore']); save_description($filepathok, $data); insert_in_max_download($filepathok,get_xml_element("fd:hits",get_file($filepathok.".description"))); //l'utente che ha modificato il file $myforum=""; $myforum=get_username(); if (!is_alphanumeric($myforum)) $myforum =""; if (!versecid($myforum)) $myforum = ""; fdlogf("$filepathok edited by $myforum"); if ($_FILES['fdsig']['tmp_name']<>""){ fd_upload_sig($filepathok,"edit"); } else { //do nothing } if ($_FILES['fdscreenshot']['tmp_name']<>""){ fd_upload_screenshot($filepathok,"edit"); } else { //do nothing } //permetti di tornare indietro. echo "

    "._FDEDITDONE."

    "; $path = dirname($_POST['fdfile']); #$path = eregi_replace("http://","",$path); #$path = eregi_replace($siteurl, "", $path); // $path = eregi_replace("/sections/", "", $path); $path = eregi_replace(".*sections/", "", $path); echo ""._FDRETURN."
    "; } else { //se non sono amministratore stampo: echo _FDNONPUOI.basename(__FILE__).": ".__LINE__; } } /** * Maschera per la creazione di una nuova sezione. * @author Aldo Boccacci * @since 0.7 */ function mksection_interface(){ $fdmod=""; if (isset($_POST['fdmod'])) $fdmod=$_POST['fdmod']; else fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); // if (trim($fdmod)=="")fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!fd_check_path($fdmod,"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); echo "

    "._FDCREATESUBSECT."$fdmod


    "; echo _FDCHOOSESECTNAME."
    "; echo "


    "._FDHIDDENSECT."

    "._FDALLOWUSERUPLOAD."


    "; } /** * Crea una sottosezione. * @param string il mod della sezione nella quale creare la sottosezione * @param string $dirname il nome della nuova sezione */ function mksection($mod, $dirname,$hidden="false",$allowuserupload="false"){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $currentmod=""; $currentmod=getparam("mod",PAR_GET,SAN_FLAT); $currentmod=trim($currentmod); if ($currentmod=="") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!fd_check_path($currentmod,"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!fd_check_path($dirname,"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if ($currentmod!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!eregi("^false$|^true$",trim($hidden))) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!check_var($allowuserupload,"boolean")) fd_die("\$allowuserupload must be true or false! ".strip_tags($allowuserupload)." FDAdmin: ".__LINE__); $dirname = eregi_replace(" ","_",$dirname); $dirname = strtr($dirname, "???????", "SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy"); if (fd_is_admin()){ if ($hidden=="true") $dirname="none_$dirname"; if(mkdir("sections/$mod/".$dirname,0777)){ echo "


    "._FDSECT." sections/$mod/$dirname "._FDCREATESECTOK; echo "

    "._GOTOSECTION."
    "; fnwrite("sections/$mod/$dirname/section.php"," ","w",array()); fnwrite("sections/$mod/$dirname/downloadsection"," ","w",array()); if (file_exists("sections/$mod/$dirname/downloadsection")){ fdlogf("section $mod/$dirname/ created by ".get_username()); } else { fdlogf("section $mod/$dirname/ created by ".get_username()." (Only dir!)"); echo _FDCREATEONLYDIR; } // echo "UPLOAD: $allowuserupload"; if ($allowuserupload=="true"){ // echo "ciao"; fnwrite("sections/$mod/$dirname/fduserupload","userupload","w",array("nonull")); } } else echo "


    "._FDCREATEDIRERROR."sections/$mod/$dirname

    "._FDCHECKPERM."
    "; } } /** * Imposta se nascondere o meno un file. * Il file viene nascosto se value impostata a "true" e viene mostrato se impostata * a "false". * @param string $filepath il percorso del file di cui mosificare le impostazioni * @param string $value indica se nascondere o meno un file * @author Aldo Boccacci * @since 0.6 */ function hide_file($filepath,$value){ include_once("shared.php"); if (!fd_check_path($filepath,"sections/","false")) fd_die("\$filepath is not valid! FDadmin: ".__LINE__); if (!eregi("^false$|^true$",$value)) fd_die("\$value must be true or false! FDadmin: ".__LINE__); if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (fd_is_admin()){ $description=array(); $description = load_description($filepath); $description['hide'] = $value; save_description($filepath, $description); } //l'utente che ha modificato il file $myforum=""; $myforum=get_username(); if (!is_alphanumeric($myforum)) $myforum =""; if (!versecid($myforum)) $myforum = ""; fdlogf("$filepath hide status set to \"$value\" by $myforum"); //torna alla sezione $mod = dirname($filepath); // echo $mod; $mod = eregi_replace("^.*sections/","",$mod); // echo $mod; header("Location: index.php?mod=".rawurlencodepath($mod)); } /** * Questa funzione crea l'interfaccia grafica per rinominare un file gestito da fd+ * @param string $file il file da rinominare * @since 0.7 * @author Aldo Boccacci */ function rename_interface($file){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!fd_check_path($file,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $mod=""; $mod = getparam("mod",PAR_GET,SAN_FLAT); $mod = trim($mod); if ($mod!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); echo _FDRENAMETITLE."$file

    "; echo _FDRENAMECHOOSE."
    "; echo "


    "; echo "
    "; echo _FDRENAMEEXTLIMIT; } /** * Rinomina un file gestito da fd+ * @param string $oldname il vecchio nome del file * @param string $newname il nuovo nome del file * @param string $path il percorso del file * @since 0.7 * @author Aldo Boccacci */ function rename_file($oldname, $newname, $path){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!fd_check_path($oldname,"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!fd_check_path($newname,"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!fd_check_path($path,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $mod=""; $mod = getparam("mod",PAR_GET,SAN_FLAT); $mod = trim($mod); if ($mod!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); // echo "$path/$oldname.description"; //controllo la presenza del corrispondente file .description if (!file_exists("$path/$oldname.description")){ echo _FDRENAMEFILE."$path/$oldname"._FDRENAMENOFD; fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); } $basemod = ""; $basemod = eregi_replace("^sections/","",$path); //se il nome non cambia... if ($oldname==$newname) { echo _FDRENAMENOTCHANGED; echo "

    "._FDARCHIVERETURN.""; return; } //se la cartella non scrivibile... if (!is_writable($path)){ echo _FDREDONLYDIR; echo "

    "._FDARCHIVERETURN.""; return; } //se esiste gi un file con quel nome... if (file_exists("$path/$newname")){ echo _FDRENAMEEXISTS1." $newname "._FDRENAMEEXISTS2." $path.
    "._FDRENAMECHANGENAME; echo "

    << "._FDBACK.""; return; } //non posso cambiare l'estensione $oldinfo = array(); $newinfo = array(); $oldinfo = pathinfo($oldname); $newinfo = pathinfo($newname); if (isset($oldinfo['extension'])) $oldext = $oldinfo['extension']; else $oldext=""; if (isset($newinfo['extension'])) $newext = $newinfo['extension']; else $newext=""; if ($oldext !=$newext){ echo _FDERROR." "._FDRENAMEEXTLIMIT; echo "

    << "._FDBACK.""; return; } //se tutti i controlli vengono passati posso rinominare il file if (rename("$path/$oldname","$path/$newname") and rename("$path/$oldname.description","$path/$newname.description")){ echo _FDRENAMEOK; echo "

    "._FDARCHIVERETURN.""; //l'utente che ha modificato il file $myforum=""; $myforum=get_username(); if (!is_alphanumeric($myforum)) $myforum =""; if (!versecid($myforum)) $myforum = ""; fdlogf("$path/$oldname \n\trenamed in $path/$newname by $myforum"); } else { echo _FDRENAMEALERT." $oldname"; return; } //inserisco in max_download $desc=array(); $desc= load_description("$path/$newname"); insert_in_max_download("$path/$newname",$desc['hits']); //firma gpg global $extsig; if ($extsig=="") $extsig="sig"; if (file_exists("$path/$oldname.$extsig")){ if (rename("$path/$oldname.$extsig","$path/$newname.$extsig")){ fdlogf("Gpg sign file succesfully renamed: $path/$newname.$extsig"); } else { echo "I was not able to rename the gpg sign file $path/$oldname.$extsig in $path/$newname.$extsig"; fdlogf("I was not able to rename the gpg sign file $path/$oldname.$extsig in $path/$newname.$extsig"); } } //screenshot global $extscreenshot; if ($extscreenshot=="") $extscreenshot="png"; if (file_exists("$path/$oldname.$extscreenshot")){ if (rename("$path/$oldname.$extscreenshot","$path/$newname.$extscreenshot")){ fdlogf("Screenshot succesfully renamed: $path/$newname.$extscreenshot"); } else { echo "I was not able to rename the gscreenshot $path/$oldname.$extscreenshot in $path/$newname.$extscreenshot"; fdlogf("I was not able to rename the screenshot $path/$oldname.$extscreenshot in $path/$newname.$extscreenshot"); } } } /** * Interfaccia grafica per permettere lo spostamento dei file gestiti da fd+ * @param string $file il file da spostare * @author Aldo Boccacci * @since 0.7 */ function move_file_interface($file){ // echo "FILE: $file"; if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if(!fd_check_path($file,"sections/","false")) die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $mod=""; $mod = getparam("mod",PAR_GET,SAN_FLAT); $mod = trim($mod); if ($mod!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $startdir =""; $startdir = dirname($file); echo "
    "._FDMOVEFILE."$file"._FDMOVEFILESECTION.":
    "._FDMOVELINK."

    "; $dirs = list_fd_sections("."); foreach($dirs as $dir){ // echo "$startdir
    $dir
    "; if ($startdir==eregi_replace("^\./","",$dir)) continue; if (is_writable($dir)) echo "".eregi_replace("^\./","",$dir)."
    "; else { echo "".eregi_replace("^\./","",$dir)."
    "; } } echo "

    << "._FDCANC.""; } /** * Chiede conferma prima di spostare effettivamente il file * @param string $file il file da spotare * @param string $newdir la cartella in cui spostare il file * @author Aldo Boccacci * @since 0.7 */ function move_file_confirm($file, $newdir){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if(!fd_check_path($file,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if(!fd_check_path($newdir,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!file_exists($file.".description")) fd_die(_FDRENAMEFILE." $file"._FDRENAMENOFD." FDadmin: ".__LINE__); echo "
    "._FDMOVECONFIRM." $file
    "._FDMOVEFILESECTION." $newdir?
    "; echo "

    "; echo "

    << "._FDCANC.""; } /** * Sposta il file $file nella cartella $newdir * @param string $file il file da spotare * @param string $newdir la cartella in cui spostare il file * @author Aldo Boccacci * @since 0.7 */ function fd_move_file($file, $newdir){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if(!fd_check_path($file,"sections/","false")) die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if(!fd_check_path($newdir,"sections/","false")) die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //il file deve essere gestito da fd+! if (!file_exists($file.".description")) fd_die(_FDRENAMEFILE." $file"._FDRENAMENOFD." FDadmin: ".__LINE__); $newdir = eregi_replace("^\./","",$newdir); if (!is_writable($newdir)) { echo _FDDIR." $newdir "._FDNOTWRITE; echo "
    "._FDCHECKPERM; echo "

    << "._FDBACK.""; return; } if (!is_fd_sect($newdir)){ echo "The dir $newdir is not managed by FD+."; echo "

    << "._FDBACK.""; return; } if (file_exists($newdir."/".basename($file))){ echo _FDRENAMEEXISTS1." ".basename($file)." "._FDRENAMEEXISTS2." $newdir"; echo "

    << "._FDBACK."

    "; return; } if (file_exists($newdir."/".basename($file).".description")){ echo _FDRENAMEEXISTS1." ".basename($file).".description "._FDRENAMEEXISTS2." $newdir"; echo "

    << "._FDBACK."

    "; return; } global $extsig; if ($extsig=="") $extsig="sig"; if (file_exists($newdir."/".basename($file).".$extsig")){ echo _FDRENAMEEXISTS1." ".basename($file).".$extsig "._FDRENAMEEXISTS2." $newdir"; echo "

    << "._FDBACK."

    "; return; } global $extscreenshot; if ($extscreenshot=="") $extscreenshot="png"; if (file_exists($newdir."/".basename($file).".$extscreenshot")){ echo _FDRENAMEEXISTS1." ".basename($file).".$extscreenshot "._FDRENAMEEXISTS2." $newdir"; echo "

    << "._FDBACK."

    "; return; } if (rename($file,$newdir."/".basename($file)) and rename($file.".description",$newdir."/".basename($file).".description")){ echo "File $file "._FDMOVESUCCESS." $newdir"; } else { echo _FDMOVEFAIL."$file"; } if (file_exists($file.".$extsig")){ if (rename($file.".$extsig",$newdir."/".basename($file).".$extsig")){ //ok } else { echo "Attention: I cannot move the gpg sign of the file!"; fdlogf("I cannot move the gpg sign of the file: $file to the dir: $newdir"); } } if (file_exists($file.".$extscreenshot")){ if (rename($file.".$extscreenshot",$newdir."/".basename($file).".$extscreenshot")){ //ok } else { echo "Attention: I cannot move the gpg sign of the file!"; fdlogf("I cannot move the gpg sign of the file: $file to the dir: $newdir"); } } //inserisco in $max_download $desc = array(); $desc = load_description($newdir."/".basename($file)); insert_in_max_download($newdir."/".basename($file),$desc['hits']); $olddir = eregi_replace("sections/","",dirname($file)); echo "

    "._FDARCHIVERETURN." | "; $newdir = eregi_replace("sections/","",$newdir); echo ""._GOTOSECTION." $newdir
    "; } /** * Interfaccia per l'eliminazione della firma gpg associata a un file gestito da FD+. * * Questa funzione crea l'interfaccia web dalla quale sar possibile eliminare * la firma gpg associata a un file gestito da FD+. * * @param string $file il file di cui eliminare la firma * @author Aldo Boccacci * @since 0.8 */ function delete_sign_interface($file){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!check_path($file,"sections/","false")) fd_die("\$file (".strip_tags($file).") is not valid! FDadmin: ".__LINE__); if (!file_exists($file.".description")) fd_die("\$file(".strip_tags($file).") is not managed by FD+! FDadmin: ".__LINE__); global $extsig; if (!file_exists($file.".$extsig")) fd_die("There isn't a sign file for ".strip_tags($file)."! FDadmin: ".__LINE__); ?>

    ?


    "; } /** * Interfaccia per l'eliminazione dello screenshot associato a un file gestito da FD+. * * Questa funzione crea l'interfaccia web dalla quale sar possibile eliminare * lo screenshot associato a un file gestito da FD+. * * @param string $file il file di cui eliminare lo screenshot * @author Aldo Boccacci * @since 0.8 */ function delete_screenshot_interface($file){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!check_path($file,"sections/","false")) fd_die("\$file (".strip_tags($file).") is not valid! FDadmin: ".__LINE__); if (!file_exists($file.".description")) fd_die("\$file(".strip_tags($file).") is not managed by FD+! FDadmin: ".__LINE__); global $extscreenshot; if (!file_exists($file.".$extscreenshot")) fd_die("There isn't a screenshot for ".strip_tags($file)."! FDadmin: ".__LINE__); ?>

    ?


    "; } /** * Funzione deputata al caricamento dello screenshot. * * Questa funzione si occupa di caricare lo screenshot associato al file gestito da FD+. * @param string $dir la cartella in cui caricare lo screenshot * @param string $mode "upload" se stiamo caricando un nuovo file, "edit" se ne stiamo modificando * uno gi presente * @author Aldo Boccacci * @since 0.8 */ function fd_upload_screenshot($file,$mode="upload"){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //CONTROLLO PARAMETRI if (!fd_check_path($file,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!eregi("^upload$|^edit$",$mode)) { fd_die("Error: \$mode value is invalid: must be \"upload\" or \"edit\". FDadmin: ".__LINE__); } global $extscreenshot; if ($extscreenshot=="") $extscreenshot="png"; if (check_file_array($_FILES['fdscreenshot'],"200000","false")) $files_screenshot = check_file_array($_FILES['fdscreenshot'],"200000","false"); else { fdlogf("\$_FILES['fdscreenshot'] is not valid! FDadmin: ".__LINE__); return; } if (eregi("\.php*$|\.php$","",$files_screenshot['name'])){ fd_die("The extension of the screenshot is \".php\", not \".$extscreenshot\" FDadmin: ".__LINE__); } if (isset($files_screenshot['name']) and trim($files_screenshot['name'])==""){ echo "

    "._FDFILENOTSELECT; echo "

    << "._FDBACK."

    "; fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); } if (!eregi("$extscreenshot$",$files_screenshot['name'])){ echo "
    ERRORThe screenshot must be a $extscreenshot file. The file will not be uploaded!

    "; return; } if ($files_screenshot['size']>10000000) { fd_die("The sig file is too big! ".$dir."/".$files_screenshot['name'].".$extsig"."FDadmin: ".__LINE__); die_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); } if (!file_exists($file)){ echo "Attenzione! il file $file non esiste!"; fdlogf("Error uploading screenshot. The corresponding file $file does not exists!"); return; } if ($files_screenshot['error']!=0){ if ($files_screenshot['error']==1) echo _FDERROR1; else if ($files_screenshot['error']==2) echo _FDERROR2; else if ($files_screenshot['error']==3) echo _FDERROR3; else if ($files_screenshot['error']==4) echo _FDERROR4; else if ($files_screenshot['error']==6) echo _FDERROR6; else if ($files_screenshot['error']==7) echo _FDERROR7; fd_die("

    FDadmin: upload error."); } // if ($files_screenshot['size']==0) fd_die("
    Error! "._FDSIZE." file: 0 kb"); //eventualmente elimino il vecchio screenshots if (file_exists("$file.$extscreenshot")){ unlink("$file.$extscreenshot"); } if (!fd_check_path("$file.$extscreenshot","sections/","false")) fd_die("The screenshot path is not valid!: $file.$extscreenshot"."FDadmin:".__LINE__); //controllo per codice php if (eregi("\<\?|\?\>",get_file($files_screenshot['tmp_name']))){ fd_die("The screenshot filename contains php tags! "._FDNONPUOI.basename(__FILE__).": ".__LINE__); } $dir =""; $dir = dirname($file); //carico il file fd_upload_file($files_screenshot,"$file.$extscreenshot"); } /** * Funzione che si occupa di effettuare l'upload dei file sul server * * Questa la funzione centralizzata deputata al caricamento sul server dei file degli utenti. * * @param array $files_array l'array $_FILES con i dati da caricare * @param string $filepath il percorso che dovr avere il file * @author Aldo Boccacci * @since 0.8 */ function fd_upload_file($files_array,$filepath){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); global $maxFileSize; if (!check_file_array($files_array,$maxFileSize)){ fdlogf("\$files_array is not valid! FDadmin".__LINE__); return false; } if (!check_path($filepath,"sections/","false")){ fdlogf("\$filepath is not valid! (".strip_tags($filepath).") FDadmin".__LINE__); return false; } if (!is_writable(dirname($filepath))){ fdlogf(strip_tags(dirname($filepath))." is not writable! FDadmin".__LINE__); return false; } if (move_uploaded_file($files_array['tmp_name'],$filepath)){ fdlogf("Uploaded file: ".basename($filepath)." in the dir ".dirname($filepath)); } else { echo "I was not able to upload the file :".basename($filepath)." in the dir ".dirname($filepath); fdlogf("I was not able to upload the file :".basename($filepath)." in the dir ".dirname($filepath)." FDadmin: ".__LINE__); return; } } /** * Crea nella sezione indicata dal parametro $mod il file fduserupload. * In questo modogli utenti potranno proporre file in quella sezione * * @param string $mod il $mod della sezione nella quale permettere l'upload * @author Aldo Boccacci * @since 0.8 */ function allow_user_upload($mod){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $mod =getparam($mod,PAR_NULL,SAN_FLAT); $mod = trim($mod); if (!fd_check_path($mod,"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $path=""; $path="sections/$mod"; if (file_exists("sections/$mod/fduserupload")){ echo "
    Users already can upload files in this section
    "; echo "

    "; } else { if (!is_writeable("sections/$mod/")){ echo _FDDIR." sections/$mod"._FDNOTWRITE; echo "

    "; } else { fnwrite("sections/$mod/fduserupload"," ","w",array()); fdlogf("user can upload files in the section $mod"); echo "User now can upload files in the section $mod"; echo "

    "; } } } /** * Rimuove dalla sezione indicata dal parametro $mod il file fduserupload. * * @param string $mod il $mod della sezione * @author Aldo Boccacci * @since 0.8 */ function remove_user_upload($mod){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $mod =getparam($mod,PAR_NULL,SAN_FLAT); $mod = trim($mod); if (!fd_check_path($mod,"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $path=""; $path="sections/$mod"; if (file_exists("sections/$mod/fduserupload")){ if (!is_writeable("sections/$mod/fduserupload")){ echo _FDRENAMEFILE." sections/$mod/fduserupload"._FDNOTWRITE; echo "

    "; } else { if (unlink("sections/$mod/fduserupload")){ fdlogf("user cannot upload files in the section $mod"); echo "User now cannot upload files in the section $mod"; echo "

    "; } else { echo "I was not able to delete the file sections/$mod/fduserupload"; echo "

    "; } } } else { echo "
    Users cannot upload files in this section
    "; echo "

    "; } } ?>flatnuke-2.7.2/download/include/autoinclude/0000755000175000017500000000000011177641445020461 5ustar simonesimoneflatnuke-2.7.2/download/include/autoinclude/fd_view_file/0000755000175000017500000000000011177641445023103 5ustar simonesimoneflatnuke-2.7.2/download/include/autoinclude/fd_view_file/footer/0000755000175000017500000000000011177641445024401 5ustar simonesimoneflatnuke-2.7.2/download/include/autoinclude/fd_view_file/header/0000755000175000017500000000000011177641445024333 5ustar simonesimoneflatnuke-2.7.2/download/include/autoinclude/fd_view_section/0000755000175000017500000000000011177641445023630 5ustar simonesimoneflatnuke-2.7.2/download/include/autoinclude/fd_view_section/footer/0000755000175000017500000000000011177641445025126 5ustar simonesimoneflatnuke-2.7.2/download/include/autoinclude/fd_view_section/header/0000755000175000017500000000000011177641445025060 5ustar simonesimoneflatnuke-2.7.2/download/include/fduser.php0000755000175000017500000005342010762516716020156 0ustar simonesimone= 2.5.7) * * 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. * * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ if (eregi("fduser.php",$_SERVER['PHP_SELF'])) { Header("Location: index.php"); fd_die("You cannot view fduser.php directly",__FILE__,__LINE__); } /** * Il carattere che separa il codice random di sicurezza dal nome del file * (questo meglio non modificarlo) */ $separator_char ="-"; //ci sono prolemi con register_globals=off $GLOBALS['separator_char'] = $separator_char; /** * Questa funzione mostra il pulsante per permettere agli utenti di caricare dei file. * Se l'utente abilitato ad uploadare file verr mostrato il pulsante, in caso contrario sar * mostrata una scritta specificante il motivo dell'impossibilt di caricare files. * Se l'utente collegato un amministratore sar mostrato un pulsante per andare alla pagina * di validazione dei file in attesa di approvazione * @author Aldo Boccacci * @since 0.7 */ function user_upload_interface(){ global $userfilelimit; if (file_exists("include/redefine/".__FUNCTION__.".php")){ include("include/redefine/".__FUNCTION__.".php"); return; } if (!check_var($userfilelimit,"digit")) fd_die("\$userfilelimit must be a digit!",__FILE__,__LINE__); if (user_can_upload() and (get_n_waiting_files()<$userfilelimit)){ $path =getparam("mod", PAR_GET, SAN_FLAT); //pulsante per aggiungere un nuovo file echo "

    "; } else if (user_can_upload() and !(get_n_waiting_files()<$userfilelimit)){ echo "

    "._FDLIMIT."
    "; } else if (fd_is_admin()){ echo "

    "; } } /** * Restituisce true se l'utente autorizzato a caricare file nella sezione corrente * @return TRUE se l'utente collegato autorizzato a caricare file. FALSE in caso contrario * @author Aldo Boccacci * @since 0.7 */ function user_can_upload(){ //controlla livello sezione $myforum = get_username(); if (trim($myforum)=="") return false; global $userblacklist,$minlevel; //controllo il livello $checklevel = FALSE; $minlevel = trim($minlevel); if ($minlevel=="" or $minlevel=="0") $checklevel=TRUE; else if (getlevel($myforum,"home")<$minlevel) $checklevel=FALSE; else $checklevel=TRUE; if (is_user() and !fd_is_admin() and versecid($myforum)) { if (trim($userblacklist)==""){ if ($checklevel==TRUE) return TRUE; else return FALSE; } else { //controllo gli utenti nella black-list $bannedusers = array(); $bannedusers = explode(",",$userblacklist); $counter = 0; foreach ($bannedusers as $banneduser){ $bannedusers[$counter] = trim($banneduser); $counter++; } //controllo se in elenco if (!in_array($myforum,$bannedusers)){ if ($checklevel==TRUE) return TRUE; else return FALSE; } else return FALSE; } } else return FALSE; } /** * Richiama l'interfaccia per aggiungere un file * @author Aldo Boccacci * @since 0.7 */ function user_addfile(){ edit_description_interface(array(),"userupload"); } /** * La funzione che carica materialmente il file sul server * @author Aldo Boccacci * @since 0.7 */ function user_upload(){ // include_once("shared.php"); global $usermaxFileSize,$userfilelimit; if (!(get_n_waiting_files()<$userfilelimit)) fd_die("error! there are too files in the waiting list!",__FILE__,__LINE__); if (!check_var($usermaxFileSize,"digit")) fd_die("\$usermaxFileSize must be a digit! FDuser: ".__LINE__); //CONTROLLO TUTTE LE VARIABILI IN POST if (isset($_POST['path'])){ if (fd_check_path($_POST['path'],"sections/","false")) $path = strip_tags($_POST['path']); else fd_die("\$_POST[\'path\'] is not valid. FDuser: ".__LINE__); } if (isset($_POST['filename'])){ if (fd_check_path($_POST['filename'],"","false")) $filename = strip_tags($_POST['filename']); else fd_die("\$_POST[\'name\'] is not valid. FDuser: ".__LINE__); } if (isset($_POST['description'])){ $description = strip_tags($_POST['description']); } if (isset($_POST['version'])){ if (check_var(trim($_POST['version']),"text")) $version = trim(strip_tags($_POST['version'])); else fd_die("\$_POST[\'version\'] is not valid. FDuser: ".__LINE__); } if (isset($_POST['userlabel'])){ $userlabel = trim(getparam("userlabel",PAR_POST,SAN_FLAT)); if (!check_var($userlabel,"text")) $userlabel=""; } else $userlabel=""; if (isset($_POST['uservalue'])){ $uservalue = trim(getparam("uservalue",PAR_POST,SAN_FLAT)); $uservalue = purge_html_string($uservalue); } else $uservalue =""; if (isset($_POST['md5'])){ if (check_var(trim($_POST['md5']),"alnum")) $md5 = trim(strip_tags($_POST['md5'])); else fd_die("\$_POST[\'md5\'] is not valid. FDuser: ".__LINE__); } if (isset($_POST['sha1'])){ if (check_var(trim($_POST['sha1']),"alnum")) $sha1 = trim(strip_tags($_POST['sha1'])); else fd_die("\$_POST[\'sha1\'] is not valid. FDuser: ".__LINE__); } if (isset($_POST['automd5post'])){ $automd5post = trim(getparam("automd5post",PAR_POST,SAN_FLAT)); if (!check_var($automd5post,"boolean")) $automd5post="off"; } else $automd5post="off"; if (isset($_POST['autosha1post'])){ $autosha1post = trim(getparam("autosha1post",PAR_POST,SAN_FLAT)); if (!check_var($autosha1post,"boolean")) $autosha1post="off"; } else $autosha1post="off"; // if (isset($_POST['hide'])){ // if (check_var(trim($_POST['hide']),"boolean")) $hide = trim(strip_tags($_POST['hide'])); // else fd_die("\$_POST[\'hide\'] is not valid. FDuser: ".__LINE__); // } if (isset($_POST['showinblocks'])){ if (check_var(trim($_POST['showinblocks']),"boolean")) $showinblocks = trim(strip_tags($_POST['showinblocks'])); else fd_die("\$_POST[\'showinblocks\'] is not valid. FDuser: ".__LINE__); } if (isset($_POST['fdfilelevel'])){ if (check_var(trim($_POST['fdfilelevel']),"digit") or trim($_POST['fdfilelevel'])!="---") $filelevel = trim(strip_tags($_POST['fdfilelevel'])); else fd_die("\$_POST[\'level\'] is not valid. FDuser: ".__LINE__); } if(!user_can_upload()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //CONTROLLO TUTTE LE VARIABILI IN POST E FILES $mod= ""; $mod = getparam("mod",PAR_GET,SAN_FLAT); if (trim($mod)!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!isset($_FILES['fdfile'])) { echo "

    "._FDFILENOTSELECT."
    "; fd_die("File to upload not selected. FDuser:".__LINE__); } if (isset($_FILES['fdfile']['name']) and trim($_FILES['fdfile']['name'])==""){ echo "

    "._FDFILENOTSELECT; echo "

    << "._FDBACK."

    "; fd_die("File to upload not selected. FDuser:".__LINE__); } if (strlen($_FILES['fdfile']['name'])>40){ fd_die("Error! The filename is toot long! (>40) FDuser:".__LINE__); } if ($_FILES['fdfile']['size']>$usermaxFileSize) { echo "

    "._FDTOOBIG; // Il file non stato caricato perch le sue dimensioni sono eccessive.
    "; echo "

    << "._FDBACK."

    "; echo "
    "; fdlogf($_FILES['fdfile']['size'].": "._FDTOOBIG); fd_die("File to upload has size==0. FDuser:".__LINE__); } if ($_FILES['fdfile']['error']!=0){ if ($_FILES['fdfile']['error']==1) echo _FDERROR1; else if ($_FILES['fdfile']['error']==2) echo _FDERROR2; else if ($_FILES['fdfile']['error']==3) echo _FDERROR3; else if ($_FILES['fdfile']['error']==4) echo _FDERROR4; else if ($_FILES['fdfile']['error']==6) echo _FDERROR6; else if ($_FILES['fdfile']['error']==7) echo _FDERROR7; fd_die("

    FDuser: upload error. (".$_FILES['fdfile']['error'].")"); } if ($_FILES['fdfile']['size']==0) fd_die("
    Error! "._FDSIZE." file: 0 kb"); //ULTIMO CONTROLLO ALL'ARRAY $_FILES // if (fd_check_uploaded_file($_FILES['fdfile'],$maxFileSize,"false")!=TRUE){ // fd_die("The \$_FILES array contains invalid data! FDuser: ".__LINE__); // } if (isset($_FILES['fdfile']['name'])){ //impedisco di caricare file .php $info=array(); $info = pathinfo($_FILES['fdfile']['name']); if (!isset($info['extension'])) $info['extension'] =" "; if (eregi("php",$info['extension'])) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //controllo il nome del file if (!fd_check_path($_FILES['fdfile']['name'],"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); global $extensions; $extensions_array=array(); $extensions_array = split(",",$extensions); if (!in_array($info['extension'],$extensions_array)) { echo "

    "._NOTVALIDEXT; echo "

    << "._FDBACK."

    "; fd_die("",__FILE__,__LINE__); } } if (isset($_FILES['fdfile']['tmp_name'])){ //impedisco di caricare file .php $info=array(); $info = pathinfo($_FILES['fdfile']['tmp_name']); if (!isset($info['extension'])) $info['extension'] =" "; if (eregi("php",$info['extension'])) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //non posso inserire .. // echo $_FILES['fdfile']['tmp_name']; // if (fd_check_path($_FILES['fdfile']['tmp_name'],"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); } if(user_can_upload()){ // print_r($_FILES); if ($_FILES['fdfile']['name']<>""){ //controllo che il file non sia gi esistente if (file_exists("$path/".$_FILES['fdfile']['name'])){ echo "

    "._FDUPLOADEXISTS."
    "; echo "
    << "._FDBACK."

    "; fd_die("",__FILE__,__LINE__); } global $separator_char; //genero il nome temporaneo del file $hiddenfilename = mt_rand().$separator_char.$_FILES['fdfile']['name']; //inserisci il path // echo "$path/$hiddenfilename"; if (user_can_upload()){ // echo $_FILES['fdfile']['tmp_name']."
    "."$path/".$_FILES['fdfile']['name']; if (move_uploaded_file($_FILES['fdfile']['tmp_name'], "$path/$hiddenfilename")){ echo "
    "._FDUPLOADOK; echo "

    "._FDWAITFORADMIN; //print_r($_FILES); echo "
    "; } else { echo "

    "._FDTOOBIG; // Il file non stato caricato perch le sue dimensioni sono eccessive.
    "; echo "

    << "._FDBACK."

    "; echo "
    "; fd_die("",__FILE__,__LINE__); } } } global $automd5,$autosha1; if (trim($md5)=="" and $automd5post=="on"){ $md5 = md5_file("$path/$hiddenfilename"); } if (trim($sha1)=="" and $autosha1post=="on"){ $sha1 = sha1_file("$path/$hiddenfilename"); } if ($showinblocks!="true") $showinblocks="false"; $desc = array(); $desc['name'] = $filename; $desc['desc'] = trim($description); $desc['version'] = $version; $desc['userlabel'] = $userlabel; $desc['uservalue'] = $uservalue; $desc['md5'] = $md5; $desc['sha1'] = $sha1; $desc['hits'] = 0; $desc['hide'] = "true"; $desc['time'] = time(); $desc['showinblocks'] = $showinblocks; $desc['filelevel'] = $filelevel; $desc['uploadedby'] = get_username(); save_description("$path/$hiddenfilename",$desc); //solo dopo l'approvazione dell'admin! // insert_in_max_download("$path/".$_FILES['fdfile']['name'],0); insert_in_waiting_list("$path/$hiddenfilename"); fdlogf("$path/$hiddenfilename uploaded by ".get_username()); //gestisco l'eventuale firma // if ($_FILES['fdsig']['tmp_name']<>"") fd_upload_sig($path); }//fine is_admin(?) $path = eregi_replace(".*sections/", "", $path); echo "

    "; } /** * Verifica che l'array $_FILES['file'] passato come paramtero sia ok * tutti i controlli relativi dovranno essere spostati qua dentro * @param array $file_array l'array contenente i dati del file da uploadare * @param string $maxFileSize la dimensione massima del file da caricare * @param boolean $allow_php indica se permettere il caricamento di file con estensione php * @author Aldo Boccacci * @since 0.7 */ function fd_check_uploaded_file($file_array,$maxFileSize,$allow_php="false"){ if (!is_array($file_array)){ fdlogf("error uploading file: \$file_array is not an array. FDuser:".__LINE__); return FALSE; } if (!ctype_digit(trim($maxFileSize))){ fdlogf("error uploading file: \$maxFileSize is not a digit. FDuser: ".__LINE__); return FALSE; } if (!eregi("^true$|^false$",$allow_php)){ fdlogf("error uploading file: \$allow_php is not boolean. FDuser: ".__LINE__); return FALSE; } if (!isset($file_array['tmp_name'])){ fdlogf("error uploading file: \$file_array[\'tmp_name\'] is not valid. FDuser: ".__LINE__); return FALSE; } if ($file_array['tmp_name']==""){ fdlogf("error uploading file: \$file_array[\'tmp_name\'] is not valid. FDuser: ".__LINE__); return FALSE; } if (!is_uploaded_file($file_array['tmp_name'])){ fdlogf("error uploading file: \$file_array[\'tmp_name\'] is not an uploaded file. FDuser: ".__LINE__); return FALSE; } if (!fd_check_path($file_array['name'],"","$allow_php")){ fdlogf("error uploading file: \$file_array[\'name\'] is not valid. FDuser: ".__LINE__); return FALSE; } if ($file_array['size']=="0"){ fdlogf("error uploading file: \$file_array[\'size\'] ==0. FDuser: ".__LINE__); return FALSE; } if ($file_array['error']!="0"){ fdlogf("error uploading file: \$file_array[\'error\'] is".$file_array['error'].". FDuser: ".__LINE__); return FALSE; } return TRUE; } /** * Inserisce il file nella lista dei file in attesa di approvazione dall'amministratore * @param string $path il percorso del file da validare * @author Aldo Boccacci * @since 0.7 */ function insert_in_waiting_list($path){ if (!user_can_upload() and !fd_is_admin()) fd_die("You cannot insert files in waiting list! FDuser: ".__LINE__); global $userwaitingfile; if (!fd_check_path($path,"sections/","false")) fd_die("path isn't valid! FDuser: ".__LINE__); if (!fd_check_path($userwaitingfile,"","true")) fd_die("\$userwaitingfile isn't valid! FDuser: ".__LINE__); //controllo l'esistenza della sezione di statistica if (!file_exists("misc/fdplus/")) mkdir("misc/fdplus/",0777); //idem per il file con le statistiche if (!file_exists("misc/fdplus/$userwaitingfile")){ $string= "\n\n"; fnwrite("misc/fdplus/$userwaitingfile",$string,"w",array("nonull")); } $datastring=""; $datastring = get_xml_element("fd:userwaitingfiles",get_file("misc/fdplus/$userwaitingfile")); $userwaitingarray=array(); $userwaitingarray= get_xml_array("fd:file",$datastring); // print_r($userwaitingarray); $newstring= ""; //inserisco il file corrente if (file_exists($path) and is_file($path)) $newstring .="\n\t$path"; foreach ($userwaitingarray as $userwaitingelement){ // $userwaitingelement = get_xml_element("fd:file",$userwaitingelement); if (file_exists(trim($userwaitingelement))) $newstring .="\n\t$userwaitingelement"; } $newstring .= "\n"; if (eregi("\<\?",$newstring) or eregi("\?\>",$newstring)) fd_die("You cannot insert php tags in the waiting list file! FDuser: ".__LINE__); fnwrite("misc/fdplus/$userwaitingfile","\n".$newstring,"w",array("nonull")); } /** * Resituisce il numero di file in attesa di approvazione * @return il numero di file in attesa di approvazione * @author Aldo Boccacci * @since 0.7 */ function get_n_waiting_files(){ return count(get_waiting_files()); } /** * Restituisce l'elenco dei files in attesa di approvazione. * @return un array contenete l'elenco dei file in attesa di validazione * @author Aldo Boccacci * @since 0.7 */ function get_waiting_files(){ global $userwaitingfile; if (!fd_check_path($userwaitingfile,"","true")) fd_die(_NONPUOI.__LINE__); if (!file_exists("misc/fdplus/")) mkdir("misc/fdplus/",0777); //idem per il file con le statistiche if (!file_exists("misc/fdplus/$userwaitingfile")){ $string= "\n\n"; fnwrite("misc/fdplus/$userwaitingfile",$string,"w",array("monull")); } $datastring=""; $datastring = get_xml_element("fd:userwaitingfiles",get_file("misc/fdplus/$userwaitingfile")); $userwaitingarray=array(); $userwaitingarray= get_xml_array("fd:file",$datastring); $arrayok=array(); foreach ($userwaitingarray as $userwaitingelement){ // $userwaitingelement = get_xml_element("fd:file",$userwaitingelement); if (file_exists(trim($userwaitingelement))) $arrayok[] = eregi_replace("//","/",$userwaitingelement); } return $arrayok; } /** * L'interfaccia destinata all'amministratore per validare (o eliminare) i file in attesa di approvazione. * @author Aldo Boccacci * @since 0.7 */ function publish_interface(){ if (!fd_is_admin()) fd_die(_NONPUOI." FDuser: ".__LINE__); $mod= ""; $mod = getparam("mod",PAR_GET,SAN_FLAT); if (trim($mod)!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); global $userwaitingfile,$separator_char; if (!fd_check_path($userwaitingfile,"","true")) fd_die(_NONPUOI.__LINE__); if (file_exists("include/redefine/".__FUNCTION__.".php")){ include("include/redefine/".__FUNCTION__.".php"); return; } if (!file_exists("misc/fdplus/")) mkdir("misc/fdplus/",0777); //idem per il file con le statistiche if (!file_exists("misc/fdplus/$userwaitingfile")){ $string= "\n\n"; fnwrite("misc/fdplus/$userwaitingfile",$string,"w",array("nonull")); } $datastring=""; $datastring = get_xml_element("fd:userwaitingfiles",get_file("misc/fdplus/$userwaitingfile")); $userwaitingarray=array(); $userwaitingarray= get_xml_array("fd:file",$datastring); echo "I seguenti file sono in attesa di validazione:
    (Potrete modificare le descrizioni dopo la pubblicazione)"; foreach ($userwaitingarray as $userwaitingelement){ // $userwaitingelement = get_xml_element("fd:file",$userwaitingelement); if (!file_exists($userwaitingelement)) continue; fd_view_file($userwaitingelement); } } /** * Pubblica il file indicato come parametro (Nello stesso tempo lo rimuove dalla lista dei file in attesa * di approvazione) * @param string $path il percorso del file da approvare. * @author Aldo Boccacci * @since 0.7 */ function publish_file($path){ if (!fd_is_admin()) fd_die(_NONPUOI." FDuser: ".__LINE__); if (!fd_check_path($path,"sections/","false")) fd_die("\$path isn't valid! FDuser: ".__LINE__); $myforum =""; $myforum=get_username(); global $separator_char; $newdir = dirname($path); $newname=""; $newname = eregi_replace("^[0-9]+\\$separator_char","",basename($path)); $newpath = "$newdir/$newname"; if (file_exists($newpath)){ echo ""._ATTENTION."! "._THEFILE." $newpath esiste gi.
    Sar mantenuto il file temporaneo in attesa che l'amministratore lo modifichi manualmente."; $newpath = "$newdir/TOGLIMI-$newname"; } rename($path,$newpath); rename("$path.description","$newpath.description"); //rimuovo dalla lista dei file da caricare //inserire il vecchio indirizzo (non + esistente) equivale ad eliminare insert_in_waiting_list("$path"); insert_in_max_download($newpath,"0"); fdlogf("$newpath published by ".get_username()); hide_file($newpath,"false"); } /** * Elimina il file passato come parametro * @param string $path il percorso del file da eliminare * @author Aldo Boccacci * @since 0.7 */ function fd_delete_file($path){ if (!fd_check_path($path,"sections/","false")) fd_die("\$path isn't valid. FDuser: ".__LINE__); confermaelimina($path); //solo se stato effettivamente eliminato... if (!file_exists($path)) insert_in_waiting_list($path); } /** * Restituisce true se il file stato proposto da un utente e deve ancora essere * approvato dall'amministratore * @return TRUE se il file si trova nella lista dei file caricati da un utente in attesa di validazione, * FALSE in caso contrario * @author Aldo Boccacci * @since 0.7 */ function user_uploaded($path){ if (!fd_check_path($path,"sections/","false")) fd_die("\$path isn't valid! FDuser: ".__LINE__); if (in_array($path,get_waiting_files())) return TRUE; else return FALSE; } ?>flatnuke-2.7.2/download/include/phpfunctions/0000755000175000017500000000000011177641445020665 5ustar simonesimoneflatnuke-2.7.2/download/include/phpfunctions/fd_vote_functions.php0000755000175000017500000003130711177637545025131 0ustar simonesimone"; // echo $_POST['fdfilename']; // echo $_POST['fdvote']; if (!check_path($filename,"sections/","false")) return; if (!fd_user_can_vote($filename)) return; //vote if (isset($_POST['fdvote'])){ $fdvote = getparam("fdvote",PAR_POST,SAN_FLAT); if (!check_var($fdvote,"digit")) { fdlogf("\$fdvote (".strip_tags($fdvote).") is not valid! FD plugin \"vote.php\": ".__LINE__); return; } } else { return; } if ($fdvote>5) return; if ($fdvote<0) return; //file if (isset($_POST['fdfilename'])){ $fdfilename = getparam("fdfilename",PAR_POST,SAN_FLAT); if (!check_path($fdfilename,"sections/","false")) { fdlogf("\$fdfilename (".strip_tags($fdfilename).") is not valid! FD plugin \"vote.php\": ".__LINE__); return; } } else { return; } if ($fdfilename!="$filename") return; $mod = ""; $mod = eregi_replace("sections/","",basename($fdfilename)); $tempdesc = array(); $tempdesc = load_description($fdfilename); $tempdesc['totalvote'] = $tempdesc['totalvote']+1; $tempdesc['totalscore'] = $tempdesc['totalscore']+$fdvote; //se non gestito da fd+ ritorno if (!file_exists($fdfilename.".description")) return; save_description($fdfilename,$tempdesc); $logdata = array(); $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_FLAT); $time = time(); $logdata['md5ip'] = fd_encode_ip($ip); $logdata['time'] = time(); $logdata['path'] = $fdfilename; add_ip_log_data($logdata); }//fine function fd_add_vote /** * Codifica l'indirizzo ip con l'algoritmo md5 per evitare che altri utenti lo possano leggere * @author Aldo Boccacci * @param string $ip l'ip da codificare * @return string l'indirizzo ip codificato con l'algoritmo md5 */ function fd_encode_ip($ip){ $ip=getparam($ip, PAR_NULL, SAN_FLAT); return md5($ip); } /** * Verifica che i dati inseriti nel file di log non siano troppo vecchi e, * se lo sono, provvede a eliminarli ripulendo il file. * @param string $logfile il percorso del file di log * @author Aldo Boccacci */ function fd_check_ip_log_data() { global $fdiplogfile; if ($fdiplogfile=="") $fdiplogfile = "misc/fdplus/fdipvotelog.php"; if (!check_path($fdiplogfile,"","true")) fd_die("IP log file is not valid! fd_vote_functions: ".__LINE__); $old_data = load_ip_log_data(); $newdata = array(); if (count($old_data)>0){ $data = array(); foreach($old_data as $data){ // echo "time:".time(); // echo "
    file:".$data['time']."
    "; // echo (time()-$data['time']); if ($data['time']>(time()-86400)) { // echo $data['path']." vecchio"; $newdata[] = $data; } // echo " minore"; // $newdata[] = $data; } } // print_r($newdata); save_ip_log_data($newdata); } /** * Restituisce true se l'utente pu votare. Restituisce FALSE se l'utente ha gi votato questo file */ function fd_user_can_vote($file ){ $ip = getparam("REMOTE_ADDR", PAR_SERVER, SAN_FLAT); $ip = fd_encode_ip($ip); $logdata = array(); $logdata = load_ip_log_data(); if (count($logdata)>0){ $logitem = array(); foreach ($logdata as $logitem){ if ($logitem['path']==$file){ if ($logitem['md5ip'] = $ip) return FALSE; } } } return TRUE; } /** * Salva i dati relativi ai voti dati all'interno di fd+. * Struttura dell'array: * $data['']['md5ip'] * $data['']['time'] * $data['']['path'] * @param array $data l'array con i dati * @author Aldo Boccacci * @since 0.8 */ function save_ip_log_data($data){ global $fdiplogfile; if ($fdiplogfile=="") $fdiplogfile = "misc/fdplus/fdipvotelog.php"; if (!check_path($fdiplogfile,"","true")) fd_die("IP log file is not valid! fd_vote_functions: ".__LINE__); if (!is_array($data)){ fdlogf("\$data must be an array! ".__FILE__.": line ".__LINE__, "Error"); } $datastring = ""; if (count($data)>0){ $file = array(); foreach ($data as $votedata){ if (check_var($votedata['md5ip'],"alnum")){ $md5ip = $votedata['md5ip']; } else return; if (check_var($votedata['time'],"digit")){ $time = $votedata['time']; } else return; if (check_path($votedata['path'],"sections","false")){ $path = $votedata['path']; } else return; $datastring .= "\n\t $md5ip $time $path "; } } $datastring .= "\n"; if (eregi("\<\?",$datastring) or eregi("\?\>",$datastring)) continue; fnwrite($fdiplogfile, "\n".$datastring,"w",array("nonull")); } /** * Carica i dati relativi ai voti. * * Questa funzione carica i dati presenti nel file che tiene traccia dei voti espressi sui file gestiti da fd+. * * @return una array con i dati salvati * @author Aldo Boccacci * @since 0.8 */ function load_ip_log_data(){ global $fdiplogfile; if ($fdiplogfile=="") $fdiplogfile = "misc/fdplus/fdipvotelog.php"; if (!check_path($fdiplogfile,"","true")) fd_die("IP log file is not valid! fd_vote_functions: ".__LINE__); $datastring = ""; $datastring = get_file($fdiplogfile); $datastring = get_xml_element("fdvote:log",$datastring); $item_array = array(); $item_array = get_xml_array("fdvote:entry",$datastring); $data = array(); if (count($item_array)>0){ $item= array(); $counter = 0; foreach ($item_array as $item){ $path = ""; $path = get_xml_element("fdvote:path",$item); if (!check_path($path,"sections/","false")) continue; $md5ip = ""; $md5ip = get_xml_element("fdvote:md5ip",$item); if (!check_var($md5ip,"alnum")) continue; $time = get_xml_element("fdvote:time",$item); if (!check_var($time,"digit")) continue; $data[$counter]['md5ip']= $md5ip; $data[$counter]['time'] = $time; $data[$counter]['path'] = $path; $counter++; } } return $data; } /** * Aggiunge un nuovo elemento al file con i dati dei voti dati ai file di fd+. * * @param array $itemdata l'array con i dati del nuovo elemento * @author Aldo Boccacci * @since 0.8 */ function add_ip_log_data($itemdata){ if (!is_array($itemdata)) { fdlogf("\$itemdata is not an array! FDVOTE: ".__LINE__); return; } $old_data = load_ip_log_data(); if (check_var($itemdata['md5ip'],"alnum")){ $md5ip = $itemdata['md5ip']; } else return; if (check_var($itemdata['time'],"digit")){ $time = $itemdata['time']; } else return; if (check_path($itemdata['path'],"sections","false")){ $path = $itemdata['path']; } else return; $old_data[$path]['md5ip'] = $md5ip; $old_data[$path]['time'] = $time; $old_data[$path]['path'] = $path; save_ip_log_data($old_data); } /** * Funzione che mostra il voto nella scheda del file e permette di votare il file. * * @param string $filename il file * @author Aldo Boccacci * @since 0.8 * */ function fd_show_vote($filename){ //CONFIGURAZIONE $fdiplogfile = "misc/fdplus/fdipvotelog.php"; global $sitename; if (!file_exists($fdiplogfile)) fnwrite($fdiplogfile," ","w",array()); //controllo $mod $mod =""; $mod = get_mod(); if ($mod!=""){ if (!fd_check_path($mod,"","false")) return; } else return; //CONTROLLO COSA FARE if (isset($_POST['fdvote'])){ fd_add_vote(); // echo ""; } $phpself = getparam("PHP_SELF", PAR_SERVER, SAN_NULL); $votedesc = array(); $votedesc = load_description($filename); if ($votedesc['enablerating']!="1") return; if ($votedesc['totalvote']=="0" or $votedesc['totalvote']=="" or $votedesc['totalvote']==NULL) $voteaverage = 0; else $voteaverage = $votedesc['totalscore']/$votedesc['totalvote']; $voteaverage = round($voteaverage,1); //----------------------------------- //VISUALIZZAZIONE //----------------------------------- $roundedvote = ""; $roundedvote = fd_get_rounded_vote($voteaverage); $fdvoteclass = ""; if ($roundedvote==0) $fdvoteclass = "000"; else if ($roundedvote==0.25) $fdvoteclass = "025"; else if ($roundedvote==0.5) $fdvoteclass = "050"; else if ($roundedvote==0.75) $fdvoteclass = "075"; else if ($roundedvote==1) $fdvoteclass = "100"; else if ($roundedvote==1.25) $fdvoteclass = "125"; else if ($roundedvote==1.5) $fdvoteclass = "150"; else if ($roundedvote==1.75) $fdvoteclass = "175"; else if ($roundedvote==2) $fdvoteclass = "200"; else if ($roundedvote==2.25) $fdvoteclass = "225"; else if ($roundedvote==2.5) $fdvoteclass = "250"; else if ($roundedvote==2.75) $fdvoteclass = "275"; else if ($roundedvote==3) $fdvoteclass = "300"; else if ($roundedvote==3.25) $fdvoteclass = "325"; else if ($roundedvote==3.5) $fdvoteclass = "350"; else if ($roundedvote==3.75) $fdvoteclass = "375"; else if ($roundedvote==4) $fdvoteclass = "400"; else if ($roundedvote==4.25) $fdvoteclass = "425"; else if ($roundedvote==4.5) $fdvoteclass = "450"; else if ($roundedvote==4.75) $fdvoteclass = "475"; else if ($roundedvote==5) $fdvoteclass = "500"; if (!is_guest()){ //ripulisco il file di log dai dati vecchi fd_check_ip_log_data(); //MOSTRO LE STELLINE if (fd_user_can_vote($filename)){ //CONTO I FORM GI STAMPATI global $fdcountform; if (!isset($fdcountform)){ // echo "non settata
    "; $GLOBALS['fdcountform'] = 0; } else $fdcountform++; ?>
    •  
    •  
    •  
    •  
    •  
      ">
    •  
    •  
    •  
    •  
    •  
    5) return 5; } ?>flatnuke-2.7.2/download/include/fdurl.php0000755000175000017500000003034010767742376020006 0ustar simonesimone
    "._FDFILENOTSELECT; echo "

    << "._FDBACK."

    "; fd_die("File to upload not selected. FDadmin:".__LINE__); } //controllo che l'estensione del file sia permessa $info = array(); $info = pathinfo($fdurl); if (!isset($info['extension'])) $info['extension'] =" "; if (eregi("php",$info['extension'])) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $extensions_array=array(); $extensions_array = split(",",$extensions); if (!in_array($info['extension'],$extensions_array)) { echo "

    "._NOTVALIDEXT; echo "

    << "._FDBACK."

    "; fd_die("Invalid extension! FDurl:".__LINE__); } //creo il nome del file $file = basename($fdurl); $file = eregi_replace("\?.*","",$file); //controllo che nella sezione non ci sia gi un file con lo stesso nome if (file_exists("$path/$file")){ echo "

    "._FDUPLOADEXISTS."
    "; echo "
    << "._FDBACK."

    "; return; } //creo il file vuoto di supporto // $filetmp = fopen("$path/$file","w"); fnwrite("$path/$file","DO NOT REMOVE THIS FILE!","w"); // fclose($filetmp); $mod= ""; $mod = getparam("mod",PAR_GET,SAN_FLAT); if (trim($mod)!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if(fd_is_admin()){ if ($showinblocks!="true") $showinblocks="false"; $data= array(); $data['name'] = $filename; $data['desc'] = trim($description); $data['version'] = $version; $data['userlabel'] = $userlabel; $data['uservalue'] = $uservalue; $data['md5'] = $md5; $data['sha1'] = $sha1; $data['showinblocks'] = $showinblocks; $data['level'] = $filelevel; $data['uploadedby'] = get_username(); $data['url'] = $fdurl; $data['time'] = filectime("$path/$file"); save_description("$path/$file",$data); //gestisco l'eventuale firma if ($_FILES['fdsig']['tmp_name']<>"") fd_upload_sig("$path/$file"); if ($_FILES['fdscreenshot']['tmp_name']<>"") fd_upload_screenshot("$path/$file"); }//fine fd_is_admin(?) $path = eregi_replace("http://","",$path); $path = eregi_replace(".*sections/", "", $path); echo "

    "; } /** * Salva le modifiche apportate * * @author Aldo Boccacci * @since 0.8 */ function saveurl(){ if (!fd_is_admin()) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); global $maxFileSize,$extensions,$extsig,$extscreenshot; //controllo tutte le variabili esterne if (!check_var($maxFileSize,"digit")) fd_die("\$maxFileSize (".strip_tags($maxFileSize).") must be a digit! FDadmin: ".__LINE__); if (isset($_POST['filename'])){ $filename = trim(getparam("filename",PAR_POST,SAN_FLAT)); if (!check_var($filename,"text")) $filename=""; } else $filename =""; if (isset($_POST['description'])){ $description = trim(getparam("description",PAR_POST,SAN_NULL)); $description = purge_html_string($description); } else $description =""; if (isset($_POST['version'])){ $version = trim(getparam("version",PAR_POST,SAN_FLAT)); if (!check_var($version,"text")) $version=""; } else $version=""; if (isset($_POST['userlabel'])){ $userlabel = trim(getparam("userlabel",PAR_POST,SAN_FLAT)); if (!check_var($userlabel,"text")) $userlabel=""; } else $userlabel=""; if (isset($_POST['uservalue'])){ $uservalue = trim(getparam("uservalue",PAR_POST,SAN_NULL)); $uservalue = purge_html_string($uservalue); } else $uservalue =""; if (isset($_POST['md5'])){ $md5 = trim(getparam("md5",PAR_POST,SAN_FLAT)); if (!check_var($md5,"alnum")) $md5=""; } else $md5=""; if (isset($_POST['sha1'])){ $sha1 = trim(getparam("sha1",PAR_POST,SAN_FLAT)); if (!check_var($sha1,"text")) $sha1=""; } else $sha1=""; if (isset($_POST['automd5'])){ $automd5 = trim(getparam("automd5",PAR_POST,SAN_FLAT)); if (!check_var($automd5,"boolean")) $automd5="false"; } else $automd5="false"; if (isset($_POST['autosha1'])){ $autosha1 = trim(getparam("autosha1",PAR_POST,SAN_FLAT)); if (!check_var($autosha1,"boolean")) $autosha1="false"; } else $autosha1="false"; if (isset($_POST['showinblocks'])){ $showinblocks = trim(getparam("showinblocks",PAR_POST,SAN_FLAT)); if (!check_var($showinblocks,"boolean")) $showinblocks="true"; } else $showinblocks="false"; if (isset($_POST['enablerating'])){ $enablerating = trim(getparam("enablerating",PAR_POST,SAN_FLAT)); if (!check_var($enablerating,"boolean")) $enablerating="$defaultvoteon"; if ($enablerating=="on") $enablerating="1"; } else $enablerating="0"; if (isset($_POST['fdfilelevel'])){ $filelevel = trim(getparam("fdfilelevel",PAR_POST,SAN_FLAT)); if (!check_var($filelevel,"digit") and $filelevel!="-1") $filelevel="-1"; } else $filelevel ="-1"; if (isset($_POST['fdfile'])){ $fdfile = trim(getparam("fdfile",PAR_POST,SAN_FLAT)); if (!check_path($fdfile,"sections/","false")) fd_die("fdfile param (".strip_tags($fdfile).") is not valid! FDurl: ".__LINE__); } else fd_die("fdfile param no set! FDurl: ".__LINE__); if (isset($_POST['fdurl'])){ $fdurl = trim(getparam("fdurl",PAR_POST,SAN_FLAT)); if (!check_var($fdurl,"text")) fd_die("fdurl param (".strip_tags($fdurl).") is not valid! FDurl: ".__LINE__); } else fd_die("fdurl param not set! FDurl: ".__LINE__); if (isset($_POST['path'])){ $path = trim(getparam("path",PAR_POST,SAN_FLAT)); if (!check_path($path,"sections/","false")) fd_die("path param (".strip_tags($path).") is not valid! FDurl: ".__LINE__); } else fd_die("path param not set! FDurl: ".__LINE__); //devo essere in none_Fdplus $mod= ""; $mod = getparam("mod",PAR_GET,SAN_FLAT); if (trim($mod)!="none_Fdplus") fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $olddescription = array(); $olddescription = load_description($fdfile); //se cambio l'url adatto anche i file associati if ($olddescription['url']!=$fdurl){ $filepathok = $path."/".basename(eregi_replace("\?.*","",$fdurl)); rename($fdfile,$filepathok); rename($fdfile.".description",$filepathok.".description"); if (file_exists("$fdfile.$extsig")){ rename("$fdfile.$extsig","$filepathok.$extsig"); } if (file_exists("$fdfile.$extscreenshot")){ rename("$fdfile.$extscreenshot","$filepathok.$extscreenshot"); } } else { $filepathok = $fdfile; } //aggiusto gli "a capo": solo se non attivo fckeditor if (!file_exists("include/plugins/editors/FCKeditor/fckeditor.php")){ $description =str_replace("\n", "
    ", $description); } else if (!eregi("gecko",$_SERVER['HTTP_USER_AGENT']) and !eregi("msie",$_SERVER['HTTP_USER_AGENT'])){ $description =str_replace("\n", "
    ", $description); } $data= array(); $data['name'] = $filename; $data['desc'] = trim($description); $data['version'] = $version; $data['userlabel'] = $userlabel; $data['uservalue'] = $uservalue; $data['md5'] = $md5; $data['sha1'] = $sha1; $data['hits'] = $olddescription['hits']; $data['hide'] = $olddescription['hide']; $data['showinblocks'] = $showinblocks; $data['enablerating'] = $enablerating; $data['level'] = $filelevel; $data['uploadedby'] = $olddescription['uploadedby']; $data['url'] = $fdurl; if ($olddescription['url']!=$fdurl){ $data['time'] = filectime($filepathok); } else $data['time'] = $olddescription['time']; //MODIFICA PER VOTO $data['totalvote'] = trim($olddescription['totalvote']); $data['totalscore'] = trim($olddescription['totalscore']); save_description($filepathok, $data); insert_in_max_download($filepathok,get_xml_element("fd:hits",get_file($filepathok.".description"))); fdlogf("$filepathok edited by ".get_username()); //permetti di tornare indietro. echo "

    "._FDEDITDONE."

    "; $path = dirname($fdfile); $path = eregi_replace(".*sections/", "", $path); echo ""._FDRETURN."
    "; if ($_FILES['fdsig']['tmp_name']<>""){ fd_upload_sig($fdfile,"edit"); } else { //do nothing } if ($_FILES['fdscreenshot']['tmp_name']<>""){ fd_upload_screenshot($fdfile,"edit"); } else { //do nothing } } ?>flatnuke-2.7.2/download/include/fdfunctions.php0000755000175000017500000015065711177637544021226 0ustar simonesimone array (), 'a' => array ('href' => array (), 'title' => array (), 'rel' => array (), 'rev' => array (), 'name' => array ()), 'abbr' => array ('title' => array ()), 'acronym' => array ('title' => array ()), 'b' => array (), 'big' => array (), 'blockquote' => array ('cite' => array ()), 'br' => array (), 'button' => array ('disabled' => array (), 'name' => array (), 'type' => array (), 'value' => array ()), 'caption' => array ('align' => array ()), 'code' => array (), 'col' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'span' => array (), 'valign' => array (), 'width' => array ()), 'del' => array ('datetime' => array ()), 'dd' => array (), 'div' => array ('align' => array ()), 'dl' => array (), 'dt' => array (), 'em' => array (), 'fieldset' => array (), 'font' => array ('color' => array (), 'face' => array (), 'size' => array ()), 'form' => array ('action' => array (), 'accept' => array (), 'accept-charset' => array (), 'enctype' => array (), 'method' => array (), 'name' => array (), 'target' => array ()), 'h1' => array ('align' => array ()), 'h2' => array ('align' => array ()), 'h3' => array ('align' => array ()), 'h4' => array ('align' => array ()), 'h5' => array ('align' => array ()), 'h6' => array ('align' => array ()), 'hr' => array ('align' => array (), 'noshade' => array (), 'size' => array (), 'width' => array ()), 'i' => array (), 'img' => array ('alt' => array (), 'align' => array (), 'border' => array (), 'height' => array (), 'hspace' => array (), 'longdesc' => array (), 'vspace' => array (), 'src' => array (), 'width' => array ()), 'ins' => array ('datetime' => array (), 'cite' => array ()), 'kbd' => array (), 'label' => array ('for' => array ()), 'legend' => array ('align' => array ()), 'li' => array (), 'p' => array ('align' => array ()), 'pre' => array ('width' => array ()), 'q' => array ('cite' => array ()), 's' => array (), 'strike' => array (), 'strong' => array (), 'sub' => array (), 'sup' => array (), 'table' => array ('align' => array (), 'bgcolor' => array (), 'border' => array (), 'cellpadding' => array (), 'cellspacing' => array (), 'rules' => array (), 'summary' => array (), 'width' => array ()), 'tbody' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()), 'td' => array ('abbr' => array (), 'align' => array (), 'axis' => array (), 'bgcolor' => array (), 'char' => array (), 'charoff' => array (), 'colspan' => array (), 'headers' => array (), 'height' => array (), 'nowrap' => array (), 'rowspan' => array (), 'scope' => array (), 'valign' => array (), 'width' => array ()), 'textarea' => array ('cols' => array (), 'rows' => array (), 'disabled' => array (), 'name' => array (), 'readonly' => array ()), 'tfoot' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()), 'th' => array ('abbr' => array (), 'align' => array (), 'axis' => array (), 'bgcolor' => array (), 'char' => array (), 'charoff' => array (), 'colspan' => array (), 'headers' => array (), 'height' => array (), 'nowrap' => array (), 'rowspan' => array (), 'scope' => array (), 'valign' => array (), 'width' => array ()), 'thead' => array ('align' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()), 'title' => array (), 'tr' => array ('align' => array (), 'bgcolor' => array (), 'char' => array (), 'charoff' => array (), 'valign' => array ()), 'tt' => array (), 'u' => array (), 'ul' => array (), 'ol' => array (), 'var' => array () ); return kses(stripslashes($string), $allowed); } else return $string; } /** * Restituisce TRUE se la sezione passata come parametro gestita dal metodo fd_view_section() * Attenzione: non la ritengo affidabile al 100%. Potrebbero essere segnalate sezioni * che contengono il codice richiesto come semplice testo, e non come codice eseguibile. * @param string $sect la sezione da verificare * @return TRUE se la sezione passata come parametro gestita dal metodo fd_view_section, FALSE * in caso contrario * @author Aldo Boccacci * @since 0.7 */ function is_fd_sect($sect){ if(!fd_check_path($sect,"sections/","false")) { fdlogf("the sect name \"$sect\" is not valid! FDfunctions: ".__LINE__); return FALSE; // fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); } if (file_exists($sect."/downloadsection")) return TRUE; if (file_exists($sect."/section.php")){ $text=""; $text=get_file($sect."/section.php"); if (eregi("\<\?.*fd_view_section().*\?\>",$text)){ return TRUE; } } return FALSE; } /** * Buona parte del codice presente in questo metodo (praticamente tutto) * proviene dal progetto autoindex * @param string $ext l'estensione del file di cui cercare l'icona * @param string $icon_style indica quale set di icone utilizzare */ function getIcon($ext,$icon_style) { //find the appropriate icon depending on the extension (returns a link to the image file) if (!check_var(trim($ext),"alnum")) return; if (!check_var(trim($icon_style),"alnum")) return; if ($icon_style == '') { return ''; } if ($ext == '') { $icon = 'generic'; } else { $icon = 'unknown'; static $icon_types = array( 'binary' => array('bat', 'bin', 'com', 'exe', 'msi', 'msp', 'pif', 'pyd', 'scr'), 'binhex' => array('hqx'), 'cd' => array('bwi', 'bws', 'bwt', 'ccd', 'cdi', 'cue', 'img', 'iso', 'mdf', 'mds', 'nrg', 'nri', 'sub', 'vcd'), 'comp' => array('cfg', 'conf', 'inf', 'ini', 'log', 'nfo', 'reg'), 'compressed' => array('7z', 'a', 'ace', 'ain', 'alz', 'amg', 'arc', 'ari', 'arj', 'bh', 'bz', 'bz2', 'cab', 'deb', 'dz', 'gz', 'io', 'ish', 'lha', 'lzh', 'lzs', 'lzw', 'lzx', 'msx', 'pak', 'rar', 'rpm', 'sar', 'sea', 'sit', 'taz', 'tbz', 'tbz2', 'tgz', 'tz', 'tzb', 'uc2', 'xxe', 'yz', 'z', 'zip', 'zoo'), 'dll' => array('386', 'db', 'dll', 'ocx', 'sdb', 'vxd'), 'doc' => array('abw', 'ans', 'chm', 'cwk', 'dif', 'doc', 'dot', 'mcw', 'msw', 'rtf', 'sdw', 'sxw', 'vor', 'wk4', 'wkb', 'wpd', 'wps', 'wpw', 'wri', 'wsd', 'odt','ott'), 'image' => array('adc', 'art', 'bmp', 'dib', 'gif', 'ico', 'jfif', 'jif', 'jp2', 'jpc', 'jpe', 'jpeg', 'jpg', 'jpx', 'mng', 'pcx', 'png', 'psd', 'psp', 'swc', 'sxd', 'tga', 'tif', 'tiff', 'wmf', 'wpg', 'xcf', 'xif', 'yuv','odg','otg'), 'java' => array('class', 'jar', 'jav', 'java', 'jtk'), 'js' => array('ebs', 'js', 'jse', 'vbe', 'vbs', 'wsc', 'wsf', 'wsh'), 'key' => array('aex', 'asc', 'gpg', 'key', 'pgp', 'ppk'), 'mov' => array('amc', 'dv', 'm4v', 'mac', 'mov', 'mp4v', 'mpg4', 'pct', 'pic', 'pict', 'pnt', 'pntg', 'qpx', 'qt', 'qti', 'qtif', 'qtl', 'qtp', 'qts', 'qtx'), 'movie' => array('asf', 'asx', 'avi', 'div', 'divx', 'm1v', 'm2v', 'mkv', 'mp2v', 'mpa', 'mpe', 'mpeg', 'mpg', 'mps', 'mpv', 'mpv2', 'ogm', 'ram', 'rmvb', 'rnx', 'rp', 'rv', 'vivo', 'vob', 'wmv', 'xvid'), 'pdf' => array('edn', 'fdf', 'pdf', 'pdp', 'pdx'), 'php' => array('inc', 'php', 'php3', 'php4', 'php5', 'phps', 'phtml'), 'ppt' => array('emf', 'pot', 'ppa', 'pps', 'ppt', 'shw', 'sxi','odp', 'otp'), 'ps' => array('ps'), 'sound' => array('aac', 'ac3', 'aif', 'aifc', 'aiff', 'ape', 'apl', 'au', 'ay', 'bonk', 'cda', 'cdda', 'cpc', 'fla', 'flac', 'gbs', 'gym', 'hes', 'iff', 'it', 'itz', 'kar', 'kss', 'la', 'lpac', 'lqt', 'm4a', 'm4p', 'mdz', 'mid', 'midi', 'mka', 'mo3', 'mod', 'mp+', 'mp1', 'mp2', 'mp3', 'mp4', 'mpc', 'mpga', 'mpm', 'mpp', 'nsf', 'ofr', 'ogg', 'pac', 'pce', 'pcm', 'psf', 'psf2', 'ra', 'rm', 'rmi', 'rmjb', 'rmm', 'sb', 'shn', 'sid', 'snd', 'spc', 'spx', 'svx', 'tfm', 'tfmx', 'voc', 'vox', 'vqf', 'wav', 'wave', 'wma', 'wv', 'wvx', 'xa', 'xm', 'xmz'), 'tar' => array('tar'), 'text' => array('c', 'cc', 'cp', 'cpp', 'cxx', 'diff', 'h', 'hpp', 'hxx', 'm3u', 'md5', 'patch', 'pls', 'py', 'sfv', 'sh', 'txt'), 'uu' => array('uu', 'uud', 'uue'), 'web' => array('asa', 'asp', 'aspx', 'cfm', 'cgi', 'css', 'dhtml', 'dtd', 'htc', 'htm', 'html', 'htt', 'htx', 'jsp', 'lnk', 'mht', 'mhtml', 'perl', 'pl', 'plg', 'rss', 'shtm', 'shtml', 'stm', 'swf', 'tpl', 'xht', 'xhtml', 'xml', 'xsl'), 'xls' => array('csv', 'dbf', 'prn', 'sdc', 'sxc', 'xla', 'xlb', 'xlc', 'xld', 'xlr', 'xls', 'xlt', 'xlw','ods','ots')); foreach ($icon_types as $png_name => $exts) { if (in_array($ext, $exts)) { $icon = $png_name; break; } } } if (file_exists("images/mime/$icon_style/$icon.png")){ return "\"[$ext]\" "; } else return ""; } /** * restituisce il numero di download del file * @param string $file il file di cui restituire il numero di download */ function getDownloads($file){ if (!fd_check_path($file,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $string=""; $string = get_file($file.".description"); if (stristr($string,"")){ return get_xml_element("fd:hits",$string); } $url = ereg_replace("-", "", $file); $url = ereg_replace("_", "", $url); $url = ereg_replace("/", "", $url); // $url = ereg_replace("\\", "", $url); $url = ereg_replace("%", "", $url); $url = ereg_replace(" ", "", $url); //$url = ereg_replace("?", "", $url); //se il file di tracking non esiste restituisco una stringa vuota if (!file_exists("misc/ftrack/".$url)){ return ""; } elseif (file_exists("misc/ftrack/".$url)){ $trackfile = fopen("misc/ftrack/".$url,"r"); $count = fgets($trackfile); return $count; } } /** * Contatore dei download * @param string $url il percorso del file di cui effettuare il tracking * @since 0.6 * @uthor Aldo Boccacci */ function track($url){ include_once("config.php"); include_once("shared.php"); //I files gestiti devono essere inseriti in sections/ //non posso salire if (!fd_check_path($url,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //deve esistere anche il file .description if (!file_exists($url.".description")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //il contatore $track_count = 0; $track_count = getDownloads($url); if(fd_is_admin()){ //in questo caso mostro unicamente il numero di visite della pagina senza //incrementare il contatore. //Questo per non falsare i risultati del numero di visite inserendo anche quelle dell'admin. } else { //se l'utente non loggato come admin incremento il contatore $track_count++; } insert_in_max_download($url,$track_count); //inserisco anche nel file di descrizione // $descstring = get_file($url_orig.".description"); //SISTEMA!!! if ($track_count=="") $track_count=0; $description=array(); $description = load_description($url); $description['hits'] = $track_count; save_description($url, $description); //e finalmente scarico il file $url_orig = ereg_replace("http://", "", $url_orig); // global $siteurl; //echo "$siteurl//$url_orig"; //gestisco eventuali file remoti if (isset($description['url']) and trim($description['url'])!="") $url = $description['url']; header("Location: $url"); } /** * salva la descrizione nel file relativo. * @param string $file il nome del file nel qule salvare le modifiche * @param string $data['name'] il nome del file * @param string $data['desc'] la descrizione del file * @param string $data['version'] la versione del file * @param string $data['md5'] md5 del file * @param string $data['sha1'] sha1 del file * @param string $data['hits'] il numero di downloads * @param string $data['hide'] indica se nascondere il file ai visitatori * @param string $data['level'] il livello del file * @param boolean $data['showinblocks'] true se il file deve essere mostrato nei blocchi * @param string $data['uploadedby'] l'utente che ha uploadato il file * @param string $data['time'] il timestamp del momento in cui il file stato caricato * @param string $data['url'] url di file remoto * @param string $data['userlabel'] l'etichetta personalizzabile dall'utente * @param string $data['uservalue'] il valore associato all'etichetta personalizzabile dall'utente * @param string $data['totalscore'] il valore associato all'etichetta personalizzabile dall'utente * @param string $data['totalvote'] l'etichetta personalizzabile dall'utente * @param string $data['enablerating'] indica se abilitare o meno il voto per il file specificato * @since 0.6 * @author Aldo Boccacci */ function save_description($file, $data=array()){ $file = getparam($file,PAR_NULL,SAN_FLAT); if (!check_path($file,"sections/","false")) fd_die("\$file ".strip_tags($file)." is not valid! FDfunctions: ".__LINE__); global $defaultvoteon; //check data //name if (isset($data['name'])){ $name = getparam($data['name'],PAR_NULL,SAN_FLAT); if (!check_var($name,"text")) { $name = ""; fdlogf("\$name (".strip_tags($name).") is not valid! FDfunctions: ".__LINE__); } } else { $name = ""; } //desc if (isset($data['desc'])){ $desc = getparam($data['desc'],PAR_NULL,SAN_FLAT); $desc = purge_html_string($desc); } else { $desc = ""; } //version if (isset($data['version'])){ $version = getparam($data['version'],PAR_NULL,SAN_FLAT); if (!check_var($version,"text")) { $version = ""; fdlogf("\$version (".strip_tags($version).") is not valid! FDfunctions: ".__LINE__); } } else { $version = ""; } //md5 if (isset($data['md5'])){ $md5 = getparam($data['md5'],PAR_NULL,SAN_FLAT); if (!check_var($md5,"alnum")) { $md5 = ""; fdlogf("\$md5 (".strip_tags($md5).") is not valid! FDfunctions: ".__LINE__); } } else { $md5 = ""; } //sha1 if (isset($data['sha1'])){ $sha1 = getparam($data['sha1'],PAR_NULL,SAN_FLAT); if (!check_var($sha1,"alnum")) { $sha1 = ""; fdlogf("\$sha1 (".strip_tags($sha1).") is not valid! FDfunctions: ".__LINE__); } } else { $sha1 = ""; } //hits if (isset($data['hits'])){ $hits = getparam($data['hits'],PAR_NULL,SAN_FLAT); if (!check_var($hits,"digit") and $hits!="" and $hits!=0) { $hits = "0"; fdlogf("\$hits (".strip_tags($hits).") is not valid! FDfunctions: ".__LINE__); } } else { $hits = "0"; } //hide if (isset($data['hide'])){ $hide = getparam($data['hide'],PAR_NULL,SAN_FLAT); if (!check_var($hide,"boolean")) { $hide = "false"; fdlogf("\$hide (".strip_tags($hide).") is not valid! FDfunctions: ".__LINE__); } } else { $hide = "false"; } //showinblocks if (isset($data['showinblocks'])){ $showinblocks = getparam($data['showinblocks'],PAR_NULL,SAN_FLAT); if (!check_var($showinblocks,"boolean")) { $showinblocks = "true"; fdlogf("\$showinblocks (".strip_tags($showinblocks).") is not valid! FDfunctions: ".__LINE__); } } else { $showinblocks = "true"; } //level if (isset($data['level'])){ $level = getparam($data['level'],PAR_NULL,SAN_FLAT); if ($level=="-1"){ } else if (!check_var($level,"digit") or ($level< -1) or ($level>10)) { $level = "-1"; fdlogf("\$level (".strip_tags($level).") is not valid! FDfunctions: ".__LINE__); } } else { $level = "-1"; } //uploadedby if (isset($data['uploadedby'])){ $uploadedby = getparam($data['uploadedby'],PAR_NULL,SAN_FLAT); if (!check_var($uploadedby,"alnum")) { $uploadedby = ""; fdlogf("\$uploadedby (".strip_tags($uploadedby).") is not valid! FDfunctions: ".__LINE__); } } else { $uploadedby = ""; } //time if (isset($data['time'])){ $time = getparam($data['time'],PAR_NULL,SAN_FLAT); if (!check_var($time,"digit")) { $time = filectime($file); fdlogf("\$time (".strip_tags($time).") is not valid! FDfunctions: ".__LINE__); } } else { $time = ""; } //CONTROLLARE MEGLIO!!! //url if (isset($data['url'])){ $url = getparam($data['url'],PAR_NULL,SAN_FLAT); if (!check_var($time,"text")) { $url = ""; fdlogf("\$url (".strip_tags($url).") is not valid! FDfunctions: ".__LINE__); } } else { $url = ""; } //userlabel if (isset($data['userlabel'])){ $userlabel = strip_tags(getparam($data['userlabel'],PAR_NULL,SAN_FLAT)); if (!check_var($userlabel,"text")) { $userlabel = ""; fdlogf("\$userlabel (".strip_tags($userlabel).") is not valid! FDfunctions: ".__LINE__); } } else { $userlabel = ""; } //uservalue if (isset($data['uservalue'])){ $uservalue = getparam($data['uservalue'],PAR_NULL,SAN_FLAT); $uservalue = purge_html_string($uservalue); } else { $uservalue = ""; } //totalscore if (isset($data['totalscore'])){ $totalscore = strip_tags(getparam($data['totalscore'],PAR_NULL,SAN_FLAT)); if (!check_var($totalscore,"digit")) { $totalscore = "0"; fdlogf("\$totalscore (".strip_tags($totalscore).") is not valid! FDfunctions: ".__LINE__); } } else { $totalscore = "0"; } //totalvote if (isset($data['totalvote'])){ $totalvote = strip_tags(getparam($data['totalvote'],PAR_NULL,SAN_FLAT)); if (!check_var($totalvote,"digit")) { $totalvote = "0"; fdlogf("\$totalvote (".strip_tags($totalvote).") is not valid! FDfunctions: ".__LINE__); } } else { $totalvote = "0"; } //enablerating if (isset($data['enablerating'])){ $enablerating = getparam($data['enablerating'],PAR_NULL,SAN_FLAT); if (!check_var($enablerating,"boolean")) { $enablerating = "$defaultvoteon"; fdlogf("\$enablerating (".strip_tags($enablerating).") is not valid! FDfunctions: ".__LINE__); } } else { $enablerating = "$defaultvoteon"; } //controlli di sicurezza if (!fd_check_path($file,"sections/","false")) fd_die("\$file ".strip_tags($file)." is not valid! FDfunctions: ".__LINE__); // if (!file_exists($file)) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!fd_check_path($file,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $string=" ".purge_string(strip_tags($name))." ".purge_string(purge_html_string($desc))." ".purge_string(trim(strip_tags($version)))." ".purge_string(trim(strip_tags($md5)))." ".purge_string(trim(strip_tags($sha1)))." ".purge_string(trim(strip_tags($hits)))." ".purge_string(trim(strip_tags($hide)))." ".purge_string(trim(strip_tags($showinblocks)))." ".purge_string(trim(strip_tags($level)))." ".purge_string(trim(strip_tags($uploadedby)))." ".purge_string(trim(strip_tags($time)))." ".purge_string(trim(strip_tags($url)))." ".purge_string(trim(strip_tags($enablerating)))." ".purge_string(trim(strip_tags($userlabel)))." ".purge_string(trim(purge_html_string($uservalue)))." ".purge_string(trim(strip_tags($totalvote)))." ".purge_string(trim(strip_tags($totalscore)))." "; if (eregi("\<\?",$string) or eregi("\?\>",$string)) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); fnwrite("$file.description","\n".$string,"w",array("nonull")); } /** * Aggiorna la descrizione del file */ function update_description(){ } /** * Carica la descrizione del file dal corrisptettivo .description * Lo script in grado di riconoscere se il file contenente la descrizione * nel vecchio formato con i separatori o nel nuovo formato xml. * @param string $file il file da cui daricare la descrizione * @return un array contenente la descrizione del file. La struttura dell'array : * array['name'] = il nome del file * array['desc'] = la descrizione * array['version'] = la versione * array['md5'] = la somma md5 * array['sha1'] = la somma sha1 * array['hits'] = il numero di download del file * array['hide'] = true se il file nascosto, false se visibile * array['showinblocks'] = true se il file deve essere mostrato nei blocchi di statistica, false in caso contrario * array['level'] = il livello del file: da -1 (visibile a tutti) a 10 * array['uploadedby'] = l'utente che ha caricato il file * array['time'] il timestamp del momento in cui il file stato caricato * array['enablerating'] = attiva il voto del file * array['url'] url di file remoto * array['userlabel'] l'etichetta personalizzabile dall'utente * array['uservalue'] il valore associato all'etichetta personalizzabile dall'utente * @since 0.6 * @author Aldo Boccacci */ function load_description($file){ include_once("shared.php"); if (!fd_check_path($file,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (!eregi("^sections",$file)) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); global $defaultvoteon; $descriptions=""; $descriptions = get_file($file.".description"); // echo $descriptions; $description=array(); if (eregi("^<\?xml version=\'1.0\'\?\>",$descriptions)){ // echo "nuovo formato"; $description['name'] = get_xml_element("fd:name",$descriptions); $description['desc'] = get_xml_element("fd:desc",$descriptions); $description['version'] = get_xml_element("fd:version",$descriptions); $description['md5'] = get_xml_element("fd:md5",$descriptions); $description['hits'] = str_replace("
    ","",get_xml_element("fd:hits",$descriptions)); $description['hide'] = get_xml_element("fd:hide",$descriptions); //non detto che sia presente il campo sha1 if (eregi("\.*\",$descriptions)){ $description['sha1'] = get_xml_element("fd:sha1",$descriptions); } else $description['sha1'] =""; //non detto che sia presente il campo level if (eregi("\.*\",$descriptions)){ $description['level'] = get_xml_element("fd:level",$descriptions); } else $description['level'] ="-1"; //non detto che sia presente il campo showinblocks if (eregi("\.*\",$descriptions)){ if (eregi("false|true",get_xml_element("fd:showinblocks",$descriptions))){ $description['showinblocks'] = get_xml_element("fd:showinblocks",$descriptions); } else $description['showinblocks'] ="true"; } else $description['showinblocks'] ="true"; //non detto che sia presente il campo uploadedby if (eregi("\.*\",$descriptions)){ $description['uploadedby'] = get_xml_element("fd:uploadedby",$descriptions); } else $description['uploadedby'] = ""; //non detto che sia presente il campo time if (eregi("\.*\",$descriptions)){ $description['time'] = get_xml_element("fd:time",$descriptions); } else $description['time'] = filectime($file); //non detto che sia presente il campo url if (eregi("\.*\",$descriptions)){ $description['url'] = get_xml_element("fd:url",$descriptions); } else $description['url'] = ""; //non detto che sia presente il campo enablerating if (eregi("\.*\",$descriptions)){ if (eregi("1|0",get_xml_element("fd:enablerating",$descriptions))){ $description['enablerating'] = get_xml_element("fd:enablerating",$descriptions); } else $description['enablerating'] ="$defaultvoteon"; } else $description['enablerating'] ="$defaultvoteon"; $userstring = ""; $userstring = get_xml_element("fd:userfield",$descriptions); $description['userlabel'] = get_xml_element("fd:userlabel",$descriptions); $description['uservalue'] = get_xml_element("fd:uservalue",$descriptions); $votestring = ""; $votestring = get_xml_element("fd:vote",$descriptions); $description['totalscore'] = get_xml_element("fd:totalscore",$votestring); if ($description['totalscore']=="") $description['totalscore'] ="0"; $description['totalvote'] = get_xml_element("fd:totalvote",$votestring); if ($description['totalvote']=="") $description['totalvote'] ="0"; } else { // echo "vecchio formato"; // nel vecchio formato $descriptionold = explode("||",$descriptions); $description['name'] = $descriptionold[0]; $description['desc'] = $descriptionold[1]; $description['version'] = $descriptionold[2]; $description['md5'] = ""; $description['sha1'] = ""; $description['hits'] = "0"; $description['hide'] = "false"; $description['level'] = "-1"; $description['showinblocks'] = "true"; $description['uploadedby'] = ""; $description['time'] = "1"; $description['enablerating'] = "$defaultvoteon"; $description['url'] = ""; $description['userlabel'] = ""; $description['uservalue'] = ""; $description['totalscore'] = "0"; $description['totalvote'] = "0"; } return $description; } /** * Purifica la stringa da inserire nel file .description * @param string $text il testo da controllare * @return la stringa purificata pronta da inserire nel file .description * @since 0.6 * @author Aldo Boccacci */ function purge_string($text){ //se la stringa vuota ritorno subito if (trim($text)=="") return ""; //controllo la lunghezza della stringa if (strlen($text)>6000){ echo _FDDESCTOOLONG; echo "
    << "._FDBACK.""; fd_die(); } // if (stristr($text,"<") or stristr($text,">")){ //impedisco l'inserimento di combinazioni che possano creare collisioni con //la struttura del file xml $text = str_replace("","<fd>",$text); $text = str_replace("","</fd>",$text); $text = str_replace("","<fd:name>",$text); $text = str_replace("","</fd:name>",$text); $text = str_replace("","<fd:desc>",$text); $text = str_replace("","</fd:desc>",$text); $text = str_replace("","<fd:version>",$text); $text = str_replace("","</fd:version>",$text); $text = str_replace("","<fd:md5>",$text); $text = str_replace("","</fd:md5>",$text); $text = str_replace("","<fd:sha1>",$text); $text = str_replace("","</fd:sha1>",$text); $text = str_replace("","<fd:hits>",$text); $text = str_replace("","</fd:hits>",$text); $text = str_replace("","<fd:hide>",$text); $text = str_replace("","</fd:hide>",$text); $text = str_replace("","<fd:level>",$text); $text = str_replace("","</fd:level>",$text); $text = str_replace("","<fd:showinblocks>",$text); $text = str_replace("","</fd:showinblocks>",$text); $text = str_replace("","<fd:uploadedby>",$text); $text = str_replace("","</fd:uploadedby>",$text); $text = str_replace("","</script>",$text); $text = str_replace("", "?>", $text); // } //imposto per andare a capo $text = str_replace("\n", "", $text); $text = str_replace("\r", "", $text); //ritorno la stringa purificata return stripslashes($text); } /** * Inserisce il percorso del file e il numero di download nel file contenente * le statistiche di download. * @param string $filepath il path del file da inserire nelle statistiche * @param int $hits in numero di download * @author Aldo Boccacci * @since 0.6 */ function insert_in_max_download($filepath,$hits){ // include("shared.php"); global $max_download_file; if (!fd_check_path($filepath,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if ($hits!= "" and !check_var(trim($hits),"digit")) fd_die(_NONPUOI.__LINE__); if (!fd_check_path($max_download_file,"","true")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); //se non esiste la cartella di archivio la creo if (!file_exists("misc/fdplus/")) mkdir("misc/fdplus/",0777); //idem per il file con le statistiche if (!file_exists("misc/fdplus/".$max_download_file)){ $string= "\n\n"; fnwrite("misc/fdplus/".$max_download_file,$string,"w",array("nonull")); } //carico la vecchia stringa $oldstring=""; $oldfile = fopen("misc/fdplus/$max_download_file","r"); $oldstring = fread($oldfile,filesize("misc/fdplus/$max_download_file")); fclose($oldfile); $array=array(); $array = get_xml_array("fd:file",$oldstring); $newstring = ""; //per ciascun elemento contenuto nel file con le statistiche foreach ($array as $element){ //creo un array avente per indice il path del file //e per valore il numero di downloads $index=""; $value=""; $index = get_xml_element("fd:path",$element); $value = get_xml_element("fd:hits",$element); $stats[$index] = $value; } //inserico il nuovo valore $stats[$filepath] = $hits; //effettuo il sorting dei dati if (count($stats)!=0){ arsort($stats,SORT_NUMERIC); foreach ($stats as $element){ $key = key($stats); next($stats); //controlla esistenza dei file (alcuni potrebbero essere stati spostati) if (!file_exists($key)) continue; //normalizzo il percorso del file //rimuovo i doppi slash $key = str_replace("//","/",$key); $filepath = str_replace("//","/",$filepath); //rimuovo un eventuale slash iniziale $key = eregi_replace("^/","",$key); $filepath = eregi_replace("^/","",$filepath); //sembra che a volte sia presente un \n o un
    (?) $hits = eregi_replace("\n","",$hits); $hits = eregi_replace("
    ","",$hits); if ($key == $filepath){ $newstring .="\n\t $filepath $hits "; } else { $newstring .="\n\t $key $element "; } } } if (!stristr($newstring,$filepath)){ // echo "non contenuta"; $newstring .= "\n\t $filepath $hits "; } //per sicurezza if (eregi("\<\?",$newstring) or eregi("\?\>",$newstring)) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $newstring ="\n".$newstring."\n
    "; // global $max_download_file; fnwrite("misc/fdplus/$max_download_file",$newstring,"w",array("nonull")); } /** * Restituisce il livello del file messo in download * @since 0.7 * @author Aldo Boccacci * @return string il livello del file * @param string $filepath il percorso del file di cui restituire il livello */ function get_file_level($filepath){ if (!fd_check_path($filepath,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $desc = load_description($filepath); return $desc['level']; } /** * Controlla il percorso di file che gli viene passato come parametro. * @param string $filename il nome del file * @param string $dirbase il file deve essere all'interno di questa directory o di * una sua sottodirectory * @param string $allow_php se settato a "true" permette che il file abbia estensione .php e simili * @author Aldo Boccacci * @since 0.7 */ function fd_check_path($filename,$dirbase,$allow_php){ // echo $filename; if (stristr($filename,"..")) return FALSE; if (stristr($filename,"%00")) return FALSE; if (stristr($filename,chr(13))) return FALSE; if (stristr($filename,chr(10))) return FALSE; if (stristr($filename,chr(00))) return FALSE; if (stristr($filename,"://")) return FALSE; if (stristr($filename,"?")) return FALSE; if (stristr($filename,"&")) return FALSE; if (stristr($filename,"$")) return FALSE; if (stristr($filename,"[")) return FALSE; if (stristr($filename,"]")) return FALSE; if (stristr($filename,"(")) return FALSE; if (stristr($filename,")")) return FALSE; if (stristr($filename,"<")) return FALSE; if (stristr($filename,">")) return FALSE; // if (stristr($filename,"+")) return FALSE; // if (stristr($filename,"\"")) return FALSE; if ($dirbase!=""){ $dir = ""; $path = $filename; $limit = 0; //controlla / iniziale while (eregi("^/",$path)){ $path = eregi_replace("^/","",$path); if ($limit==5) return FALSE; $limit++; } // $path = eregi_replace("^\.","",$path); if (!eregi("^$dirbase",$path)) return FALSE; if (eregi("^forum",$path)) return FALSE; } if ($allow_php!="true"){ // echo "controllo php"; if (eregi("\.php.$|\.php$",$filename)) return FALSE; } return TRUE; } /** * Restituisce un array con l'elenco delle sezioni gestite dal metodo fd_view_section * @param string $basedir la dir da cui effettuare le ricerche * @param string $list_archivedir se settato a true include nei risultati anche le dir di archivio * @return un array contenente i percorsi delle sezioni gestite dal metodo fd_view_section * @author Aldo Boccacci * @since 0.7 */ function list_fd_sections($basedir,$list_archivedirs=FALSE){ if(!fd_check_path($basedir,"","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (eregi("^FALSE$|^TRUE$",$list_archivedirs)) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); $dirlist = array(); include_once("include/filesystem/DeepDir.php"); $files = NULL; $files = new DeepDir(); $files ->setDir($basedir); $files ->load(); if (!count($files->dirs)==0){ $dir =""; foreach($files->dirs as $dir){ if (file_exists($dir."/section.php")) { if (is_fd_sect(eregi_replace("^\./","",$dir))){ if (eregi("none_archivedir$",$dir) or eregi("none_archivedir./$",$dir)) continue; $dirlist[] = $dir; } } } } return $dirlist; } /** * Funzione per includere automaticamente codice PHP * * Permette di includere tutti i files con estensione .php che sono * presenti all'interno di una cartella del sito. * (esclusi quelli che cominciano con un punto o con none_) * * @author Marco Segato * @author Aldo Boccacci * @since 0.7 * * @param string $path_phpcode directory contenente i files da includere */ function fd_load_php_code($path_phpcode) { $path_phpcode = getparam($path_phpcode, PAR_NULL, SAN_FLAT); if(file_exists($path_phpcode)) { $dir_phpcode = opendir($path_phpcode); $file_phpcode = 0; $array_phpcode = array(); while ($filename_phpcode = readdir($dir_phpcode)) { eregi('[\.]*[[:alpha:]]+$', $filename_phpcode, $extension_phpcode); if(strtolower($extension_phpcode[0])==".php") { if (!eregi("^\.",$filename_phpcode) and !eregi("^none_",$filename_phpcode)) $array_phpcode[$file_phpcode] = $filename_phpcode; $file_phpcode++; } } closedir($dir_phpcode); if(count($array_phpcode)>0) { sort($array_phpcode); } // print_r($array_phpcode); for($i=0; $i1){ return $desc['time']; } else return filectime($file); } /** * */ function fd_user_can_view_file($file){ if (!checK_path($file,"sections/","false")) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if (fd_is_admin()) return TRUE; $myforum = getparam("myforum", PAR_COOKIE, SAN_FLAT); if ($myforum!="" and !is_alphanumeric($myforum)) return FALSE; $desc = array(); $desc = load_description($file); $section = eregi_replace("^sections/","",$file); if (!is_admin() and $desc['hide']=="true") return FALSE; if (getlevel($myforum,"home")<$desc['level']) return FALSE; if (getlevel($myforum,"home")", "\n", $desc); } } else if (!eregi("gecko",$_SERVER['HTTP_USER_AGENT']) and !eregi("msie",$_SERVER['HTTP_USER_AGENT'])){ $desc =str_replace("
    ", "\n", $desc); } //crea interfaccia web if ($action =="edit"){ ?>
    "._FDADDWHERE."$path"; //

    "._FDADDHEADER."

    "; } else if ($action=="userupload"){ echo "
    "._FDADDWHERE."$path
    "; } ?>
    " readonly="readonly">


    "; } else echo ""; if ($action=="addurl") { echo _FDCHOOSEURL."

    "; echo "Url: "; echo ""; } else if ($action=="upload" or $action=="userupload"){ echo ""; } else if ($action =="edit"){ if (!isset($url) or trim($url=="")){ echo ""; } else { echo "Url: "; } } ?>

    ">
    BasePath = "include/plugins/editors/FCKeditor/" ; $oFCKeditor->Value= $desc; $oFCKeditor->Width="100%"; $oFCKeditor->ToolbarSet= "FD"; $oFCKeditor->Create() ; } else echo ""; ?>

     (*)

    (*)

    (*)

    Screenshot


    md5
    > auto
    sha1 > auto



    "; } else echo "
    "; echo _FDSHOWINBLOCKS; ?>
    >


    ">
    flatnuke-2.7.2/download/fdconfig.php0000755000175000017500000000645110753051215017010 0ustar simonesimoneflatnuke-2.7.2/news/0000755000175000017500000000000011177641445013667 5ustar simonesimoneflatnuke-2.7.2/print.php0000644000175000017500000000677511035220244014556 0ustar simonesimone"._NORESULT.""); CloseTable(); return; } $string = get_file("news/$news.xml"); $title = get_xml_element("fn:title",$string); $header = stripslashes(get_xml_element("fn:header",$string)); $body = stripslashes(get_xml_element("fn:body",$string)); echo "

    $title


    "; echo "$header

    $body
    "; echo "
    "; echo "

    "._ARTTR." $sitename - $url
    "; echo _URLREF." $url"."index.php?mod=read&id=$news"; echo "
    "; } else { if($file=="") { if(!file_exists("sections/$mod/section.php") AND !file_exists("sections/$mod/gallery")) { OpenTable(); print("
    "._NORESULT."
    "); CloseTable(); return; } } else { if(!file_exists("sections/$mod/$file")) { OpenTable(); print("
    "._NORESULT."
    "); CloseTable(); return; } } $mod_title = eregi_replace("^([0-9]*)_|(none)_", "", $mod); $mod_title = str_replace("_", " ", $mod_title); echo "

    $mod_title


    " ; if($file=="") { if(file_exists("sections/$mod/section.php")) include("sections/$mod/section.php"); } else include("sections/$mod/$file"); /* Gestisce la galleria con gallery */ if(file_exists("sections/$mod/gallery")) { echo "

    "; include("gallery/gallery.php"); } echo "
    "; echo "

    "._ARTTR." $sitename - $url
    "; echo _URLREF." $url"."index.php?mod=$mod
    "; } ?> flatnuke-2.7.2/TODO0000644000175000017500000000153110767742555013413 0ustar simonesimone ---- FlatNuke-2.7 -------------- - Autenticazione - Supporto per UID relativo a forum - unica directory scrivibile (in testing, ma occorre cambiare la struttura del portale...conviene?) - installer - revisione delle statistiche di visita - nuovo theme engine ---- FlatNuke-3.0 -------------- Si pu saltare a flatnuke-3.0 ed implementare un'unica directory scrivibile con conseguente facilit nello sviluppo di: - user ID - installer (creazione automatica di file e directory con permessi speciali) - ecc. comporta per una sostanziale indipendenza con le precedenti versioni. Occorre creare un mega-script di update. ---- Quando avr MOLTO tempo ---- ---- Probabilmente mai ---------- - traduzioni per altre lingue ---- Se hai apprezzato FlatNuke, mandami una cartolina dalla tua citt: Simone Vellei Via Valtesino, 91 63013 Grottammare (AP) flatnuke-2.7.2/UPGRADE_271_to_2720000644000175000017500000000105011176613102015372 0ustar simonesimoneFLATNUKE SOVRASCRIVI O AGGIUNGI I SEGUENTI FILE/CARTELLE: ------------------------------------------------- functions.php index.php shared.php verify.php blocks/dx/02_Login.php download/fd+.php download/include/*.php download/include/phpfunctions/*.php images/fn_404.png images/fn_denied.png include/autoexec.d/02_maintenance.php include/blocks/login/Language.php include/section/header/print_subsections.php languages/it.php sections/01_Archivio_News/section.php sections/none_Login/section.php themes/flatcry/style.css flatnuke-2.7.2/config.php0000644000175000017500000000627310776734272014706 0ustar simonesimone flatnuke-2.7.2/blocks/0000755000175000017500000000000011177641445014170 5ustar simonesimoneflatnuke-2.7.2/blocks/sx/0000755000175000017500000000000011177641445014622 5ustar simonesimoneflatnuke-2.7.2/blocks/sx/02_Cerca.php0000644000175000017500000000323010550213775016642 0ustar simonesimone
    flatnuke-2.7.2/blocks/sx/03_Statistiche.php0000644000175000017500000000245210467347443020126 0ustar simonesimone * Versione 1.2 * Data 23/02/2004 */ if (eregi("Statistiche.php",$_SERVER['PHP_SELF'])) { Header("Location: ../../index.php"); die(); } if(file_exists("misc/flatstat/totale.php")){ $fd = file ("misc/flatstat/totale.php"); echo "Visite: $fd[0]
    "; echo ""; } ?> flatnuke-2.7.2/blocks/sx/01_Servizi.php0000644000175000017500000000307410467347443017274 0ustar simonesimone"._SEGNEWS."
    "; if (user_can_view_section("none_Search")) echo "» "._CERCA."
    "; if (user_can_view_section("none_Headlines")) echo "» Headlines
    "; if (user_can_view_section("none_Backend")) echo "» Backend
    "; ?>flatnuke-2.7.2/blocks/dx/0000755000175000017500000000000011177641445014603 5ustar simonesimoneflatnuke-2.7.2/blocks/dx/02_Login.php0000644000175000017500000001326611177637544016702 0ustar simonesimone";print_r($proplist);echo ""; //-> TEST closedir($handle); return(count($proplist)); } // Security checks $req = getparam("REQUEST_URI", PAR_SERVER, SAN_FLAT); if(strstr($req,"myforum=")) die(_NONPUOI); // user is not logged if(is_guest()) { ?>




    "; echo "
    "; echo "
    "; } else echo "
    "; // login button ?>

    "; load_php_code("include/blocks/login"); echo ""; ?>$username
    !

    "; print "
    "; // print user level $level = $userdata['level']; if(!file_exists("themes/$theme/images/level_y.gif") OR !file_exists("themes/$theme/images/level_n.gif")) { $level_img_y = "images/useronline/level_y.gif"; $level_img_n = "images/useronline/level_n.gif"; } else { $level_img_y = "themes/$theme/images/level_y.gif"; $level_img_n = "themes/$theme/images/level_n.gif"; } print "
    0
    "; print "
    10
    "; print "
    "._LEVEL." $level
    "; print "
    "; print "
    "; for($i=0; $i<$level; $i++) { print "level"; } for($j=$i; $j<10; $j++) { print "level"; } print "
    "; print "
    "; // administrator panel if(is_admin()) { ?>
    » 
    »  0) { ?>
    »  ()

    "; load_php_code("include/blocks/login"); echo ""; // logout echo ""; } else echo "Cookie mismatch, please delete your cookies!"; ?> flatnuke-2.7.2/blocks/dx/03_Utenti.php0000644000175000017500000003200110522441444017050 0ustar simonesimone"._UO_LOG_FILE_CREATED."
    "; } //verifico i dati gi inseriti nel file di log check_data($logfile); //aggiungo i dati dell'utente collegato add_data($ip, $time,$logfile); $text=""; $text = get_file($logfile); $text = str_replace("\n","",$text); if (ltrim($text=="")) return; $item = array(); $item = split("\n", $text); //print_r($item); //echo $time; foreach ($item as $event){ if (ltrim($event)=="") continue; $data = array(); $data = split("\|", $event); // if (!isset($data[1])) continue; //se il tempo limite non scaduto if ($data[1]> $time-120){ //echo "tempo ok"; //echo "data3= $data[3]"; //se sono un ospite if ($data[3] == -1) $countguest += 1; //se sono un utente registrato else if (0 <= $data[3] and $data[3] < 10) { $countuser += 1; if (ltrim($useronline)==""){ $useronline = $useronline.add_image("usr-user")."$data[2]"; } else $useronline = $useronline."
    ".add_image("usr-user")."$data[2]"; //echo "sono un utente"; } //se sono un amministratore else if ($data[3]==10){ $countadmin += 1; if (ltrim($adminonline)==""){ $adminonline = $adminonline.add_image("usr-admin")."$data[2]"; } else $adminonline = $adminonline."
    ".add_image("usr-admin")."$data[2]"; } } //else echo "tempo scaduto"; } //mostro il tutto echo ""._UO_USERS_ONLINE."
    "; echo add_image("group-admins")."$countadmin "._UO_ADMINISTRATORS."
    "; //se esiste un elenco di amministratori lo mostro if (!ltrim($adminonline)=="") echo "$adminonline
    "; echo add_image("group-users")."$countuser "._UO_USERS."
    "; //se esists un elenco di utenti lo mostro if (!ltrim($useronline)=="") echo "$useronline
    "; echo add_image("group-guests")."$countguest "._UO_GUESTS."
    "; /** * Crea il file di log se non presente * @param string $logfile il percorso del file di log * valori restituiti: * 0 : il file stato creato con successo * 1 : il file esisteva gi * 2 : non sono riuscito a scrivere * @author Aldo Boccacci */ function create_log_file($logfile){ $logfile=getparam($logfile, PAR_NULL, SAN_FLAT); if (!file_exists($logfile)){ echo _UO_LOG_CREATE; if (!is_dir("misc/useronline")) mkdir("misc/useronline", 0777); $file=fopen($logfile,"w"); if (!fputs($file," ")==false){ return 0; } else return 2; fclose($file); } else { return 1; } } /** * Aggiunge i dati dell'utente on-line nel file di log * La struttura del file : * indirizzo ip|time della visita|nome utente|livello * @param string $ip l'indirizzo ip del visitatore * @param string $time restituisce il timestamp del momento della visita * @param string $logfile il percorso del file di log * @author Aldo Boccacci */ function add_data($ip, $time, $logfile) { // Security convertions $ip=getparam($ip, PAR_NULL, SAN_FLAT); $time=getparam($time, PAR_NULL, SAN_FLAT); $logfile=getparam($logfile, PAR_NULL, SAN_FLAT); $getip = getparam("ip",PAR_GET,SAN_FLAT); $getlogfile = getparam("logfile",PAR_GET,SAN_FLAT); if($getip!="" OR $getlogfile!="") { die(_NONPUOI); } $check = ""; $check = get_file($logfile); $check = str_replace("\n","",$check); // echo htmlentities($check); if (stristr($check,"")) die(_NONPUOI); //se l'utente gi stato censito ritorno //Controllo prima l'ip e poi il nome utente (se necessario) if (ereg(encode_ip($ip), $check)){ //se l'indirizzo ip gi stato inserito ma il nome utente diverso //(ovvero se ho pi utenti all'interno di una lan) // Security convertions $myforum = getparam("myforum",PAR_COOKIE,SAN_FLAT); if (ltrim($myforum)!="" and getlevel($myforum,"home")!=-1){ //gestisco gli utenti all'interno della lan //Se il nome utente gi inserito devo ritornare if (ereg($myforum, $check)){ return; } } //se l'indizzo ip stato inserito e non settato il nome utente //posso ritornare senza problemi else return; } if (!file_exists($logfile)) echo ""._UO_LOG_NOT_EXIST.""; $file = fopen($logfile, "a"); // Security convertions $myforum = getparam("myforum",PAR_COOKIE,SAN_FLAT); //controllo i dati per evitare che siano inseriti valori inappropriati if (!ctype_alnum(encode_ip($ip))) return; if (!eregi("^[0-9]+$",$time)) return; //strano a dirsi ma il seguente controllo pu provocare dei crash di apache! // if (!ctype_digit($time)) return; //Non vengono gestiti i nomi utente che contengono caratteri non alfanumerici //In questo caso si compare come semplici guest // opportuno aggiornare i profili utente! if (!is_alphanumeric($myforum)) $myforum=""; $text = encode_ip($ip)."|$time|".$myforum."|".getlevel($myforum,"home")."\n"; //Controllo che non siano presenti i tag di apertura del php if (eregi("\<\?", $text) or eregi("\?\>", $text)) die(_NONPUOI); if (!uo_check_string($text)) die(_NONPUOI); fwrite($file, "\n".$text); fclose($file); check_data($logfile); } /** * Verifica che i dati inseriti nel file di log non siano troppo vecchi e, * se lo sono, provvede a eliminarli ripulendo il file. * @param string $logfile il percorso del file di log * @author Aldo Boccacci */ function check_data($logfile) { // Security convertions $logfile=getparam($logfile, PAR_NULL, SAN_FLAT); $ip = getparam("ip",PAR_GET,SAN_FLAT); $getlogfile = getparam("logfile",PAR_GET,SAN_FLAT); if($ip!="" OR $getlogfile!="") die(_NONPUOI); $newtext = ""; $text = ""; $text = get_file($logfile); $text = str_replace("\n","",$text); // echo htmlentities($text); //se trovo qualcosa che non va nel file di log... if (!uo_check_string($text)) { //... azzero il tutto. $purgefile = fopen($logfile,"w"); fwrite($purgefile,"\n"); fclose($purgefile); $text=""; } // echo $text; if (ltrim($text=="")) return; $item = array(); $item = split("\n", $text); //print_r($item); //echo $time; foreach ($item as $event){ if (ltrim($event)=="") continue; //echo $event."
    "; $textdata = $event; $data=array(); $data = split("\|", $event); //controllo che il time non sia malformato if (!eregi("^[0-9]+$",trim($data[1]))) continue; //se il tempo limite non scaduto if ($data[1]> time()-120){ $newtext = $newtext.$event."\n"; } } //Controllo che non siano presenti i tag di apertura del php if (eregi("\<\?", $newtext) or eregi("\?\>", $newtext)) die(_NONPUOI); if (!uo_check_string($newtext)) die(_NONPUOI); $file = fopen($logfile,"w"); fwrite($file, "\n".$newtext); fclose($file); } /** * Restituisce il codice atto ad inserire l'icona dell'utente (se esiste) * @param string $type il tipo di icona da inserire * @author Aldo Boccacci * @return string la stringa per l'inserimento del'immagine */ function add_image($type){ $type=getparam($type, PAR_NULL, SAN_FLAT); if (!isset($type)) return ""; if (file_exists("images/useronline/$type.gif")){ return "\"".ereg_replace("group-|usr-", "; } else return ""; } /** * Restituisce true se l'utente di livello 10 * (e dunque possiede i privilegi di amministrazione) * @author Aldo Boccacci * @return TRUE se l'utente collegato di livello 10, FALSE in tutti gli altri casi */ function is_admin2(){ // Security convertions $myforum = getparam("myforum",PAR_COOKIE,SAN_FLAT); if($myforum=="") return FALSE; if ((getlevel($myforum,"home"))=="10" and versecid($myforum)) { return TRUE; } else return FALSE; } /** * Codifica l'indirizzo ip con l'algoritmo md5 per evitare che altri utenti lo possano leggere * @author Aldo Boccacci * @param string $ip l'ip da codificare * @return string l'indirizzo ip codificato con l'algoritmo md5 */ function encode_ip($ip){ $ip=getparam($ip, PAR_NULL, SAN_FLAT); return md5($ip); } /** * Imposta la lingua dell'interfaccia. * La traduzione inglese delle stringhe stata presa dal sito di speleoalex * (con suggerimenti di Marco Segato) * La traduzione tedesca stata inviata da bjorn splinter (insites[at]gmail.com) * @param string $lang il codice a due caratteri che identifica la lingua * @since 0.2 * @author Aldo Boccacci */ function uo_set_lang($lang){ $lang=getparam($lang, PAR_NULL, SAN_FLAT); if (!isset($lang)) $lang ="it"; if ($lang=="it"){ define ("_UO_LOG_NOT_EXIST","Attenzione: il file di log non esiste.
    "); define ("_UO_LOG_FILE_CREATED","file di log creato con successo!"); define ("_UO_USERS_ONLINE","Persone on-line:"); define ("_UO_USERS","utenti"); define ("_UO_ADMINISTRATORS","amministratori"); define ("_UO_GUESTS","ospiti"); define ("_UO_FILENOTEXIST","Attenzione!: il file non esiste."); define ("_UO_LOG_CREATE","creo il file di log."); define ("_UO_VIEW_PROFILE","Visualizza il profilo dell'utente"); } else if ($lang=="de"){ define ("_UO_LOG_NOT_EXIST","Achtung: Logfile existiert nicht.
    "); define ("_UO_LOG_FILE_CREATED","Logfile erzeugt!"); define ("_UO_USERS_ONLINE","Personen on-line:  "); define ("_UO_USERS","Angemeldete"); define ("_UO_ADMINISTRATORS","Administratoren"); define ("_UO_GUESTS","Gste"); define ("_UO_FILENOTEXIST","Warnung!: File existiert nicht."); define ("_UO_LOG_CREATE","Schreibe Logfile."); define ("_UO_VIEW_PROFILE","Userprofil ansehen."); } else { define ("_UO_LOG_NOT_EXIST","Attention: log file doesn't exist.
    "); define ("_UO_LOG_FILE_CREATED","log file created!"); //gli spazi servono per evitare di spezzare la linea che mostra il numero di amministratori define ("_UO_USERS_ONLINE","People on-line:     "); define ("_UO_USERS","users"); define ("_UO_ADMINISTRATORS","administrators"); define ("_UO_GUESTS","guests"); define ("_UO_FILENOTEXIST","Warning!: file doesn't exist."); define ("_UO_LOG_CREATE","writing log file."); define ("_UO_VIEW_PROFILE","View user's profile"); } } /** * Controlla la stringa da scrivere sul file di supporto, al fine di impedire l'inserimento * di caratteri non previsti dalla struttura del file. L'approccio di tipo "white-list". * Questa funzione rimuove dalla stringa passata come parametro i caratteri: "-", "|" e "\n" * e restituisce true se la porzione rimanente risponde ai criteri fissati * da is_alphanumeric(). * @param string $string la stringa da controllare * @return boolean TRUE se la stringa risponde ai criteri citati poco sopra, FALSE in caso * contrario * @since 0.2 * @author Aldo Boccacci */ function uo_check_string($string){ $string=getparam($string, PAR_NULL, SAN_FLAT); if (!isset($string)) return FALSE; if (trim($string)=="") return TRUE; if (is_alphanumeric(str_replace("-","",str_replace("|","",str_replace("\n","",$string))))) return TRUE; else return FALSE; } ?> flatnuke-2.7.2/blocks/dx/01_Calendario.php0000644000175000017500000000107510466376771017667 0ustar simonesimoneflatnuke-2.7.2/blocks/dx/04_Sondaggio.php0000644000175000017500000001021610651376206017525 0ustar simonesimone * Website http://www.marcosegato.tk * Versione 2.5 * Data 12/08/2006 */ # previene che blocco sia eseguito direttamente e redirige a index.php if (eregi("Sondaggio.php",$_SERVER['PHP_SELF'])) { Header("Location: ../../index.php"); die(); } include ("sections/none_Sondaggio/config.php"); // Security convertions $myforum = getparam("myforum",PAR_COOKIE,SAN_FLAT); /*---------------------------------------------------------------------------- controllo esistenza files, eventuale creazione e impostazione premessi ------------------------------------------------------------------------------*/ if(!file_exists($mod3)) // directory flatpoll { mkdir($mod3, 0777); } if(!file_exists($sondaggio_file_dati)) // file sondaggio { $file_w = fopen($sondaggio_file_dati, "w+"); //accesso modalit esclusiva $sem = lock($sondaggio_file_dati); fwrite($file_w,"\n\n\tn\n\t"._FP_NUOVOSONDAGGIO."\n\t\n"); for($riga=1; $riga<4; $riga++) fwrite($file_w, "\t\t\n\t\t\t"._FP_OPZIONE."$riga\n\t\t\t$riga\n\t\t\n"); fwrite($file_w,"\t\n\n"); // fine modalit esclusiva unlock($sem); fclose($file_w); //chmod($sondaggio_file_dati, 0777); } if(!file_exists($sondaggio_ip_file)) // file IP { $file_w = fopen($sondaggio_ip_file, "w+"); //accesso modalit esclusiva $sem = lock($sondaggio_file_dati); fwrite($file_w,"\n"); // fine modalit esclusiva unlock($sem); fclose($file_w); //chmod($sondaggio_ip_file, 0777); } /*-------------------------- creazione del blocco ----------------------------*/ $file_xml = get_file($sondaggio_file_dati); // controllo che il sondaggio sia attivo if(get_xml_element("fp:attivo",$file_xml)=="y") { echo "".get_xml_element("fp:domanda",$file_xml).""; // stampa domanda del sondaggio ?>
    ".get_xml_element("fp:testo",$opzione[$n])."
    "; } ?>

    [ | ]
    : | :

    flatnuke-2.7.2/forum/0000755000175000017500000000000011177641445014043 5ustar simonesimoneflatnuke-2.7.2/forum/emoticon/0000755000175000017500000000000011177641445015660 5ustar simonesimoneflatnuke-2.7.2/forum/emoticon/center.png0000644000175000017500000000073310571261061017636 0ustar simonesimonePNG  IHDRVgtIME*^g pHYs oygAMA ajIDATxVN1\ ((' z*.H @Knrp)~`n:eƳk_̐6!Im"!vϯ6HW)Gb||%Tȧx$i>NfJiɿv Di ؎N71~mWkj}I7rY,Ϟ5GO[TVwqMIq$:x4xV#A1bӴ&ys{O .ͥT[zxtzxyOcLa\LN?ۡy<"S{v' 2c4y"eVtB_-\"E>~8_eLeAIENDB`flatnuke-2.7.2/forum/emoticon/07.png0000644000175000017500000000025210542272711016602 0ustar simonesimoneGIF89a EEE! ,WI9jŔ"I"c0@6r +ﱫۮ00P6 F IEy,(i%`'pa6g1܀}g4$;flatnuke-2.7.2/forum/emoticon/help.png0000644000175000017500000000206110600753723017306 0ustar simonesimonePNG  IHDR,Ѣ ,tEXtCreation Timemar 20 mar 2007 20:45:07 +0100YutIME- pHYsiTSgAMA aIDATxX]HSQMՒ4Va_QY$=DD/"ab}IVDEГAP`hr6ɏڝwιv6mƏsLi$3q%%67$~VkBҨaB&`&Bq[-{#M6E0m0VwޠD/8HҐH&kj(Xa~Jˊh(1m`]ʑτFdb9eoZܫ?;qNXXVoE#k>N|T[a~ ¨5dC}Wy4S^aQW]qkoirNT}^;qN>c"d,b8rCx8lw<|Pm_p:?Sܽ}a+97{7LvQL*6M`02ҟ'ӋM%ӼdY=#d>@KSm97fDŽ%]^R|b&T4qĬmq&,<Wbm0[@V|Ѻ& ƥhll.Wz!cK.wN=ŧ"4U^,- ebʞGhÇ.E?y݅sb5WI7ˍTCo4?C^n(IIf60CEmЍ-~{<1'KRps,3G޸xrpt [':と- vHG%LnUEt#E߇حJ>eA`N[loO$ V[ }_ IENDB`flatnuke-2.7.2/forum/emoticon/underline.png0000644000175000017500000000072710571261061020346 0ustar simonesimonePNG  IHDRVgtIME+ pHYs oygAMA afIDATxV;N1GƎPP& 9g۞K *+f$֬'=i<dtI9 Fkr*&ss3R$o;w@I:|jsv$x<#QFc:̘7KRJ"1KIENDB`flatnuke-2.7.2/forum/emoticon/italic.png0000644000175000017500000000075310571261061017625 0ustar simonesimonePNG  IHDRVgtIMEܬ pHYs oygAMA azIDATx͖R@%o,xlH#O᳥p(,Tp $ Iܙ{w,@ EQ1HdassDZa7.rPLȝlY2.W;IR FỌLLzmȠ2^P]:[ nIɀ27>@z{Y0W=t;&s&q 9`]"tEƎ*\.;?I}=xaJs)47I^=Ϫxen+|#KAdž˻Iz6BYݾM}#uNPuIPA:3kq+#76q@_eU-Jjxf@IENDB`flatnuke-2.7.2/forum/emoticon/05.png0000644000175000017500000000053510542272711016604 0ustar simonesimoneGIF89aܱگخ֬ҩΦʢȡƟĞ}|yroli~e|dx`!',zP(Sqi( G$@s40t6EcQlx }8 %`$P!F E" E#E%t$\J&EFD%#"! QIJIA;flatnuke-2.7.2/forum/emoticon/url.png0000644000175000017500000000202710571261061017156 0ustar simonesimonePNG  IHDRVgtIME 72E( pHYs oygAMA aIDATxڵVmOaTV(4{VIV5Y[K_n֘VJ koH>t3e"q5\t x y>|HRJxϡ`}|mXXX@,cZ:ɰR2Z'OūAAVשH Q__:TUU!N319Jx=n5Vo7D+]\\dVk2PSS(A5|c|[i8`Jl6///spxk1[ k*I vNe$ FGG с~X,NgR B)E7rԬbmmUѳyN$!7> Ԭ`bbzFDCC,Sx"MJb%KKKqܿw}Wz[ۜp:bmB'FeJEPT8=EGq| f3B[J9LrpG mضTfq;,W,|_6Rzw>hl$fQ.mDO9S!a:}$2t9J{t&U$M-/-++*))EGsNUSGĖ j$`̐`SN盦08 ;flatnuke-2.7.2/forum/emoticon/09.png0000644000175000017500000000025210542272711016604 0ustar simonesimoneGIF89a EEE! ,WIjՕpCLA'00%&p/*p`C%+fP4OpUł:`kLhբanfX$;flatnuke-2.7.2/forum/emoticon/04.png0000644000175000017500000000026010542272711016576 0ustar simonesimoneGIF89aEEE333!,]IjեRpLA''𦫖qj *pƂJ" `<+kYa<v *~20̰,5;flatnuke-2.7.2/forum/emoticon/yellow.png0000644000175000017500000000077310571261061017675 0ustar simonesimonePNG  IHDRVgtIME * pHYs oygAMA aIDATxڽN0I*u JX:@UYS0"'ctVMJ) >ceC931+h&8r/[J<ϣ}+)r]5(/ԡ[)jX?5~C;`l}8:} JꡪR^v1rp:NvǕ(cǘ\fF:| 2+5:|՞n(54+/*)Р:69FUqP'e-7hE#Y@h!yI4I6B+ |=N@N3{'vN}gk >mV7瓧XO.IENDB`flatnuke-2.7.2/forum/emoticon/mail.png0000644000175000017500000000156510575544746017326 0ustar simonesimonePNG  IHDRVgtIME g pHYs oygAMA aIDATxV?laG`K4hq ibIIDbnRXSc1[:44I1$%ZbRJ Pz/wwC, - ap1O ~3a A(+ !;1IR(#&Squ\,w$HCφ O(oj} b$ d2tMVN Umr|e/:/E*9]{wx^!x/U d6%zAkC헗ozS?HbI0j`nn 8NFٓIEG:C,[.G<$IBtR %)))s FdYH$B mtt|G_dXRVK v;F$M*{;/Q=i=r9 pz[1j`;Sʓ!fڙ_gΔ l&.w=tDk] o Av2 MLLPVCaM;Tr8" 'GӪP(`rr TeぞRO݌t_HI:N1d2W+Ԅt{od+ {oW%- X/)1;k{qIqa!wHVy0le!B0 =u 1PCIIENDB`flatnuke-2.7.2/forum/emoticon/cyan.png0000644000175000017500000000101410571261061017301 0ustar simonesimonePNG  IHDRVgtIME 1ǣ pHYs oygAMA aIDATxڽN0v u LD &4 } CV AE !u$T5wisүu{E1@CQHpxev79%'h'\X,=רG#areԫWJC7Oh8MIg=4dAçGoꆽ}]|b\Υ(a][>#{Ygea&PqRK`e/ثNJѝ VB@)l#m$Y#k\ Жq7(7ko3ޢf[fN.X"#8np=nP x".B8,'5=n *7 h?Q.IENDB`flatnuke-2.7.2/forum/emoticon/sboing.png0000644000175000017500000001111210542272711017632 0ustar simonesimoneGIF89a  ''/034=>##88$$"//#55#776DDGHOOY[GHUV_`deghjknptvklrsST"BB:??C@@GIIRUUYXYbdcm  ! NETSCAPE2.0! >,  ''/034=>##88$$"//#55#776DDGHOOY[GHUV_`deghjknptvklrsST"BB:??C@@GIIRUUYXYbdcm  @pH,Ȥrl:ШtJE:X@hLvtH.Z;i;I"i;G5|6*Fi(56 Fi08%;F2)(7F(i-E18-mE+&4,,$#G9%(&14 I;:&*;6K.=i>'((""#00&**;444>?:?@DEGHJKOPST[]cdkmxyDE9HHHKKPTTSZ[PVV[YY\TTb~   pH,Ȥrl:ШtJZţ9hGdr#ɻ xɕvFd"#,5d!E'd-()-6'));d, D1.8}d:*2D**<1-D &%E*w+'G2)434,)#iX$5!5#I /9n60H  sWVA! >, --4479:;>?56 ?? ....00##%**#--*446==:?@BCLMOPVW[\lnbd mn opvwz{HI.QS&>>@  @pH,Ȥrl:ШtJZj@x+q)xh4i \C :Z//yhC'-4<'q6*+ B<)<:88:;8;<-;B<s#<B!$.&i)'+bB /+0/0*%3 E,7"45 G(0=i901G YTA! >, ..45<=34 >?(((##$00&**;444??:?@ABGHIJOPVXcdfhkmxzDE9KLLLLQPPRWXU[[QVV]YY[WWd  @pH,Ȥrl:ШtJZ BIpG s#ɻqȺ嘠q'-md6Fn4$'1o$iC!'#(o,D1.8=6%*~=:*2D**d5;,  ''/034=>##88$$"//#55#776DDGHOOY[GHUV_`deghjknptvklrsST"BB:??C@@GIIRUUYXYbdcm  @pH,Ȥrl:ШtJE:X@hLvtH.Z;i;I"i;G5|6*Fi(56 Fi08%;F2)(7F(i-E18-mE+&4,,$#G9%(&14 I;:&*;6K.=i,  ()/01278:;))"""./#***//8225::7??=?@CDMNEF TUZ\VW DEZ[^`ghsuxyuv BB:LL877AHHGIIPRSRSS]YYdffn@pH,Ȥrl:Ш@LE:ͷrrnv$!ף]t*Y@j.7mG2f/m)%F, '',,-. 45<< )*11###,,#.../.144344988;DEGHIJDD OQST\]ST `bghjlrswy{}uw ;;AGGGFFMHHRSR_ccgccm@pH,Ȥrl"(%Vlq,15Rjz3 N&.^6AZ-vz=:TG(ZH0s8/<52ZkHbHY9H,=H4*7Z56H:4;2}Y7./19YJ`)"K-b: M),($UB&%  !JA! >, ,-568967 %%/066$$$-.#...22)88:?@EFGHMNDE MMRS^_QQ ^_bclmno nprtwyz{tuFF7BB /t)>D  FA! >, '',,-. 45<< )*11###,,#.../.144344988;DEGHIJDD OQST\]ST `bghjlrswy{}uw ;;AGGGFFMHHRSR_ccgccm@pH,Ȥrl"(%Vlq,15Rjz3 N&.^6AZ-vz=:TG(ZH0s8/<52ZkHbHY9H,=H4*7Z56H:4;2}Y7./19YJ`)"K-b: M),($UB&%  !JA! >,  ()/01278:;))"""./#***//8225::7??=?@CDMNEF TUZ\VW DEZ[^`ghsuxyuv BB:LL877AHHGIIPRSRSS]YYdffn@pH,Ȥrl:Ш@LE:ͷrrnv$!ף]t*Y@j.7mG2f/m)%FwUPݍdOKw#5N>?˟RӺ.y/5t' ͸?T|K&44&,l; u (e x"(܈1F95BXmZ~/י1IENDB`flatnuke-2.7.2/forum/emoticon/green.png0000644000175000017500000000103410571261061017451 0ustar simonesimonePNG  IHDRVgtIME :((& pHYs oygAMA aIDATxڽN0U eedБ+ H04CP7 :E0!"* DBT.4)I'g0']KsQJoK)D8 Ci"(ySLP(WNpV "Y8 QwlۆYe JFS+[Yx8&PC;m=tWZP?ʂ|{@ Rďq<SZhW:ohyFP-@eY|`[E՞*mL핺jYVTfIYOȪTBSpy9@hY@26{ }^}s*bػmwH*:AV;]kCUUO@(J{ښ/Dyݩwo޽cA?/|*ɢ&1O%8YGٿ[9NkXb1IENDB`flatnuke-2.7.2/forum/emoticon/angel.png0000644000175000017500000000025710542763244017455 0ustar simonesimoneGIF89aEEE! ,@\ȵTJ+`! "ˇ A AZ)IG@4:0v@ۆg m JT`hNq';flatnuke-2.7.2/forum/emoticon/evil.png0000644000175000017500000000035410542272711017316 0ustar simonesimoneGIF89aEEE*m!,i @h$*2FC5@NG @ ꚱ- h>h)@T]ᰥ"ij,cIwdGk+:G(F()Z#&(!;flatnuke-2.7.2/forum/emoticon/mad.png0000644000175000017500000000025610542272711017121 0ustar simonesimoneGIF89a EEE! ,[IjեpLA'a'j *`pP9ĞAf-+`W A& ;`mXk\ 0ò&;flatnuke-2.7.2/forum/emoticon/wikipedia.png0000644000175000017500000000140410571261061020320 0ustar simonesimonePNG  IHDRVgtIME xt+ pHYs oygAMA aIDATxVARAtmH""poT"*zMv[ .DhA)H؅.萤 Kz333@ UoET۵ZMTCP(#<; f9:^ӀZhtT]"SMբSo 5y롅;$t!C$RqNt+vđcso2;%h ?/_0[5,߸ԧϐ ra[AKz8#dGQL&E.}z2?bk(nkL&w3\.CN٬̏rxdtlHL( Ld2r50ʉDLHF#|>6߼GTL<_e_?x(&RgT9=urUm=}36ΛPVvH$`0mxY mX`6Y3(,41ͦKAz^@gPTkMVCUDZgA^lx#DaJ;Mz3eD9u {QRZBX >$X@VзWt'(tsKFgm>yIENDB`flatnuke-2.7.2/forum/emoticon/left.png0000644000175000017500000000073010571261061017305 0ustar simonesimonePNG  IHDRVgtIME4u pHYs oygAMA agIDATxŖN0lHl }X>ϖ$P Ī09bE?ߝ@ lDZ $ӹZAiEv/ ( VRxIIJ "%2i)k"|*gg71A' u~uˈMԁA_P!-UOk)d 6GOa|4`䱺MAF|=60 xwz>ws)tvd1X=2uʫw1f`! iwmC]N J~NFTl$"r:6pq<ߕA}L^fZIENDB`flatnuke-2.7.2/forum/emoticon/blue.png0000644000175000017500000000103610571261061017302 0ustar simonesimonePNG  IHDRVgtIME 4 pHYs oygAMA aIDATxڽN0Q eedC_GBNA><Ѕ1Qe XhjB(!n}nIdϗ.J:K)Dm6Gt7!r-T$h'7W1! Pw> gBSym~9Z:sʇZWp 7+(mx9%{ Bv߱e" 5De>#{)&!L׍UvX:Rg/N*mOj٫-$&c.)tBb iǁhkjث=)(XAYI #$/w^{05cԭ^{:HI(O@[qcmP:Bm:> x'ʢ{:/UA# ϗlh_IENDB`flatnuke-2.7.2/forum/emoticon/idea.png0000644000175000017500000000026010542272711017255 0ustar simonesimoneGIF89a EEE! ,]I jUR"pL@g 0R;~C%q2d|>ORԌݶ(¢VhB 3 ̰,p;flatnuke-2.7.2/forum/emoticon/pink.png0000644000175000017500000000102310571261061017310 0ustar simonesimonePNG  IHDRVgtIME W pHYs oygAMA aIDATxڵN0i eeN&H.Z</bb@,C + Q]h&??ScY}wi`ܢ)sdR4>'Ima8G z0: nd`KYx~r<ȳ_kP-jgke1CPNwA>tҿ3g_;4Cy#\<~sE;u~[eDXdhb)1F{ŕ`|rbAIENDB`flatnuke-2.7.2/forum/emoticon/bier.png0000644000175000017500000000433110542272711017277 0ustar simonesimoneGIF89a<(! NETSCAPE2.0! ,<( H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\I@.|M  ϝ;ĩЦGIӘ:m 5*I.UԩU>֗ez'۰izj7{^D{]W@K9]Fvludf/lsgcn=E h˝kw ^-[ѬŽC&'|υ9"ٌ*rp݅[.gIӫ_> ! ,<( H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\Y@. |M ɓ ϝ;ęG$iЗNi2j:Pgԧ^r}Xez*۬ijS.] @^t^ծlmU1ć-lbƋb\Y@cܹY`;O:)U}*er]Y_ݪ[&o}&%n[9⛫7 f2=ōc] ϲӫ_Ϟ}@! ,<( H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\i@.|M S ϝ;)GISN,hiҩTj*3S^jUQesYi z5)U @^c7ӫ_Ͼ{! ,<( H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\y@._ʌM ɓΝ oThSQC$Ӧ4 =* TX\+PRRlVBӦUjvժa%{s]6ZѩQWm]&NlXU n+bňOLss=/fUg)Xo^ZOM]5REj;dco}EBGQrYk|,7qkY Oӫ! ,<( H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\i@.|M S ϝ;)GISN,hiҩTj*3S^jUQesYi z5)U @^c7ӫ_Ͼ{! ,<( H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\Y@. |M ɓ ϝ;ęG$iЗNi2j:Pgԧ^r}Xez*۬ijS.] @^t^ծlmU1ć-lbƋb\Y@cܹY`;O:)U}*er]Y_ݪ[&o}&%n[9⛫7 f2=ōc] ϲӫ_Ϟ}@! ,<( H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\I@.|M  ϝ;ĩЦGIӘ:m 5*I.UԩU>֗ez'۰izj7{^D{]W@K9]Fvludf/lsgcn=E h˝kw ^-[ѬŽC&'|υ9"ٌ*rp݅[.gIӫ_> ;flatnuke-2.7.2/forum/emoticon/ulist.png0000644000175000017500000000104410571261061017512 0ustar simonesimonePNG  IHDRVgtIME, pHYs oygAMA aIDATxVN0>#׮څ 7Y)xL WUF5wIRI)ٹ+E!W)DB}!OmF\!\pRyi$E8w&JhҔ+Zķ(TgD7@*r6a+R\dc(FqrE5utTRT+o8['{qa%3UgCh4gvleOY6#KoӼo`>}5lE>$:LEKjώmPuhu$< *S^3vgeA4.Lf'>udGG#fW]4:_5: >OŒ5=7pG^ OH:|j]v$x<#QFc:ctx3-mb3kA;uyCIENDB`flatnuke-2.7.2/forum/emoticon/olist.png0000644000175000017500000000102510571261061017503 0ustar simonesimonePNG  IHDRVgtIME;I pHYs oygAMA aIDATxVR0G WPO|{* .C8&hMn[-;FyK޷YB0HB$"n(&q} Q "m'Y1QYҵn yߢhKLT(ײW@`dzԯZ-,{WS{CѺ+x)aBQiO=H0fa#dM)s*_K*gOR B=_*yj8?V$8&MQ1ȭًZg 0K{Aw+bpR(y_Dĭ&/ 74ܷB{]bIENDB`flatnuke-2.7.2/forum/emoticon/neutral.png0000644000175000017500000000025310542272711020027 0ustar simonesimoneGIF89a EEE! ,XIjՕpCLA' vpj A88r9ʊ)\ԓbd`a -e&kQ@73,Km;flatnuke-2.7.2/forum/emoticon/justify.png0000644000175000017500000000072510571261061020054 0ustar simonesimonePNG  IHDRVgtIME;!RY pHYs oygAMA adIDATxŖJ1Z Ao7/>϶wO[ JE&6ՆR12. o$0XT|F{PU{~e9}=\A-&Vn"R OAllPob_ϗObe3&W7oiб}%CC_>XXiP;dcg^"A{^igFРҵ=q=|L?1 ! *7!j2A,\:HMj 4h&6rZ;g0S{o@g#↏p r܍8yTQ@xB$>}^f5N(OIENDB`flatnuke-2.7.2/forum/emoticon/red.png0000644000175000017500000000076410571261061017134 0ustar simonesimonePNG  IHDRVgtIME J\ pHYs oygAMA aIDATxڽN@g5ꍓ@ޤ^E§Aޡwp0,֙j] ݔowf].9!]c Y`p󔦩q!89<WZo|Ð//>_A:}'ϵP?(BGSuE;p5j۸3Q<廴3~"~Hzׯ_0?S棁IIhM{q ,PC-|u@ jy1; ?0K f\o|Iu$RIENDB`flatnuke-2.7.2/forum/emoticon/08.png0000644000175000017500000000025410542272711016605 0ustar simonesimoneGIF89a EEE! ,YIjUpCLAgpj k+;vECp4xevE+mAPiN X:o(`e6;flatnuke-2.7.2/forum/emoticon/code.png0000644000175000017500000000105610571261061017267 0ustar simonesimonePNG  IHDRVgtIME #& pHYs oygAMA aIDATxVR0]e;$ph|枊K G @k"vDm8ͼjO^y"<7?n &;A;bh'HՉK !qcg6,Ș(_Y`VmDhmaB7-&Dr"&U|u?$X(X,gb=[]QTQAs|:׫4O$&|c& _T@UU}䋗B_" QֱBx/\T#t|hf8{p$&\J^+GK:_Iy;Ht}ڸ]i+az&K+hbQ{D(uIqNz#u'Qt-: ]vZÝ}v$XjIENDB`flatnuke-2.7.2/forum/emoticon/06.png0000644000175000017500000000025310542272711016602 0ustar simonesimoneGIF89a EEE! ,XIjՕpCLA''vqj ?*pƂ!\ 'pd/N3(^0-U&kQ@7 3,Km;flatnuke-2.7.2/forum/emoticon/01.png0000644000175000017500000000025410542272711016576 0ustar simonesimoneGIF89a EEE! ,YI jե"pIL@gpj)wjʛ pJQl:`J PJ4ZNB oYbe6;flatnuke-2.7.2/forum/emoticon/right.png0000644000175000017500000000073010571261061017470 0ustar simonesimonePNG  IHDRVgtIMEPx= pHYs oygAMA agIDATxVN0="*10O`c|[v&[@E*Pi]hcOzR( G$鷼@$$խcE!v/@n T֚/7R0MLI?6-lXtSrl/[LVRS0e7xNOk)o~goO˭feSه< Th*@#ô0ùigJA`a;g$]*Cuιy?c 1!1ݏ;i!/dJ~Ndx<'SA&NǴC -5`dI7(IENDB`flatnuke-2.7.2/forum/emoticon/rolleyes.png0000644000175000017500000000074510542272711020221 0ustar simonesimoneGIF89a EEE! NETSCAPE2.0! ,^I jUpL@'g𦫆E:%\PtdPA^;( 0=c2yO J>`c`@ia(fX5! , YVؠg! , F嬳Ԧ.!2 , P$-'! ,  "! , Fe+0ZE! , I!2T]U*B)@LMZXYr! , I%[8WA'&1^! , I!8K[BhPH(F;flatnuke-2.7.2/forum/images/0000755000175000017500000000000011177641445015310 5ustar simonesimoneflatnuke-2.7.2/forum/images/avtr20.png0000644000175000017500000001143610266541327017135 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATxy|Uյǿ$f0fAAPPT[OEO R}EDj!)!$Bܛ;&$my9>{k: )%IW3 ͫ>k~Etr;P'B~,^I& ;hߖ]?r8p4o^a~>6l7\ca*-llqH~(ֽ+<=Gq̇ޜK)r-5\(U.q<ؑ~>ˌ_-G;@\O'k.G1#S[iAӋbNu*Jw7?]~/2)JJ !Nj.7 e g ߞ-z?(`‚jm!o/DHRjH7(hs-Ҁ/2c$ݚ(÷5ϵH:'0{g >II§ϵ Fu%XGV F2 o6lM=lTDbUt!+73Odacmmɽi#<@NLNgMi6={Ba htG䣧}S Z:Y\ͪ5VeMXM :^$m[#VvgRK.g?KL\WV}mQkȹSgd-BtR>9DEkyÉk0Bս0*aD$ΆM о>B褔fO5`klϹ 7ayxbjq'bm ?aƵ{zOm\5@87K9ݚ@ՠ6q-xh☍z:}nT?Cz:lׂںzv?Fq @bnh @'G-!|2 Pg \-  <~ԇ[v~;Qs׿ۤqUUu]?j)2L4pgJKKY&D0KϷ̴OS]]ŋaڴidņ-LHK玱P! I5sȣtL.[ w. ƣ :HIw^"x݄ g۟E![v0xx0>>>k[3|L_s&g9, }8%=ױT@1oRb] !rxbik:B垃 >oa=f,3PZ^P*-E[eބ&9! z=.bz쨮|&[!5FOH6tv;P/po`X0 >v?L4>))D*:zw!nG9WHŭK.lܸT/^Vԫ7rkZ( {-qΎ12HIaN_(yy98 +qm1`u4U|ZL  u/yƇ74P˭Nl@JɅ̬|)IR )e#'1 nCfv;uB7n.CQ\rUϣrDYh0>"3.Jc2sW?̪sm>knimΝˈ#>}:ЀX'Er1:!6BRZnE7^;9鹔Ҕ~[5^2LL`{ڰa!8vT֭[dܹst:֯_۶BнS<ٗIHHlIhG  #F/BN8GER:e$/gƶټK=wp /[,1lݺɤyl_SSCJBC7zRض1ʾ|ب&H{L#B< UŒ]Q)|*|I]k4x̘@U;|0_}cd2mHqոo[SrI+s`s]i/q)nX26Ȑxr2YhÆ '`ҥNKJJX^yI H)TUzt!ꕨj#9s,c_W?NK,+RnM%&晠@[+HN }':?S%>U^`Z/r R|#4y C 'nx8$4,&N %tKc~&Kk"EѶҒ eǞT*@x{8r0HijY U5;υs`W]`Mjg3X"̩@; mdznK-Glh2 ( ȖYu?+\1+>:T7l3m_@mx5&]ugpljVd5DZE]Ap<][VllwN<ױ\i*g_rKg:s>;}6;KtJZ5pUTc;OԨS7vwTP\|l3Yp*sI0+V;9pCL4d$#Ю,RUEÞ}po3s{y.,.ф77ԳmΝg~Djk˸wbN`[M.'ݾ$CiK~whQC6nRu])T,k{HP f? _P_߀(R8zl*lTalWMKUecX2w6~跏*ՖDhYcc}/c lIl7MKu6k_L-Zj}׮xaɑ&ĩonڵע>.6hSy-bLSw;it<}G4V t-hq8dj5ݝS |+Oo o6G.hO=:C"U;BH-Ya9$Xp;͒25zvU),*nrw r:UUUE}&#㧓F`uxOU hK >Ο>ZK *vVsg,`_.&) *uu_zSg\ʦe\纯K֕k&@K\U%x9)+ױy,_m޵V|oL#C{y%.]98r7%;}e oNu_UXD۬hLIS^TU͢, m"4r(~,#R5cnyKXl|f̠~IR^QLay{z뭖>?Ŷy{ۧG?b1l[Ϡgw3$6lgxߗՏv/[ۛ՟m{bYEX7gy^L0/|ͪVkõۿDf~'iOS#})ے!33ňݳJ T[˼嫎=tJJ<'Iw_cCڿgyM/$(,{u,DݟaD>F͐}O?}.'wm~6n|H-Ȉa~~~P_Op\[SSW~d,2TV\zeSQQ1~$mz'IENDB`flatnuke-2.7.2/forum/images/avtr17.png0000644000175000017500000001113110266541327017133 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATxyՕ?Wt J҄H@E-f s&1d2INL8Q=QD!hTp ) aSZ{G$~o{}}Ϥ{hTiah`&UYU9HJ-ε_(??"[. pXpNmr ڑs|a\;͘=d]3g~DJ Q!0{$܊J;ҏ_E@e-~YU0I6+Kz0i 2Qzx|,'W ͵b'Wĕй&_&/s+mBtwa`g Wmvȯ"c˥V&K)"Āk*;S+.Y62IJyrwI:x_'z#M3oR˩!%.6WvIo|)zZ YٷSvP3*з59V~w92ಉ%KnrUd `(jv3f,bFG+"xez) jOJkǨ$| !:s،KZb]x{(Yow uGʶ "-v1<ӝOp؛q:w.z .(,&DiV!e*&6#Ou# i[:P O Ɯ^d;*QQHsʥlK\ ־_|QDx(Lf[ZeQVR+';gY^Q#/!EaP>̿s>^%yv.3ހ,}y}=&D=m2''V>_fS>ĉ3) B+iXp=y >iV(33i:Nli+Joyx\t@,yGL2(@"ۭ[w,,gruRMBܕgT !BG&"!N(/R-<ٔbWBϰXdtZLZ=o>E[柜g`oi(DžT:-<!"Ju%xU3^,x~nΰ%}!5;7`RȧƇ[^(vcJ`7lobbr^r]81ud}^D$4Uog՚5a5]&id`b-@Mҝ9 i YJ)-)76B(A3>@RUndB8DdPf Du73G9 RA[*;?MSS>O3Y#ӎ bLmOF3k덒4oܺ^ RXZzv*b܍##Lr+f~:r0{ #ӽ)54u.>/8DCK`)V_Y)ĦAm>="~_fzAՐ56idX5aKV{!5c(hH|+#*yBHM1c<ԵƁ3l,MnjFQ8T[ j‘M[:jBF~o{RBQؾ{/]{g`\ =%ѧ Z0cFWb:ɘ9;… YpawlM{p1zoAL u /Džb@牢7cHaiȀPG<ks̕Ə͖?p}ǎQQRq2_Qh:@Hf`$8֛FϷ])^//._'69Fհu dž3z䰄\In D7vITgN"FIa»5s~P֭]nzV, )el9[ٷK/,Gkg6VU.wN(0 ͶL"  !ohg2tbG Mҵw?n޸؞/l6ry F#Rj A.5^}q9MӹsPaݛZwVR ( Eϝj@iY|;mQa~!qe)߫Z֬_P` 0HMFlK0/߉?M#7h158l6 o~tG*:nR_ʮ*[[ʾ / peFRѹ9Nm.:Zڈc ,5-6nbߣOˢZtfwⳀ m^1 H7]?"u| aZDvbB"~[-P'm}E hk{Sݵ-;v&K^oy-jʙKzTRVf: M^>LbvTpm429'˧R[W>&8paץq0 ER]5)گsH$%(,v3M4VW3<M$͏}>?/a5(GV3 Htl s-ؘ0?<_VndRnJ)fWxRQ0Vܢir_hQ4EXi.j_m~x]pBy]&>4,+u-%p[[N5t§,)WO17mݹr.uD=IdO']! {B!^y=mRegS?/bv =vٰ۵q>Ѵqߝc4DD " 4%l MnV^G}EԠ  \?rx¢S0I ^óǏR'`I)n׫@ۣdP}ϬxjddVŸBѐ /4-1oۖN 1ZrY,UV&@Z[$m/o|X=#sGӛÖ֚"ri0t$W%HJ^:laD+[&#_>oz/AJY@i?X9lݻv-&Mp$O,w6ojdhLmp-?IJ߿ btGw694],s6lfg{R6uD6 vCaGO,}B}cd klCFHkۮdaQ['_]zȐU;aQ@FlR3}凎AHr)LjWR}ӨlE


    "; } /** * Crea un nuovo gruppo a partire da $root * * Funzione che si occupa di creare il gruppo. * * @param string $root la cartella nella quale creare il gruppo * @since 0.1 * @author Aldo Boccacci */ function create_group($root){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); $group = getparam("ffnewgroup",PAR_POST,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $group= eregi_replace(" ","_",$group); if (is_dir("$root/$group")){ echo _THEGROUP." $group "._ALREADYEXISTS; return; } else { mkdir(stripslashes("$root/$group"),0777); fnwrite("$root/$group/level.php","10","w",array("nonull")); fnwrite("$root/$group/group.php","in futuro conterr le propriet del gruppo","w",array("nonull")); fflogf("created group $group"); } echo "
    "._GROUPCREATED."

    "._RETURN."
    "; } /** * Maschera per creare un nuovo argomento * * Questa funzione mostra la maschera per creare un argomento * * @param string $root la cartella nella quale creare il gruppo * @since 0.1 * @author Aldo Boccacci * */ function create_argument_interface($root){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); global $theme; $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); echo "
    "; echo "
    "._ARGUMENTGROUP.":

    "; $groups = array(); $groups = list_forum_groups($root); $group = ""; if (count($groups)>0){ echo "

    "; } else echo "No group avaible!

    "; echo ""._ARGUMENTNAME.":

    "; echo "

    "; echo ""._ARGUMENTLEVEL.":

    "; echo "

    "; echo ""._ARGUMENTIMAGE.":

    "; $argicons=array(); $argicons = glob("forum/icons/argument_icons/*"); $argicon=""; echo "  "; echo "

    "; echo ""._ARGUMENTDESC.":

    "; echo "

    "; echo "
    "; } /** * Crea un nuovo argomento a partire da $root * * Funzione che si occupa di creare un argomento * * @param string $root la cartella nella quale creare l'argomento * @since 0.1 * @author Aldo Boccacci */ function create_argument($root){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); $group = getparam("ffgroup",PAR_POST,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); $argument = getparam("ffnewargument",PAR_POST,SAN_FLAT); // $argument=str_replace("/","/",$argument); $argument = eregi_replace(" ","_",$argument); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $level = getparam("fflevel",PAR_POST,SAN_FLAT); if (!check_var($level,"digit") and $level!="-1"){ ff_die("\$level is not valid! (".strip_tags($level).")",__FILE__,__LINE__); } if ($level!="-1" and ($level>10 or $level<0)) ff_die("\$level is not valid! (".strip_tags($level).")",__FILE__,__LINE__); $description = strip_tags(getparam("ffargumentdesc",PAR_POST,SAN_FLAT)); if (!check_var($description,"text")) ff_die("\$description is not valid! (".strip_tags($description).")",__FILE__,__LINE__); $argicon=getparam("ffargicon",PAR_POST,SAN_FLAT); if (!check_path($argicon,"","false")) ff_die("\$argicon is not valid! (".strip_tags($argicon).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (is_dir("$root/$group/$argument")){ echo _THEARGUMENT." $argument "._ARGUMENTEXISTS." $group, "._ARGUMENTCHANGENAME; echo "

    "._INDIETRO.""; } else { if (mkdir("$root/$group/$argument",0777)){ fnwrite("$root/$group/$argument/level.php","10","w",array("nonull")); fflogf("Created argument $argument in the group $group"); echo "

    "._ARGUMENTCREATED."!"; echo "

    "._RETURN."
    "; } } $argumentprops = array(); $argumentprops['description'] = $description; $argumentprops['level'] = $level; $argumentprops['icon']=$argicon; save_argument_props($root,$group,$argument,$argumentprops); } /** * Imposta se il topic deve essere messo in cima alla lista nella visualizzazione dell'argomento * * Imposta se il topic deve essere messo in cima alla lista nella visualizzazione dell'argomento * * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @param boolean $evidenzia specifica se evidenziare il topic * @author Aldo Boccacci * @since 0.1 */ function evidenzia_topic($group,$argument,$topic,$evidenzia){ if (!is_forum_moderator()) ff_die("only moderators and admins can do this!",__FILE__,__LINE__); $group = getparam("group",PAR_GET,SAN_FLAT); $argument = getparam("argument",PAR_GET,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); $argument = getparam("argument",PAR_GET,SAN_FLAT); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); $topic = getparam("topic",PAR_GET,SAN_FLAT); if (!check_path($topic,"","true")) ff_die("\$topic is invalid! (".strip_tags($topic).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!check_var($evidenzia,"boolean")) ff_die("\$evidenzia must be a boolean value!",__FILE__,__LINE__); $topicfile = get_forum_root()."/$group/$argument/$topic"; if (file_exists($topicfile)){ if ($evidenzia=="true"){ if (eregi("^top_",trim($topic))){ echo "topic file is already on top!"; } else { rename($topicfile,dirname($topicfile)."/top_$topic"); fflogf("Topic".strip_tags($topicfile)." is now sticky."); } } else if ($evidenzia=="false"){ if (!eregi("^top_",trim($topic))){ echo "$topic topic file is already normal"; } else { rename($topicfile,dirname($topicfile)."/".eregi_replace("^top_","",$topic)); fflogf("Topic ".strip_tags($topicfile)." is now normal (not sticky)."); } } } update_topics_list($group,$argument); update_argument_stats($group,$argument); echo ""; echo ""; // header("index.php?mod=".rawurlencodepath($mod)."&group=".rawurlencodepath($group)."&argument=".rawurlencodepath($argument)); } /** * Nasconde il topic specificato * * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @author Aldo Boccacci * @since 0.1 */ function hide_topic($group, $argument, $topic){ if (!is_forum_moderator()) ff_die("only moderators and admins can do this!",__FILE__,__LINE__); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); $topic = getparam($topic,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!check_path($topic,"","true")) ff_die("\$topic is invalid! (".strip_tags($topic).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $topicfile = get_forum_root()."/$group/$argument/$topic"; $topicdata = array(); if (file_exists($topicfile)){ if (!eregi("^hide_",basename($topicfile))){ if (!rename($topicfile,dirname($topicfile)."/hide_".basename($topicfile))) fflogf("I cannot set hide status of the file ".strip_tags($topicfile),"ERROR"); else { update_argument_stats($group,$argument); } } } else { fflogf("I cannot set hide status because the file ".strip_tags($topicfile)." doesn't exists!","ERROR"); } echo "
    "._TOPICHIDDEN."

    "._RETURN."
    "; //ritorno echo ""; } /** * Mostra il topic specificato * * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @author Aldo Boccacci * @since 0.1 */ function show_topic($group, $argument, $topic){ if (!is_forum_moderator()) ff_die("only moderators and admins can do this!",__FILE__,__LINE__); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); $topic = getparam($topic,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!check_path($topic,"","true")) ff_die("\$topic is invalid! (".strip_tags($topic).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $topicfile = get_forum_root()."/$group/$argument/$topic"; $topicdata = array(); if (file_exists($topicfile)){ if (eregi("^hide_",basename($topicfile))){ if (!rename($topicfile, dirname($topicfile)."/".eregi_replace("^hide_","",basename($topicfile)))) fflogf("I cannot unset hide status of the file ".strip_tags($topicfile),"ERROR"); } } else { fflogf("I cannot set hide status because the file ".strip_tags($topicfile)." doesn't exists!","ERROR"); } update_topics_list($group,$argument); update_argument_stats($group,$argument); echo "
    "._TOPICSHOWED."

    "._RETURN."
    "; //ritorno echo ""; } /** * Blocca il topic specificato * * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @author Aldo Boccacci * @since 0.1 */ function lock_topic($group, $argument, $topic){ if (!is_forum_moderator()) ff_die("only moderators and admins can do this!",__FILE__,__LINE__); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); $topic = getparam($topic,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!check_path($topic,"","true")) ff_die("\$topic is invalid! (".strip_tags($topic).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $topicfile = get_forum_root()."/$group/$argument/$topic"; $topicdata = array(); if (file_exists($topicfile)){ $topicdata = load_topic($topicfile); $topicdata['properties']['locked'] = "true"; save_topic($topicfile,$topicdata); } else { fflogf("I cannot set lock status because the file ".strip_tags($topicfile)." doesn't exists!","ERROR"); } echo "
    "._TOPICLOCKED."

    "._RETURN."
    "; //ritorno echo ""; } /** * Blocca il topic specificato * * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @author Aldo Boccacci * @since 0.1 */ function unlock_topic($group, $argument, $topic){ if (!is_forum_moderator()) ff_die("only moderators and admins can do this!",__FILE__,__LINE__); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); $topic = getparam($topic,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!check_path($topic,"","true")) ff_die("\$topic is invalid! (".strip_tags($topic).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $topicfile = get_forum_root()."/$group/$argument/$topic"; $topicdata = array(); if (file_exists($topicfile)){ $topicdata = load_topic($topicfile); $topicdata['properties']['locked'] = "false"; save_topic($topicfile,$topicdata); } else { fflogf("I cannot set lock status because the file ".strip_tags($topicfile)." doesn't exists!","ERROR"); } echo "
    "._TOPICUNLOCKED."

    "._RETURN."
    "; //ritorno echo ""; } /** * Elimina il post indicato * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @param integer $number il numero del post da eliminare * @author Aldo Boccacci * @since 0.1 */ function delete_post($group,$argument,$topic,$number){ if (!is_admin()) ff_die("only admins can delete posts!",__FILE__,__LINE__); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); $topic = getparam($topic,PAR_NULL,SAN_FLAT); $number = getparam($number,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!check_path($topic,"","true")) ff_die("\$topic is invalid! (".strip_tags($topic).")",__FILE__,__LINE__); if (!check_var($number,"digit")) ff_die("\$number is invalid! (".strip_tags($number).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $topicfile = get_forum_root()."/$group/$argument/$topic"; $topicdata = array(); if (file_exists($topicfile)){ $topicdata = load_topic($topicfile); if ($number>count($topicdata['posts'])) ffdie("The post: ".strip_tags($number)."doesn't exists!",__FILE__,__LINE__); unset($topicdata['posts'][$number]); } //gestisco l'eliminazione del post in testa if ($topicdata['properties']['postontop']==$number){ $topicdata['properties']['postontop']=""; } save_topic($topicfile,$topicdata); //aggiorno le statistiche dell'argomento update_argument_stats($group,$argument); update_topics_list($group,$argument); echo "
    "._POSTDELETED."
    "; //ritorno echo ""; } /** * Fa in modo che il posto specificato sia sempre mostrato in cima al thread * * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @param integer $number il numero del post da evidenziare * @author Aldo Boccacci * @since 0.1 */ function set_post_on_top($group,$argument,$topic,$number){ if (!is_forum_moderator()) ff_die("only moderators and admins can do this!",__FILE__,__LINE__); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); $topic = getparam($topic,PAR_NULL,SAN_FLAT); $number = getparam($number,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!check_path($topic,"","true")) ff_die("\$topic is invalid! (".strip_tags($topic).")",__FILE__,__LINE__); if (!check_var($number,"digit")) ff_die("\$number is invalid! (".strip_tags($number).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $topicfile = get_forum_root()."/$group/$argument/$topic"; $topicdata = array(); if (file_exists($topicfile)){ $topicdata = load_topic($topicfile); if ($number>count($topicdata['posts'])) ffdie("The post: ".strip_tags($number)."doesn't exists!",__FILE__,__LINE__); $topicdata['properties']['postontop'] = $number; } save_topic($topicfile,$topicdata); echo "
    Il post sar visualizzato in cima
    "; //ritorno echo ""; } /** * Rimuove l'impostazione di mostrare un post sempre in cima. * * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @author Aldo Boccacci * @since 0.1 */ function remove_post_on_top($group,$argument,$topic){ if (!is_forum_moderator()) ff_die("only moderators and admins can do this!",__FILE__,__LINE__); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); $topic = getparam($topic,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!check_path($topic,"","true")) ff_die("\$topic is invalid! (".strip_tags($topic).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $topicfile = get_forum_root()."/$group/$argument/$topic"; $topicdata = array(); if (file_exists($topicfile)){ $topicdata = load_topic($topicfile); $topicdata['properties']['postontop'] = ""; } save_topic($topicfile,$topicdata); echo "
    Il post sar visualizzato normalmente
    "; //ritorno echo ""; } /** * Visualizza l'interfaccia per modificare un argomento * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @author Aldo Boccacci * @since 0.1 * */ function edit_argument_interface($root,$group,$argument){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); global $theme; $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $argumentdata =array(); $argumentdata = load_argument_props(get_forum_root(),$group,$argument); echo "
    "; // echo "Scegli il nome dell'argomento:

    "; // // echo "

    "; echo ""._ARGUMENTLEVEL.":

    "; echo "

    "; echo ""._ARGUMENTIMAGE.":

    "; $argicons=array(); $argicons = glob("forum/icons/argument_icons/*"); $argicon=""; echo "  "; echo "

    "; echo ""._ARGUMENTDESC.":

    "; echo "

    "; echo "
    "; } /** * * Salva l'argomento modificato * * * @author Aldo Boccacci * @since 0.1 */ function save_argument(){ $group = getparam("ffgroup",PAR_POST,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); $argument = getparam("ffargument",PAR_POST,SAN_FLAT); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $description = strip_tags(getparam("ffargumentdesc",PAR_POST,SAN_FLAT)); if (!check_var(strip_tags($description),"text")) ff_die("\$description is not valid! (".strip_tags($description).")",__FILE__,__LINE__); $level = strip_tags(getparam("fflevel",PAR_POST,SAN_FLAT)); if (!check_var(strip_tags($level),"digit") and trim($level)!="-1") ff_die("\$level is not valid! (".strip_tags($level).")",__FILE__,__LINE__); $argicon=getparam("ffargicon",PAR_POST,SAN_FLAT); if (!check_path($argicon,"","false")) ff_die("\$argicon is not valid! (".strip_tags($argicon).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $data = array(); $data['description'] = $description; $data['level'] = $level; $data['icon']=$argicon; save_argument_props(get_forum_root(),$group,$argument,$data); echo "
    "._ARGUMENTEDITED."!

    "._RETURN."
    "; // echo ""; } /** * Interfaccia per rinominare un argomento * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @author Aldo Boccacci * @since 0.1 */ function rename_argument_interface($root,$group,$argument){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); $root = getparam($root,PAR_NULL,SAN_FLAT); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); echo "
    "; echo ""; echo ""; echo ""; echo "
    "._RENAMETHEARGUMENT." $argument

    "; echo "

    "; echo "
    "; } /** * Rinomina l'argomento specificato mediante la maschera. * * @param string $root la cartella nella quale creare il gruppo * @since 0.1 * @author Aldo Boccacci */ function rename_argument($root){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); $group = getparam("ffgroup",PAR_POST,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); $oldargumentname = getparam("ffoldargumentname",PAR_POST,SAN_FLAT); if (!check_path($oldargumentname,"","false")) ff_die("\$oldargumentname is not valid! (".strip_tags($oldargumentname).")",__FILE__,__LINE__); $newargumentname = getparam("ffnewargumentname",PAR_POST,SAN_FLAT); if (!check_path($newargumentname,"","false")) ff_die("\$newargumentname is not valid! (".strip_tags($newargumentname).")",__FILE__,__LINE__); $newargumentname = eregi_replace(" ","_",$newargumentname); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (trim($oldargumentname)==trim($newargumentname)){ echo "
    Il nome dell'argomento non cambiato!
    "; } if (!is_dir("$root/$group/$oldargumentname")) echo ""._ATTENTION.": "._THEARGUMENT." $root/$group/$oldargumentname "._DOESNTEXISTS."!"; if (is_dir("$root/$group/$newargumentname")){ echo "
    "._ATTENTION.": "._THEARGUMENT." $newargumentname "._ALREADYEXISTS."."; echo "

    "._INDIETRO."
    "; return; } if (rename("$root/$group/$oldargumentname","$root/$group/$newargumentname")){ fflogf("Renamed argument $root/$group/$oldargumentname in $root/$group/$newargumentname"); update_argument_stats($group,$newargumentname); echo "
    "._ARGUMENTRENAMED."!
    "; } echo "

    "; } /** * * Impedisce di scrivere nei topics contenuti nell'argomento * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @author Aldo Boccacci * @since 0.1 */ function lock_argument($root,$group,$argument){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); $root = getparam($root,PAR_NULL,SAN_FLAT); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (file_exists("$root/$group/$argument/lock")){ echo "
    "._ARGALREADYLOCKED."!
    "; } else { if (touch("$root/$group/$argument/lock")) echo "
    "._ARGUMENTLOCKED."!

    "._RETURN."
    "; } echo ""; } /** * * Sblocca i topic contenuti nell'argomento * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @author Aldo Boccacci * @since 0.1 */ function unlock_argument($root,$group,$argument){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); $root = getparam($root,PAR_NULL,SAN_FLAT); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (file_exists("$root/$group/$argument/lock")){ if (unlink("$root/$group/$argument/lock")) echo "
    "._ARGUMENTUNLOCKED."!

    "._RETURN."
    "; } else { echo "
    "._ARGALREADYUNLOCKED."!
    "; } echo ""; } /** * * Funzione che mostra l'interfaccia per eliminare un argomento * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @author Aldo Boccacci * @since 0.1 */ function delete_argument_interface($root,$group,$argument){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); $root = getparam($root,PAR_NULL,SAN_FLAT); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); echo "
    "; echo ""; echo ""; echo ""; echo _DELETEARGUMENT1." $argument "._DELETEARGUMENT2." $group?
    "; echo _DELETEARGUMENT3."

    "; echo " "._DELETEARGUMENT." $argument

    "; echo ""; echo "
    "; } /** * Elimina l'argomento specificato mediante la maschera. * * @param string $root la cartella nella quale creare il gruppo * @since 0.1 * @author Aldo Boccacci */ function delete_argument($root){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); $group = getparam("ffgroup",PAR_POST,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); $argument = getparam("ffargument",PAR_POST,SAN_FLAT); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $confirmdelete = getparam("ffconfirmdelete",PAR_POST,SAN_FLAT); if (!check_var($confirmdelete,"boolean")) ff_die("\$confirmdelete is not valid! (".strip_tags($confirmdelete).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!$confirmdelete){ echo "
    "._DELETEARGNOCONFIRM; echo "

    "._INDIETRO."
    "; return; } if (!is_dir("$root/$group/$argument")){ echo "
    "._ATTENTION.": "._THEARGUMENT." $root/$group/$argument "._DOESNTEXISTS."!"; echo "

    "._INDIETRO."
    "; return; } if (!file_exists("$root/$group/$argument/argument.php")){ echo "
    "._ATTENTION.": "._THEFILE." argument.php "._DOESNTEXISTS."!"; echo "

    "._INDIETRO."
    "; return; } if (!unlink("$root/$group/$argument/argument.php")){ echo ""._ATTENTION.": "._FILENOTDELETED." argument.php!"; } if (file_exists("$root/$group/$argument/lock")){ if (!unlink("$root/$group/$argument/lock")){ echo ""._ATTENTION.": "._FILENOTDELETED." lock!"; } } if (file_exists("$root/$group/$argument/level.php")){ if (!unlink("$root/$group/$argument/level.php")){ echo ""._ATTENTION.": "._FILENOTDELETED." level.php!"; } } if (file_exists("$root/$group/$argument/stats.php")){ if (!unlink("$root/$group/$argument/stats.php")){ echo ""._ATTENTION.": "._FILENOTDELETED." stats.php!"; } } if (file_exists("$root/$group/$argument/topicslist.php")){ if (!unlink("$root/$group/$argument/topicslist.php")){ echo ""._ATTENTION.": "._FILENOTDELETED." topicslist.php!"; } } $topics = array(); $topics = glob("$root/$group/$argument/*.ff.php"); if (count($topics)>0){ foreach ($topics as $topic){ if (!unlink($topic)){ echo _FILENOTDELETED." $topic
    "; } } } //infine elimino la cartella if (!rmdir("$root/$group/$argument")){ echo ""._ATTENTION."! "._DIRNOTDELETED.": $root/$group/$argument"; } else echo "
    "._ARGUMENTDELETED."!


    "; } /** * Funzione che esegue un backup dei dati del forum * * @param string $root la root del forum * @author Aldo Boccacci * @since 0.1 */ function backup_forum_structure($root){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); include_once("forum/include/archive.php"); include_once("include/filesystem/DeepDir.php"); $dir = new DeepDir(); $dir->setDir($root); $dir->load(); if (file_exists("misc/backup_forum_".date("d-m-Y").".zip")) unlink("misc/backup_forum_".date("d-m-Y").".zip"); $backup = new zip_file("misc/backup_forum_".date("d-m-Y").".zip"); $backup->set_options(array('inmemory'=>"0",'overwrite'=>1,'prepend','level'=>1)); //$backup->add_files("misc/*"); //agiungo i singoli files foreach( $dir->files as $n => $pathToFile ){ $backup->add_files($pathToFile); // $backup->store_files($pathToFile); } // $backup->store_files("$root/*"); $backup->create_archive(); // $backup->download_file(); header("Location: misc/backup_forum_".date("d-m-Y").".zip"); } /** * Maschera per spostare l'argomento prescelto. * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string argument l'argomento di riferimento * @param string $topic il file contenente il topic * @author Aldo Boccacci * @since 0.1 * */ function move_argument_interface($root,$group,$argument){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); $root = getparam($root,PAR_NULL,SAN_FLAT); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); echo "
    "; echo ""; echo ""; echo ""; echo "
    "._ARGUMENTMOVE.":

    "; $groups = array(); $groups = list_forum_groups($root); $tmpgroup=""; if (count($groups)>1){ echo "

    "; } else{ echo ""._NOGROUP."!

    "; echo "
    "; return; } echo ""; echo "
    "; } /** * Sposta l'argomento specificato mediante la maschera. * * @param string $root la cartella nella quale creare il gruppo * @since 0.1 * @author Aldo Boccacci */ function move_argument($root){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); $group = getparam("ffgroup",PAR_POST,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); $newgroup = getparam("ffnewgroup",PAR_POST,SAN_FLAT); if (!check_path($newgroup,"","false")) ff_die("\$newgroup is not valid! (".strip_tags($newgroup).")",__FILE__,__LINE__); if (trim($newgroup)=="") { echo "The new group is not set!"; return; } $argument = getparam("ffargument",PAR_POST,SAN_FLAT); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!is_dir("$root/$group/$argument")){ echo ""._ATTENTION.": "._THEARGUMENT." $root/$group/$argument ".DOESNTEXISTS."!"; return; } if (!is_dir("$root/$newgroup/")){ echo ""._ATTENTION.": "._THEGROUP." $root/$newgroup ".DOESNTEXISTS."!"; return; } if (!is_writable("$root/$newgroup")){ echo ""._ATTENTION.": "._THEGROUP." $root/$newgroup "._ISNTWRITABLE."!"; return; } if (rename("$root/$group/$argument","$root/$newgroup/$argument")){ update_argument_stats($newgroup,$argument); fflogf("Moved argument $root/$group/$argument in $root/$newgroup/$argument"); echo "
    "._ARGUMENTMOVED."!
    "; } echo "

    "; } /** * Interfaccia che permette di eliminare un gruppo * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @author Aldo Boccacci * @since 0.1 */ function delete_group_interface($root,$group){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); $root = getparam($root,PAR_NULL,SAN_FLAT); $group = getparam($group,PAR_NULL,SAN_FLAT); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); echo "
    "; echo ""; echo ""; echo _DELETEGROUPALERT1." $group?
    "; echo _DELETEGROUPALERT2."

    "; echo " "._DELETEGROUPALERT3." $group

    "; echo ""; echo "
    "; } /** * Elimina l'argomento specificato mediante la maschera. * * @param string $root la cartella nella quale creare il gruppo * @since 0.1 * @author Aldo Boccacci */ function delete_group($root){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); $group = getparam("ffgroup",PAR_POST,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); $confirmdelete = getparam("ffconfirmdelete",PAR_POST,SAN_FLAT); if (!check_var($confirmdelete,"boolean")) ff_die("\$confirmdelete is not valid! (".strip_tags($confirmdelete).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!$confirmdelete){ echo "
    "._ATTENTION.": "._DELETEGROUPNOCONFIRM; echo "

    "._INDIETRO."
    "; return; } if (!is_dir("$root/$group")){ echo "
    "._ATTENTION.": "._THEGROUP." $root/$group "._DOESNTEXISTS; echo "

    "._INDIETRO."
    "; return; } $contains = array(); $contains = glob("$root/$group/*"); for ($count=0;$count
    "._ATTENTION.": "._THEGROUP." $group "._GROUPNOTEMPTY." (".basename($contains[$count]).")"; echo "

    "._INDIETRO.""; return; } } //il file del livello if (file_exists("$root/$group/level.php")){ if (!unlink("$root/$group/level.php")){ echo ""._ATTENTION.": It was impossible to delete the file level.php!"; } } //il file del gruppo if (file_exists("$root/$group/group.php")){ if (!unlink("$root/$group/group.php")){ echo ""._ATTENTION.": It was impossible to delete the file group.php!"; } } //infine elimino la cartella if (!rmdir("$root/$group")){ echo "I'm not able to delete the directory: ".strip_tags("$root/$group")."!"; fflogf("I'm not able to delete the directory: ".strip_tags("$root/$group")."!"); } fflogf("Deleted group $root/$group"); echo "

    "._DELETEGROUPOK."

    "._RETURN."
    "; } /** * Interfaccia per rinominare un gruppo * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @author Aldo Boccacci * @since 0.1 */ function rename_group_interface($root,$group){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); $root = getparam($root,PAR_NULL,SAN_FLAT); $group = getparam($group,PAR_NULL,SAN_FLAT); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); echo "
    "; echo ""; echo ""; echo "
    "._RENAMEGROUP." $group

    "; echo "

    "; echo "
    "; } /** * Rinomina il gruppo specificato mediante la maschera. * * @param string $root la root del forum * @since 0.1 * @author Aldo Boccacci */ function rename_group($root){ if (!is_admin()) ff_die(_NONPUOI,__FILE__,__LINE__); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); $group = getparam("ffgroup",PAR_POST,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); $newgroupname = getparam("ffnewgroupname",PAR_POST,SAN_FLAT); if (!check_path($newgroupname,"","false")) ff_die("\$newgroupname is not valid! (".strip_tags($newgroupname).")",__FILE__,__LINE__); $newgroupname = eregi_replace(" ","_",$newgroupname); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (trim($group)==trim($newgroupname)){ echo "
    "._GROUPNOCHANGE."
    "; } if (!is_dir("$root/$group")) echo ""._ATTENTION.": "._THEGROUP." $root/$group "._DOESNTEXISTS; if (is_dir("$root/$newgroupname")){ echo "
    "._ATTENTION.": "._THEGROUP." $newgroupname "._ALREADYEXISTS; echo "

    "._INDIETRO."
    "; return; } if (rename("$root/$group","$root/$newgroupname")){ update_forum_stats(); fflogf("Group $root/$group renamed in $root/$newgroupname"); echo "
    "._GROUPRENAMED."
    "; } echo "

    "; } /** * Funzione che sposta un topic in un altro argomento * * @author Aldo Boccacci * @since 0.1 */ function move_topic(){ if (!is_admin()) ff_die("Only admins can move topics!",__FILE__,__LINE__); $topicpath = getparam("fftopicpath",PAR_POST,SAN_FLAT); if (!check_path($topicpath,get_forum_root(),"true")) ff_die("\$topicpath is not valid! (".strip_tags($topicpath).")",__FILE__,__LINE__); $destargument = getparam("ffdestargument",PAR_POST,SAN_FLAT); if (!check_path($destargument,"","false")) ff_die("\$destargument is not valid! (".strip_tags($destargument).")",__FILE__,__LINE__); $origmod = getparam("ffmod",PAR_POST,SAN_FLAT); if (!check_path($origmod,"","false")) ff_die("\$origmod is not valid! (".strip_tags($origmod).")",__FILE__,__LINE__); if (!file_exists($topicpath)){ ff_die("".ATTENTION.": the topic ".strip_tags($topicpath)." doesn't exists!"); } if (!is_writable($topicpath)){ ff_die("".ATTENTION.": il topic ".strip_tags($topicpath)." non scrivibile, impossibile spostarlo!"); } if (!eregi("ff.php$",$topicpath)){ ff_die("".ATTENTION.": the file ".strip_tags($topicpath)." is not managed by Flatforum. It isn't possible to move it."); } if (!is_dir(get_forum_root()."/$destargument/")){ ff_die("".ATTENTION.": the argument ".strip_tags($destargument)." is not a valid directory! It is impossible to move it."); } if (!is_writable(get_forum_root()."/$destargument/")){ ff_die("".ATTENTION.": the directory ".strip_tags($destargument)." is not writeable! Please check permissions!"); } if (rename($topicpath,get_forum_root()."/$destargument/".basename($topicpath))){ echo "
    "._TOPICMOVED."!"; echo "

    "._RETURN.""; echo "
    "; update_forum_stats(); } else{ echo "
    "._TOPICNOTMOVED."!"; echo "

    "._RETURN."
    "; } } /** * Interfaccia per spostare un topic * * @param string $topicpath il file contenente il topic * @author Aldo Boccacci * @since 0.1 */ function move_topic_interface($topicpath){ if (!is_admin()) ff_die("Only admins can move topics!",__FILE__,__LINE__); $topicpath = getparam($topicpath,PAR_NULL,SAN_FLAT); if (!check_path($topicpath,get_forum_root(),"true")) ff_die("\$topicpath is not valid! (".strip_tags($topicpath).")",__FILE__,__LINE__); $topictitle=""; $topicdata=array(); $topicdata = load_topic_properties($topicpath); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $root=""; $root=get_forum_root(); $groups = array(); $groups = list_forum_groups(get_forum_root()); $group = ""; $arguments=array(); $argument=""; foreach ($groups as $group){ $tmparguments=array(); $tmparguments=list_group_arguments(get_forum_root(),$group); foreach ($tmparguments as $argument){ $arguments[]="$group/$argument"; } } // print_r($arguments); echo "
    "; echo ""; echo ""; echo ""; echo _CHOOSETOPICDEST." ".$topicdata['properties']['topictitle'].":"; echo "

    "; echo "

    "; echo "
    "; } /** * Interfaccia per eliminare il topic indicato come parametro * * @param string $topicpath Il percorso del topic da eliminare * @since 0.1 * @author Aldo Boccacci */ function delete_topic_interface($topicpath){ $topicpath = getparam($topicpath,PAR_NULL,SAN_FLAT); if (!check_path($topicpath,get_forum_root(),"true")) ff_die("\$topicpath is not valid! (".strip_tags($topicpath).")",__FILE__,__LINE__); $topicdata=array(); $topicdata = load_topic_properties($topicpath); // print_r($topicdata); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); echo "
    "._ASKDELETETOPIC.": ".$topicdata['properties']['topictitle']."?
    "; echo "
    "; echo ""; echo ""; echo ""; echo "

    "; echo "
    "; } /** * Funzione per eliminare un topic * * @author Aldo Boccacci * @since 0.1 */ function delete_topic(){ if (!is_admin()) ff_die("Only admins can delete topics!",__FILE__,__LINE__); $topicpath = getparam("fftopicpath",PAR_POST,SAN_FLAT); if (!check_path($topicpath,get_forum_root(),"true")) ff_die("\$topicpath is not valid! (".strip_tags($topicpath).")",__FILE__,__LINE__); $topicdata=array(); $topicdata = load_topic_properties($topicpath); $origmod = getparam("ffmod",PAR_POST,SAN_FLAT); if (!check_path($origmod,"","false")) ff_die("\$origmod is not valid! (".strip_tags($origmod).")",__FILE__,__LINE__); if (!file_exists($topicpath)) ff_die("Attenzione: il topic ".strip_tags($topicpath)."non esiste!",__FILE__,__LINE__); if (unlink($topicpath)){ //aggiorno le statistiche $tmp = dirname($topicpath); $argument = basename($tmp); $tmp = dirname($tmp); $group = basename($tmp); update_argument_stats($group,$argument); update_topics_list($group,$argument); echo "
    "._TOPICDELETED.": ".$topicdata['properties']['topictitle']."
    "; echo "

    "._RETURN."
    "; } else { echo "
    "._ATTENTION."!I wasn't able to delete the topic: ".$topicdata['properties']['topictitle']."
    "; echo "

    "._RETURN."
    "; } } /** * Mostra il pannello di controllo del forum * * @author Aldo Boccacci * @since 0.1 */ function ff_control_panel(){ if (is_admin()){ global $theme; $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!file_exists(get_forum_root()."/ffmotd.php")) fnwrite(get_forum_root()."/ffmotd.php"," ","w",array()); if (!file_exists(get_forum_root()."/rules.php")) fnwrite(get_forum_root()."/rules.php"," ","w",array()); ?>

    :



    />
    ".get_forum_root()."
    non scrivible: controllare i permessi.

    "; ?>
    /> Devi prima creare uno o pi gruppi";?>
    Logs



    flatnuke-2.7.2/forum/include/ffview.php0000644000175000017500000015011711040603570017454 0ustar simonesimone
    "; } if (is_admin()){ ?>
    />
    ".get_forum_root()."
    "._NOTWRITABLE.": controllare i permessi.

    "; ?>
    /> Devi prima creare uno o piu' gruppi";?>

    "; view_ffmotd(); //stampo i gruppi + gli argomenti $groups=array(); $group = ""; $groups = list_forum_groups(get_forum_root()); //x windows // $groups[]= "NULL"; foreach($groups as $group){ ff_view_group(get_forum_root(),$group); echo "
    "; } echo "
    "; module_copyright("Flatforum",get_ff_version(),"Aldo Boccacci aka Zorba","zorba_(AT)tin.it", "http://www.aldoboccacci.it", "Gpl version 2.0"); } /** * Visualizza l'argomento del forum indicato * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string argument l'argomento di cui restituire i topics * @author Aldo Boccacci * @since 0.1 */ function forum_view_argument($root,$group,$argument){ if (!check_path($root,get_forum_root(),"false")) ff_die("forum root is invalid!",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("forum group is invalid!",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("forum argument is invalid!",__FILE__,__LINE__); // print_r(load_topics_list($group,$argument)); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is invalid! (".strip_tags($mod).")",__FILE__,__LINE__); $group = getparam("group",PAR_GET,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); $argument = getparam("argument",PAR_GET,SAN_FLAT); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); $page = getparam("page",PAR_GET,SAN_FLAT); if (!check_var($page,"digit") and trim($page)!="") ff_die("\$page is invalid! (".strip_tags($page).")",__FILE__,__LINE__); if ($page=="") $page="1"; if (!user_can_view_argument(get_forum_root(),$group,$argument)){ echo ""; die(); } global $postperpage,$topicperpage,$postperpage,$theme,$giorni,$mesi,$fuso_orario,$bgcolor2,$bgcolor3; view_forum_header(); //CARICO I DATI $topicstmp = array(); $topics = array(); // $topicstmp=fast_list_argument_topics(get_forum_root(),$group,$argument); $topicstmp=load_topics_list($group,$argument); $topic=""; foreach ($topicstmp as $topic){ if (!eregi("^hide_",basename($topic))){ $topics[]=$topic; } else if (is_forum_moderator()){ $topics[]=$topic; } } //INTESTAZIONE GRUPPO echo "
    "; if (count($topics)>$topicperpage){ $pagescount = ceil(count($topics)/$topicperpage); $link = "index.php?mod=".rawurlencodepath($mod)."&group=".rawurlencodepath($group)."&argument=".rawurlencodepath($argument); ff_page_selector($page,$pagescount,$link); } echo ""; //al centro nulla echo ""; if (!is_guest()){ if (argument_is_locked(get_forum_root(),$group,$argument)){ if (is_admin() or is_forum_moderator()){ echo ""; } else echo "
    \"locked\"

    "; } else { ?>



    "; ?>
    cellspacing="0"> "; echo ""._FTITTOP.""; echo ""._FNPAG.""; echo ""._FNMESS.""; echo "Visite"; echo ""._FINIPOST.""; echo ""._FULTPOST.""; ?> "; echo ""; echo ""; //conto pagine echo ""; echo ""; echo ""; $postime = $topicdata['posts']['0']['time']; echo ""; $latest = count($topicdata['posts'])-1; echo ""; echo ""; if (is_admin() or is_forum_moderator()){ echo ""; } } ?>
    \"\""; if (topic_is_locked($topic)) echo "
    \"Lock\""; echo "
    "; //se e' nascosto if (is_forum_moderator() and !topic_is_visible($topic)) echo ""; echo "".$topicdata['properties']['topictitle'].""; //se e' nascosto if (is_forum_moderator() and !topic_is_visible($topic)) echo ""; echo ""; // echo count($topicdata['posts']); if (count($topicdata['posts'])>$postperpage){ $pagescount = ceil(count($topicdata['posts'])/$postperpage); for ($countpages=1;$countpages<$pagescount+1;$countpages++){ echo "[$countpages]"; //sistema if (($countpages/3) == round($countpages/3)) echo "
    "; } } else echo "[1]"; echo "
    ".count($topicdata['posts'])."".$topicdata['properties']['hits']."".$topicdata['posts']['0']['poster']."
    "; //stampo la data del post // echo $giorni[date("w",$postime+(3600*$fuso_orario))]; echo date(" d ",$postime+(3600*$fuso_orario)); $tmp=date(" m",$postime+(3600*$fuso_orario)); if ($tmp<10) $tmp=str_replace("0","",$tmp); echo $mesi[$tmp-1]; echo date(" y ",$postime+(3600*$fuso_orario)); echo "
    "; echo date(" H:i:s ",$postime+(3600*$fuso_orario)); echo "
    ".$topicdata['posts'][$latest]['poster']."
    "; $postime = $topicdata['posts'][$latest]['time']; //stampo la data dell'ultimo post // echo $giorni[date("w",$postime+(3600*$fuso_orario))]; echo date(" d ",$postime+(3600*$fuso_orario)); $tmp=date(" m",$postime+(3600*$fuso_orario)); if ($tmp<10) $tmp=str_replace("0","",$tmp); echo $mesi[$tmp-1]; echo date(" y ",$postime+(3600*$fuso_orario)); echo "
    "; echo date(" H:i:s ",$postime+(3600*$fuso_orario)); echo "
    "; if (is_admin()){ echo "\"Modify\" "; echo ""._MODIFICA.""; echo " | \"Delete\" "; echo ""._ELIMINA.""; echo " | \"Modify\" "; echo ""._MOVE.""; } if (is_forum_moderator()){ if (is_admin()) echo " | "; if (!eregi("^top_",basename($topic))){ echo "\"Ontop\" "; echo ""._STICKY.""; } else { echo "\"Normal\" "; echo ""._UNSTICKY.""; } //NASCONDI/MOSTRA TOPIC if (topic_is_visible($topic)){ echo " | \"Delete\" "; echo ""._HIDE.""; } else { echo " | \"Delete\" "; echo ""._SHOW.""; } //LOCKING //se e' bloccato l'argomento non posso agire sul singolo topic if (!argument_is_locked(get_forum_root(),$group,$argument)){ if (topic_is_locked($topic)){ echo " | \"Unlock\" "; echo ""._UNLOCK.""; } else { echo " | \"Lock\" "; echo ""._LOCK.""; } } else { echo " | \"Unlock\" Argomento bloccato"; } } echo "
    "; if (count($topics)>$topicperpage){ $pagescount = ceil(count($topics)/$topicperpage); $link = "index.php?mod=".rawurlencodepath($mod)."&group=".rawurlencodepath($group)."&argument=".rawurlencodepath($argument); ff_page_selector($page,$pagescount,$link); } echo ""; //al centro nulla echo ""; if (!is_guest()){ if (argument_is_locked(get_forum_root(),$group,$argument)){ if (is_admin() or is_forum_moderator()){ echo ""; } else echo "
    \"locked\"

    "; } else { ?>



    "; if (count($topics)>$topicperpage){ //Per accessibilita' echo "
    "; echo "
    "; } } /** * Funzione per visualizzare un gruppo con tutti i suoi argomenti * */ function ff_view_group($root,$group){ if (!check_path($root,get_forum_root(),"false")) ff_die("forum root is not valid!",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("forum group is not valid!",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is invalid! (".strip_tags($mod).")",__FILE__,__LINE__); global $fuso_orario,$mesi,$giorni,$theme,$bgcolor2,$bgcolor3; if (isset($_GET['group'])) view_forum_header(); if (isset($_GET['group'])) echo "
    "; echo ""; echo ""; ?> "; echo ""; echo ""; echo ""; echo ""; if (trim($argumentstats['lastpost'])!=""){ $data = fast_load_topic($argumentstats['lastpost']); $latest = count($data['posts']); $latestpost = $data['posts'][$latest-1]; } echo ""; if (is_admin()){ echo ""; } } echo "
    $groupname"; //opzioni di amministrazione per i gruppi if (is_admin()){ echo " | \"Delete\" "; echo ""._RENAMEGROUP.""; echo " | \"Delete\" "; echo ""._DELETEGROUP.""; } echo "
    \"icon\""; if (argument_is_locked(get_forum_root(),$group,$argument)){ echo "
    \"locked\""; } echo "
    $argumentname"; if ($argumentdata['description']!="") echo "
    ".$argumentdata['description'].""; echo "
    ".$argumentstats['topics']."".$argumentstats['posts'].""; if ($argumentstats['topics']!=0){ echo "".$latestpost['poster']."
    "; $postime = $latestpost['time']; //stampo la data dell'ultimo post // echo $giorni[date("w",$postime+(3600*$fuso_orario))]; echo date(" d",$postime+(3600*$fuso_orario)); echo " "; $tmp=date("m",$postime+(3600*$fuso_orario)); if ($tmp<10) $tmp=str_replace("0","",$tmp); echo $mesi[$tmp-1]; echo " "; echo date("Y ",$postime+(3600*$fuso_orario)); echo "
    "; echo date(" H:i:s ",$postime+(3600*$fuso_orario)); echo "
    "; } else echo "Nessun topic!


    "; echo "
    "; echo "\"Rename\" "._RENAME.""; echo " | \"Modify\" "._MODIFICA.""; echo " | \"Modify\" "._MOVE.""; if (argument_is_locked($root,$group,$argument)){ echo " | \"Unlock\" "._UNLOCK.""; } else { echo " | \"Lock\" "._LOCK.""; } echo " | \"Delete\" "._ELIMINA.""; echo "
    "; } /** * Visualizza il topic * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string $argument l'argomento del topic * @param string $topic il file contenente il topic * @author Aldo Boccacci * @since 0.1 */ function forum_view_topic($root,$group,$argument,$topic){ if (!check_path($root,get_forum_root(),"false")) ff_die("forum root is not valid!",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("forum group is not valid!",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("forum argument is not valid!",__FILE__,__LINE__); if (!check_path($topic,"","true")) ff_die("forum topic is not valid!",__FILE__,__LINE__); $topicpath=""; $topicpath= "$root/$group/$argument/$topic"; if (!check_path($topicpath,"","true")) ff_die("forum topicpath is not valid!",__FILE__,__LINE__); if (!is_file($topicpath)) { echo "Il percorso richiesto non e' un file: ".strip_tags($topicpath); } $page = getparam("page",PAR_GET,SAN_FLAT); if (!check_var($page,"digit") and trim($page)!=""and trim($page)!="last") ff_die("\$page is invalid! (".strip_tags($page).")",__FILE__,__LINE__); if ($page=="") $page="1"; $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is invalid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!user_can_view_argument(get_forum_root(),$group,$argument)){ echo ""; die(); } global $theme,$postperpage,$fuso_orario,$giorni,$mesi,$bgcolor2,$bgcolor3; update_topic_hits($topicpath); $topicdata = array(); $topicdata = load_topic($topicpath); if (trim($page)=="last") $page=ceil(count($topicdata['posts'])/$postperpage); if (!is_forum_moderator() and $topicdata['properties']['hide']=="true"){ ff_die("Only admins and moderators can view hidden topics!"); } view_forum_header(); //INTESTAZIONE echo "
    "; if (count($topicdata['posts'])>$postperpage){ $pagescount = ceil(count($topicdata['posts'])/$postperpage); $link = "index.php?mod=".rawurlencodepath($mod)."&group=".rawurlencodepath($group)."&argument=".rawurlencodepath($argument)."&topic=".basename($topic); ff_page_selector($page,$pagescount,$link); } echo ""; //al centro nulla echo ""; if (!is_guest()){ if (!is_forum_moderator() and topic_is_locked($topicpath)){ echo "\"locked\""; } else { echo "

    "; if (is_forum_moderator() and topic_is_locked($topicpath)) echo "\"locked\" "; echo ""._FRISP.""; echo "
    "; } } echo "
    "; echo "
    "; echo ""; $posts = $topicdata['posts']; $post=array(); //POST ON TOP $postontop = ""; $postontop = $topicdata['properties']['postontop']; if ($postontop!="" and isset($posts[$postontop])){ view_post($posts[$postontop],$topicdata,$group,$argument,$topic,$postontop); } //x ogni messaggio $count=(($page-1) * $postperpage); $oldcount = $count; for ($count;$count <($postperpage+$oldcount); $count++){ if (isset($posts[$count])) $post = $posts[$count]; else continue; //mostro il post (a meno che non lo abbia gia' mostrato in cima) if ($postontop==$count) { if ($postontop!="") continue; } view_post($post,$topicdata,$group,$argument,$topic,$count); } /* echo ""; */ echo "
    "._FUTENTE.""._FMESS."

    "; if (count($topicdata['posts'])>$postperpage){ $pagescount = ceil(count($topicdata['posts'])/$postperpage); if ($page=="0" or $page=="1" or trim($page)==""){ } else { echo "precedenti "; } for ($count=1;$count<$pagescount+1;$count++){ if ($page==$count) echo "[$count]"; else echo "[$count]"; } if (trim($page)!=$pagescount){ echo " successivi "; } } else echo "[1]"; echo "


    "; if (!is_guest()){ //avviso via mail echo "
    "; echo "
    "; echo " "; //se e' non in lista gli permetto di aggiungersi if (!in_array(get_username(), $topicdata['properties']['emailalert'])){ echo ""; echo _MAILALERT." "; } else { echo ""; echo _REMOVEMAILALERT." "; } echo ""; echo "

    "; } //FONDO PAGINA echo "
    "; if (count($topicdata['posts'])>$postperpage){ $pagescount = ceil(count($topicdata['posts'])/$postperpage); $link = "index.php?mod=".rawurlencodepath($mod)."&group=".rawurlencodepath($group)."&argument=".rawurlencodepath($argument)."&topic=".basename($topic); ff_page_selector($page,$pagescount,$link); } echo ""; //al centro nulla echo ""; if (!is_guest()){ if (!is_forum_moderator() and topic_is_locked($topicpath)){ echo "\"locked\""; } else { echo "

    "; if (is_forum_moderator() and topic_is_locked($topicpath)) echo "\"locked\" "; echo ""._FRISP.""; echo "
    "; } } echo "

    "; } /** * Visualizza il profilo dell'utente nella visualizzazione dei messaggi * @param string $user il nome dell'utente * @author Aldo Boccacci * @since 0.1 */ function forum_view_user_profile($user){ if (!is_alphanumeric($user)) return "profilo non valido!"; if (!file_exists(get_fn_dir("users")."/$user.php")){ echo "

    $user
    "; return; } global $theme; $userdata = array(); $userdata = load_user_profile("$user"); // echo "avatar
    "; $img = $userdata['avatar']; if($img!="") { if(!stristr($img,"http://")) echo "$user"; else echo "$user"; } else echo "$user"; echo "
    "; echo "$user

    "; // tabella per livello $level=$userdata['level']; if(!file_exists("themes/$theme/images/level_y.gif") OR !file_exists("themes/$theme/images/level_n.gif")) { $level_img_y = "images/useronline/level_y.gif"; $level_img_n = "images/useronline/level_n.gif"; } else { $level_img_y = "themes/$theme/images/level_y.gif"; $level_img_n = "themes/$theme/images/level_n.gif"; } echo "
    0
    "; echo "
    10
    "; echo "
    "._LEVEL." $level
    "; echo "
    "; echo "
    "; for($i=0; $i<$level; $i++) { echo "level"; } for($j=$i; $j<10; $j++) { echo "level"; } echo "
    "; // if (is_forum_moderator() and !is_admin()) echo "moderatore

    "; echo "
    "; echo "\"profile\" "; if (!is_guest() AND trim($userdata['mail'])!=""){ if ($userdata['hiddenmail']=="1"){ if (is_admin()) echo "\"mail\" "; } else echo "\"mail\" "; } if (trim($userdata['homepage'])!=""){ echo "\"home"; } echo "
    \n"; if (trim($userdata['jabber'])!=""){ ?>Jabber Skype ICQ MSN\n"; } /** * Mostra l'intestazione del forum con le opzioni generali. * @author Aldo Boccacci * @since 0.1 */ function view_forum_header(){ global $reguser,$forum_moderators,$bgcolor2,$bgcolor3,$theme; $root=""; $root = get_forum_root(); if (isset($_GET['group'])){ $group = getparam("group",PAR_GET,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); } else $group=""; if (isset($_GET['argument'])){ $argument = getparam("argument",PAR_GET,SAN_FLAT); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); } else $argument=""; if (isset($_GET['topic'])){ $topic = getparam("topic",PAR_GET,SAN_FLAT); if (!check_path($topic,"","true")) ff_die("\$topic is not valid! (".strip_tags($topic).")",__FILE__,__LINE__); } else $topic=""; $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $search_plugins_dir= "include/search/"; $GLOBALS['search_plugins_dir'] =$search_plugins_dir; ?>
    width="100%"> "; if ($reguser=="1" and is_guest()){ echo ""; } else { echo ""; } if (is_guest()){ echo ""; } else { echo ""; } $rules=""; if (file_exists(get_forum_root()."/rules.php")) $rules = get_file(get_forum_root()."/rules.php"); echo ""; //visualizzazione utenti echo ""; ?>
    ".get_username().""; } echo ""._REGORA.""._FMODPROF.""._LOGIN.""._LOGOUT.""; if (file_exists(get_forum_root()."/rules.php") and trim($rules)!=""){ echo "Regolamento"; } else { echo ""._FGUIDA.""; } echo " ".count(list_users())." "._FUTENTI."
    "._ADMINS.": "; for ($countadmins=0;$countadmins".$admins[$countadmins].""; if ($countadmins!=(count($admins)-1)) echo ", "; } } if (eregi(",",$forum_moderators)){ echo "
    "._MODERATORS.": "; $moderators = explode(",",$forum_moderators); for ($countmoderators=0;$countmoderators".$moderators[$countmoderators].""; if ($countmoderators!=(count($moderators)-1)) echo ", "; } } } if ($group=="") return; $topicdata = array(); $topicdata = load_topic(get_forum_root()."/$group/$argument/$topic"); echo "
    Navigazione:

    "; echo "[ ".eregi_replace("^[0-9]*_","",basename($mod)).""; if ($group!="") echo " / ".str_replace("_"," ",eregi_replace("^[0-9]*_","",$group))." "; if ($argument!="" and $group!=""){ if ($topic!="") echo "/ ".str_replace("_"," ",eregi_replace("^[0-9]*_","",$argument)).""; else echo "/ ".str_replace("_"," ",eregi_replace("^[0-9]*_","",$argument)); } if ($group!="" and $argument!="" and $topic!="") echo " / ".$topicdata['properties']['topictitle']; echo " ]

    "; } /** * Visualizza il post indicato * */ function view_post($post,$topicdata,$group,$argument,$topic,$count){ if (!is_array($post)) fd_die("\$post is not an array!",__FILE__,__LINE__); if (!is_array($topicdata)) fd_die("\$topicdata is not an array!",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is invalid! (".strip_tags($mod).")",__FILE__,__LINE__); global $mesi,$giorni,$fuso_orario,$theme; //stampo l'utente echo ""; forum_view_user_profile($post['poster']); echo ""; //stampo il messaggio echo ""; $postime = $post['time']; echo $giorni[date("w",$postime+(3600*$fuso_orario))]; echo date(" d ",$postime+(3600*$fuso_orario)); $tmp=date(" m",$postime+(3600*$fuso_orario)); if ($tmp<10) $tmp=str_replace("0","",$tmp); echo $mesi[$tmp-1]; echo date(" Y ",$postime+(3600*$fuso_orario)); echo date(" H:i:s ",$postime+(3600*$fuso_orario)); echo "

    "; if ($post['lasteditposter']!="" and $post['lastedit']!=""){ echo ""._LASTEDITBY." ".$post['lasteditposter']." ("; $postime = $post['lastedit']; echo $giorni[date("w",$postime+(3600*$fuso_orario))]; echo date(" d ",$postime+(3600*$fuso_orario)); $tmp=date(" m",$postime+(3600*$fuso_orario)); if ($tmp<10) $tmp=str_replace("0","",$tmp); echo $mesi[$tmp-1]; echo date(" Y ",$postime+(3600*$fuso_orario)); echo date(" H:i:s",$postime+(3600*$fuso_orario)); echo ")

    "; } if ($topicdata['properties']['postontop']==$count) if ($topicdata['properties']['postontop']!="") echo "\"Ontop\" "; echo "".$post['postsubj']."

    "; $postbody = eregi_replace("[","[",$post['postbody']); $postbody = eregi_replace("]","]",$postbody); $postbody = eregi_replace("\n","
    ",$postbody); $postbody = eregi_replace("\r","",$postbody); echo tag2html($postbody,"forum"); $userdata = array(); if (file_exists(get_fn_dir("users")."/".$post['poster'].".php")){ $userdata = load_user_profile($post['poster']); if (eregi_replace("^#","",$userdata['sign'])!=""){ echo "

    --
    "; echo tag2html(eregi_replace("^#","",$userdata['sign']),"forum"); } } echo ""; if (!is_guest()) echo ""; if (!is_guest()){ // if (is_admin() or (get_username()==$post['poster']) or is_forum_moderator()) echo " | "; if (!is_forum_moderator() and $topicdata['properties']['locked']=="true") { echo "\"Lock\""; } else echo "\"quota\" "._QUOTE.""; } if (is_admin() or (get_username()==$post['poster']) or is_forum_moderator()){ echo " | \"Modify\" "._MODIFICA.""; } if (is_forum_moderator()){ if ($topicdata['properties']['postontop']=="" or $topicdata['properties']['postontop']!=$count) echo " | \"ontop\" "._STICKY.""; else echo " | \"normal\" "._NORMAL.""; } if (is_admin()){ echo " | \"delete\" "._ELIMINA.""; } if (!is_guest()) echo ""; } /** * se e' presente il file get_forum_root()/ffmotd.php * visualizza il testo contenuto nella pagina di riepilogo generale del forum */ function view_ffmotd(){ if (!file_exists(get_forum_root()."/ffmotd.php")) return; $string = ""; $string = get_file(get_forum_root()."/ffmotd.php"); if (trim($string)=="") return; echo "
    Forum$string

    "; } /** * Funzione per mostrare l'intero thread della discussione nella pagina di risposta * * @param string $root la root del forum * @author Aldo Boccacci & Alfredo Cosco * @since 2.6.1 */ function forum_view_topic_thread($root){ if (!check_path($root,get_forum_root(),"false")) ff_die("forum root is not valid!",__FILE__,__LINE__); global $bgcolor2,$bgcolor3; $group = getparam("group",PAR_GET,SAN_FLAT); if (!check_path($group,"","false")) ff_die("forum group is not valid!",__FILE__,__LINE__); $argument = getparam("argument",PAR_GET,SAN_FLAT); if (!check_path($argument,"","false")) ff_die("forum argument is not valid!",__FILE__,__LINE__); $topic = getparam("topic",PAR_GET,SAN_FLAT); if (!check_path($topic,"","true")) ff_die("forum topic is not valid!",__FILE__,__LINE__); $topicpath=""; $topicpath= "$root/$group/$argument/$topic"; if (!check_path($topicpath,"","true")) ff_die("forum topicpath is not valid!",__FILE__,__LINE__); if (!is_file($topicpath)) { echo "Il percorso richiesto non e' un file: ".strip_tags($topicpath); } $page = getparam("page",PAR_GET,SAN_FLAT); if (!check_var($page,"digit") and trim($page)!=""and trim($page)!="last") ff_die("\$page is invalid! (".strip_tags($page).")",__FILE__,__LINE__); if ($page=="") $page="1"; $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is invalid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!user_can_view_argument(get_forum_root(),$group,$argument)){ echo ""; die(); } global $theme,$postperpage,$fuso_orario,$giorni,$mesi,$bgcolor2,$bgcolor3; $topicdata = array(); $topicdata = load_topic($topicpath); if (trim($page)=="last") $page=ceil(count($topicdata['posts'])/$postperpage); if (!is_forum_moderator() and $topicdata['properties']['hide']=="true"){ ff_die("Only admins and moderators can view hidden topics!"); } echo "

    \nThread:

    "; $posts = $topicdata['posts']; $post=array(); for ($count=count($posts); $count>0; $count--){ if ($count==$topicdata['properties']['postontop']) continue; $post = $posts[$count-1]; echo "".$posts[$count-1]['poster']." - "; //time $postime = $post['time']; echo $giorni[date("w",$postime+(3600*$fuso_orario))]; echo date(" d ",$postime+(3600*$fuso_orario)); $tmp=date(" m",$postime+(3600*$fuso_orario)); if ($tmp<10) $tmp=str_replace("0","",$tmp); echo $mesi[$tmp-1]; echo date(" Y ",$postime+(3600*$fuso_orario)); echo date(" H:i:s ",$postime+(3600*$fuso_orario)); echo "
    "; if ($post['lasteditposter']!="" and $post['lastedit']!=""){ echo "Ultima modifica di ".$post['lasteditposter']." ("; $postime = $post['lastedit']; echo $giorni[date("w",$postime+(3600*$fuso_orario))]; echo date(" d ",$postime+(3600*$fuso_orario)); $tmp=date(" m",$postime+(3600*$fuso_orario)); if ($tmp<10) $tmp=str_replace("0","",$tmp); echo $mesi[$tmp-1]; echo date(" Y ",$postime+(3600*$fuso_orario)); echo date(" H:i:s",$postime+(3600*$fuso_orario)); echo ")
    "; } echo "".tag2html($post['postsubj'],"forum")."
    "; echo tag2html($post['postbody'],"forum")."


    "; } //POST ON TOP $postontop = ""; $postontop = $topicdata['properties']['postontop']; if ($postontop!="" and isset($posts[$postontop])){ $post = $posts[$postontop]; echo "\"Ontop\" "; echo "".$post['poster']." - "; //time $postime = $post['time']; echo $giorni[date("w",$postime+(3600*$fuso_orario))]; echo date(" d ",$postime+(3600*$fuso_orario)); $tmp=date(" m",$postime+(3600*$fuso_orario)); if ($tmp<10) $tmp=str_replace("0","",$tmp); echo $mesi[$tmp-1]; echo date(" Y ",$postime+(3600*$fuso_orario)); echo date(" H:i:s ",$postime+(3600*$fuso_orario)); echo "
    "; if ($post['lasteditposter']!="" and $post['lastedit']!=""){ echo "Ultima modifica di ".$post['lasteditposter']." ("; $postime = $post['lastedit']; echo $giorni[date("w",$postime+(3600*$fuso_orario))]; echo date(" d ",$postime+(3600*$fuso_orario)); $tmp=date(" m",$postime+(3600*$fuso_orario)); if ($tmp<10) $tmp=str_replace("0","",$tmp); echo $mesi[$tmp-1]; echo date(" Y ",$postime+(3600*$fuso_orario)); echo date(" H:i:s",$postime+(3600*$fuso_orario)); echo ")
    "; } echo "".tag2html($post['postsubj'],"forum")."
    "; echo tag2html($post['postbody'],"forum")."


    "; } echo "
    "; } ?>flatnuke-2.7.2/forum/include/archive.php0000644000175000017500000005051610522421203017604 0ustar simonesimoneoptions = array( 'basedir'=>".", 'name'=>$name, 'prepend'=>"", 'inmemory'=>0, 'overwrite'=>0, 'recurse'=>1, 'storepaths'=>1, 'level'=>3, 'method'=>1, 'sfx'=>"", 'type'=>"", 'comment'=>"" ); $this->files = array(); $this->exclude = array(); $this->storeonly = array(); $this->error = array(); } function set_options($options) { foreach($options as $key => $value) { $this->options[$key] = $value; } if(!empty($this->options['basedir'])) { $this->options['basedir'] = str_replace("\\","/",$this->options['basedir']); $this->options['basedir'] = preg_replace("/\/+/","/",$this->options['basedir']); $this->options['basedir'] = preg_replace("/\/$/","",$this->options['basedir']); } if(!empty($this->options['name'])) { $this->options['name'] = str_replace("\\","/",$this->options['name']); $this->options['name'] = preg_replace("/\/+/","/",$this->options['name']); } if(!empty($this->options['prepend'])) { $this->options['prepend'] = str_replace("\\","/",$this->options['prepend']); $this->options['prepend'] = preg_replace("/^(\.*\/+)+/","",$this->options['prepend']); $this->options['prepend'] = preg_replace("/\/+/","/",$this->options['prepend']); $this->options['prepend'] = preg_replace("/\/$/","",$this->options['prepend']) . "/"; } } function create_archive() { $this->make_list(); if($this->options['inmemory'] == 0) { $pwd = getcwd(); chdir($this->options['basedir']); if($this->options['overwrite'] == 0 && file_exists($this->options['name'] . ($this->options['type'] == "gzip" || $this->options['type'] == "bzip"? ".tmp" : ""))) { $this->error[] = "File {$this->options['name']} already exists."; chdir($pwd); return 0; } else if($this->archive = @fopen($this->options['name'] . ($this->options['type'] == "gzip" || $this->options['type'] == "bzip"? ".tmp" : ""),"wb+")) { chdir($pwd); } else { $this->error[] = "Could not open {$this->options['name']} for writing."; chdir($pwd); return 0; } } else { $this->archive = ""; } switch($this->options['type']) { case "zip": if(!$this->create_zip()) { $this->error[] = "Could not create zip file."; return 0; } break; case "bzip": if(!$this->create_tar()) { $this->error[] = "Could not create tar file."; return 0; } if(!$this->create_bzip()) { $this->error[] = "Could not create bzip2 file."; return 0; } break; case "gzip": if(!$this->create_tar()) { $this->error[] = "Could not create tar file."; return 0; } if(!$this->create_gzip()) { $this->error[] = "Could not create gzip file."; return 0; } break; case "tar": if(!$this->create_tar()) { $this->error[] = "Could not create tar file."; return 0; } } if($this->options['inmemory'] == 0) { fclose($this->archive); if($this->options['type'] == "gzip" || $this->options['type'] == "bzip") { unlink($this->options['basedir'] . "/" . $this->options['name'] . ".tmp"); } } } function add_data($data) { if($this->options['inmemory'] == 0) { fwrite($this->archive,$data); } else { $this->archive .= $data; } } function make_list() { if(!empty($this->exclude)) { foreach($this->files as $key => $value) { foreach($this->exclude as $current) { if($value['name'] == $current['name']) { unset($this->files[$key]); } } } } if(!empty($this->storeonly)) { foreach($this->files as $key => $value) { foreach($this->storeonly as $current) { if($value['name'] == $current['name']) { $this->files[$key]['method'] = 0; } } } } unset($this->exclude,$this->storeonly); } function add_files($list) { $temp = $this->list_files($list); foreach($temp as $current) { $this->files[] = $current; } } function exclude_files($list) { $temp = $this->list_files($list); foreach($temp as $current) { $this->exclude[] = $current; } } function store_files($list) { $temp = $this->list_files($list); foreach($temp as $current) { $this->storeonly[] = $current; } } function list_files($list) { if(!is_array($list)) { $temp = $list; $list = array($temp); unset($temp); } $files = array(); $pwd = getcwd(); chdir($this->options['basedir']); foreach($list as $current) { $current = str_replace("\\","/",$current); $current = preg_replace("/\/+/","/",$current); $current = preg_replace("/\/$/","",$current); if(strstr($current,"*")) { $regex = preg_replace("/([\\\^\$\.\[\]\|\(\)\?\+\{\}\/])/","\\\\\\1",$current); $regex = str_replace("*",".*",$regex); $dir = strstr($current,"/")? substr($current,0,strrpos($current,"/")) : "."; $temp = $this->parse_dir($dir); foreach($temp as $current2) { if(preg_match("/^{$regex}$/i",$current2['name'])) { $files[] = $current2; } } unset($regex,$dir,$temp,$current); } else if(@is_dir($current)) { $temp = $this->parse_dir($current); foreach($temp as $file) { $files[] = $file; } unset($temp,$file); } else if(@file_exists($current)) { $files[] = array('name'=>$current,'name2'=>$this->options['prepend'] . preg_replace("/(\.+\/+)+/","",($this->options['storepaths'] == 0 && strstr($current,"/"))? substr($current,strrpos($current,"/") + 1) : $current),'type'=>0, 'ext'=>substr($current,strrpos($current,".")),'stat'=>stat($current)); } } chdir($pwd); unset($current,$pwd); usort($files,array("archive","sort_files")); return $files; } function parse_dir($dirname) { if($this->options['storepaths'] == 1 && !preg_match("/^(\.+\/*)+$/",$dirname)) { $files = array(array('name'=>$dirname,'name2'=>$this->options['prepend'] . preg_replace("/(\.+\/+)+/","",($this->options['storepaths'] == 0 && strstr($dirname,"/"))? substr($dirname,strrpos($dirname,"/") + 1) : $dirname),'type'=>5,'stat'=>stat($dirname))); } else { $files = array(); } $dir = @opendir($dirname); while($file = @readdir($dir)) { if($file == "." || $file == "..") { continue; } else if(@is_dir($dirname."/".$file)) { if(empty($this->options['recurse'])) { continue; } $temp = $this->parse_dir($dirname."/".$file); foreach($temp as $file2) { $files[] = $file2; } } else if(@file_exists($dirname."/".$file)) { $files[] = array('name'=>$dirname."/".$file,'name2'=>$this->options['prepend'] . preg_replace("/(\.+\/+)+/","",($this->options['storepaths'] == 0 && strstr($dirname."/".$file,"/"))? substr($dirname."/".$file,strrpos($dirname."/".$file,"/") + 1) : $dirname."/".$file),'type'=>0, 'ext'=>substr($file,strrpos($file,".")),'stat'=>stat($dirname."/".$file)); } } @closedir($dir); return $files; } function sort_files($a,$b) { if($a['type'] != $b['type']) { return $a['type'] > $b['type']? -1 : 1; } else if($a['type'] == 5) { return strcmp(strtolower($a['name']),strtolower($b['name'])); } else { if($a['ext'] != $b['ext']) { return strcmp($a['ext'],$b['ext']); } else if($a['stat'][7] != $b['stat'][7]) { return $a['stat'][7] > $b['stat'][7]? -1 : 1; } else { return strcmp(strtolower($a['name']),strtolower($b['name'])); } } return 0; } function download_file() { if($this->options['inmemory'] == 0) { $this->error[] = "Can only use download_file() if archive is in memory. Redirect to file otherwise, it is faster."; return; } switch($this->options['type']) { case "zip": header("Content-type:application/zip"); break; case "bzip": header("Content-type:application/x-compressed"); break; case "gzip": header("Content-type:application/x-compressed"); break; case "tar": header("Content-type:application/x-tar"); } $header = "Content-disposition: attachment; filename=\""; $header .= strstr($this->options['name'],"/")? substr($this->options['name'],strrpos($this->options['name'],"/") + 1) : $this->options['name']; $header .= "\""; header($header); header("Content-length: " . strlen($this->archive)); header("Content-transfer-encoding: binary"); header("Pragma: no-cache"); header("Expires: 0"); print($this->archive); } } class tar_file extends archive { function tar_file($name) { $this->archive($name); $this->options['type'] = "tar"; } function create_tar() { $pwd = getcwd(); chdir($this->options['basedir']); foreach($this->files as $current) { if($current['name'] == $this->options['name']) { continue; } if(strlen($current['name2']) > 99) { $path = substr($current['name2'],0,strpos($current['name2'],"/",strlen($current['name2']) - 100) + 1); $current['name2'] = substr($current['name2'],strlen($path)); if(strlen($path) > 154 || strlen($current['name2']) > 99) { $this->error[] = "Could not add {$path}{$current['name2']} to archive because the filename is too long."; continue; } } $block = pack("a100a8a8a8a12a12a8a1a100a6a2a32a32a8a8a155a12",$current['name2'],decoct($current['stat'][2]), sprintf("%6s ",decoct($current['stat'][4])),sprintf("%6s ",decoct($current['stat'][5])), sprintf("%11s ",decoct($current['stat'][7])),sprintf("%11s ",decoct($current['stat'][9])), " ",$current['type'],"","ustar","00","Unknown","Unknown","","",!empty($path)? $path : "",""); $checksum = 0; for($i = 0; $i < 512; $i++) { $checksum += ord(substr($block,$i,1)); } $checksum = pack("a8",sprintf("%6s ",decoct($checksum))); $block = substr_replace($block,$checksum,148,8); if($current['stat'][7] == 0) { $this->add_data($block); } else if($fp = @fopen($current['name'],"rb")) { $this->add_data($block); while($temp = fread($fp,1048576)) { $this->add_data($temp); } if($current['stat'][7] % 512 > 0) { $temp = ""; for($i = 0; $i < 512 - $current['stat'][7] % 512; $i++) { $temp .= "\0"; } $this->add_data($temp); } fclose($fp); } else { $this->error[] = "Could not open file {$current['name']} for reading. It was not added."; } } $this->add_data(pack("a512","")); chdir($pwd); return 1; } function extract_files() { $pwd = getcwd(); chdir($this->options['basedir']); if($fp = $this->open_archive()) { if($this->options['inmemory'] == 1) { $this->files = array(); } while($block = fread($fp,512)) { $temp = unpack("a100name/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1type/a100temp/a6magic/a2temp/a32temp/a32temp/a8temp/a8temp/a155prefix/a12temp",$block); $file = array( 'name'=>$temp['prefix'] . $temp['name'], 'stat'=>array( 2=>$temp['mode'], 4=>octdec($temp['uid']), 5=>octdec($temp['gid']), 7=>octdec($temp['size']), 9=>octdec($temp['mtime']), ), 'checksum'=>octdec($temp['checksum']), 'type'=>$temp['type'], 'magic'=>$temp['magic'], ); if($file['checksum'] == 0x00000000) { break; } else if($file['magic'] != "ustar") { $this->error[] = "This script does not support extracting this type of tar file."; break; } $block = substr_replace($block," ",148,8); $checksum = 0; for($i = 0; $i < 512; $i++) { $checksum += ord(substr($block,$i,1)); } if($file['checksum'] != $checksum) { $this->error[] = "Could not extract from {$this->options['name']}, it is corrupt."; } if($this->options['inmemory'] == 1) { $file['data'] = fread($fp,$file['stat'][7]); fread($fp,(512 - $file['stat'][7] % 512) == 512? 0 : (512 - $file['stat'][7] % 512)); unset($file['checksum'],$file['magic']); $this->files[] = $file; } else { if($file['type'] == 5) { if(!is_dir($file['name'])) { mkdir($file['name'],$file['stat'][2]); chown($file['name'],$file['stat'][4]); chgrp($file['name'],$file['stat'][5]); } } else if($this->options['overwrite'] == 0 && file_exists($file['name'])) { $this->error[] = "{$file['name']} already exists."; } else if($new = @fopen($file['name'],"wb")) { fwrite($new,fread($fp,$file['stat'][7])); fread($fp,(512 - $file['stat'][7] % 512) == 512? 0 : (512 - $file['stat'][7] % 512)); fclose($new); chmod($file['name'],$file['stat'][2]); chown($file['name'],$file['stat'][4]); chgrp($file['name'],$file['stat'][5]); } else { $this->error[] = "Could not open {$file['name']} for writing."; } } unset($file); } } else { $this->error[] = "Could not open file {$this->options['name']}"; } chdir($pwd); } function open_archive() { return @fopen($this->options['name'],"rb"); } } class gzip_file extends tar_file { function gzip_file($name) { $this->tar_file($name); $this->options['type'] = "gzip"; } function create_gzip() { if($this->options['inmemory'] == 0) { $pwd = getcwd(); chdir($this->options['basedir']); if($fp = gzopen($this->options['name'],"wb{$this->options['level']}")) { fseek($this->archive,0); while($temp = fread($this->archive,1048576)) { gzwrite($fp,$temp); } gzclose($fp); chdir($pwd); } else { $this->error[] = "Could not open {$this->options['name']} for writing."; chdir($pwd); return 0; } } else { $this->archive = gzencode($this->archive,$this->options['level']); } return 1; } function open_archive() { return @gzopen($this->options['name'],"rb"); } } class bzip_file extends tar_file { function bzip_file($name) { $this->tar_file($name); $this->options['type'] = "bzip"; } function create_bzip() { if($this->options['inmemory'] == 0) { $pwd = getcwd(); chdir($this->options['basedir']); if($fp = bzopen($this->options['name'],"wb")) { fseek($this->archive,0); while($temp = fread($this->archive,1048576)) { bzwrite($fp,$temp); } bzclose($fp); chdir($pwd); } else { $this->error[] = "Could not open {$this->options['name']} for writing."; chdir($pwd); return 0; } } else { $this->archive = bzcompress($this->archive,$this->options['level']); } return 1; } function open_archive() { return @bzopen($this->options['name'],"rb"); } } class zip_file extends archive { function zip_file($name) { $this->archive($name); $this->options['type'] = "zip"; } function create_zip() { $files = 0; $offset = 0; $central = ""; if(!empty($this->options['sfx'])) { if($fp = @fopen($this->options['sfx'],"rb")) { $temp = fread($fp,filesize($this->options['sfx'])); fclose($fp); $this->add_data($temp); $offset += strlen($temp); unset($temp); } else { $this->error[] = "Could not open sfx module from {$this->options['sfx']}."; } } $pwd = getcwd(); chdir($this->options['basedir']); foreach($this->files as $current) { if($current['name'] == $this->options['name']) { continue; } /*$translate = array(''=>pack("C",128),''=>pack("C",129),''=>pack("C",130),''=>pack("C",131),''=>pack("C",132), ''=>pack("C",133),''=>pack("C",134),''=>pack("C",135),''=>pack("C",136),''=>pack("C",137), ''=>pack("C",138),''=>pack("C",139),''=>pack("C",140),''=>pack("C",141),''=>pack("C",142), ''=>pack("C",143),''=>pack("C",144),''=>pack("C",145),''=>pack("C",146),''=>pack("C",147), ''=>pack("C",148),''=>pack("C",149),''=>pack("C",150),''=>pack("C",151),'_'=>pack("C",152), ''=>pack("C",153),''=>pack("C",154),''=>pack("C",156),''=>pack("C",157),'_'=>pack("C",158), ''=>pack("C",159),''=>pack("C",160),''=>pack("C",161),''=>pack("C",162),''=>pack("C",163), ''=>pack("C",164),''=>pack("C",165)); //$current['name2'] = strtr($current['name2'],$translate); */ $timedate = explode(" ",date("Y n j G i s",$current['stat'][9])); $timedate = ($timedate[0] - 1980 << 25) | ($timedate[1] << 21) | ($timedate[2] << 16) | ($timedate[3] << 11) | ($timedate[4] << 5) | ($timedate[5]); $block = pack("VvvvV",0x04034b50,0x000A,0x0000,(isset($current['method']) || $this->options['method'] == 0)? 0x0000 : 0x0008,$timedate); if($current['stat'][7] == 0 && $current['type'] == 5) { $block .= pack("VVVvv",0x00000000,0x00000000,0x00000000,strlen($current['name2']) + 1,0x0000); $block .= $current['name2'] . "/"; $this->add_data($block); $central .= pack("VvvvvVVVVvvvvvVV",0x02014b50,0x0014,$this->options['method'] == 0? 0x0000 : 0x000A,0x0000, (isset($current['method']) || $this->options['method'] == 0)? 0x0000 : 0x0008,$timedate, 0x00000000,0x00000000,0x00000000,strlen($current['name2']) + 1,0x0000,0x0000,0x0000,0x0000,$current['type'] == 5? 0x00000010 : 0x00000000,$offset); $central .= $current['name2'] . "/"; $files++; $offset += (31 + strlen($current['name2'])); } else if($current['stat'][7] == 0) { $block .= pack("VVVvv",0x00000000,0x00000000,0x00000000,strlen($current['name2']),0x0000); $block .= $current['name2']; $this->add_data($block); $central .= pack("VvvvvVVVVvvvvvVV",0x02014b50,0x0014,$this->options['method'] == 0? 0x0000 : 0x000A,0x0000, (isset($current['method']) || $this->options['method'] == 0)? 0x0000 : 0x0008,$timedate, 0x00000000,0x00000000,0x00000000,strlen($current['name2']),0x0000,0x0000,0x0000,0x0000,$current['type'] == 5? 0x00000010 : 0x00000000,$offset); $central .= $current['name2']; $files++; $offset += (30 + strlen($current['name2'])); } else if($fp = @fopen($current['name'],"rb")) { $temp = fread($fp,$current['stat'][7]); fclose($fp); $crc32 = crc32($temp); if(!isset($current['method']) && $this->options['method'] == 1) { $temp = gzcompress($temp,$this->options['level']); $size = strlen($temp) - 6; $temp = substr($temp,2,$size); } else { $size = strlen($temp); } $block .= pack("VVVvv",$crc32,$size,$current['stat'][7],strlen($current['name2']),0x0000); $block .= $current['name2']; $this->add_data($block); $this->add_data($temp); unset($temp); $central .= pack("VvvvvVVVVvvvvvVV",0x02014b50,0x0014,$this->options['method'] == 0? 0x0000 : 0x000A,0x0000, (isset($current['method']) || $this->options['method'] == 0)? 0x0000 : 0x0008,$timedate, $crc32,$size,$current['stat'][7],strlen($current['name2']),0x0000,0x0000,0x0000,0x0000,0x00000000,$offset); $central .= $current['name2']; $files++; $offset += (30 + strlen($current['name2']) + $size); } else { $this->error[] = "Could not open file {$current['name']} for reading. It was not added."; } } $this->add_data($central); $this->add_data(pack("VvvvvVVv",0x06054b50,0x0000,0x0000,$files,$files,strlen($central),$offset, !empty($this->options['comment'])? strlen($this->options['comment']) : 0x0000)); if(!empty($this->options['comment'])) { $this->add_data($this->options['comment']); } chdir($pwd); return 1; } } ?>flatnuke-2.7.2/forum/include/ff_functions.php0000644000175000017500000023341111040603570020650 0ustar simonesimonemisc/flatforum/"; fnwrite("misc/flatforum/ffmotd.php"," ","w",array()); } else echo "Non sono riuscito a creare la cartella misc/flatforum, verificare i permessi"; } else echo "La cartella misc non e' scrivibile, verificare i permessi!"; } return "misc/flatforum/"; // $mod = getparam("mod",PAR_GET,SAN_FLAT); // if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); // return "sections/$mod"; } /** * Elenca i gruppi di categorie del forum a partire da $root * * Elenca i gruppi di categorie del forum indicato da $root. * * @param string $root la cartella dalla quale elencare le categorie * @since 0.1 * @author Aldo Boccacci */ function list_forum_groups($root){ $root=getparam($root,PAR_NULL,SAN_FLAT); if (!check_path($root,get_forum_root(),"false")) ff_die("forum root is not valid!",__FILE__,__LINE__); $groups = array(); $group =""; $tempgroups=array(); $tempgroups=glob("$root/*",GLOB_ONLYDIR); if (count($tempgroups)>0 and is_array($tempgroups)){ foreach ($tempgroups as $group){ if (is_dir($group) and !eregi("^none_",$group)) $groups[] = basename($group); } } return $groups; } /** * Elenca i gruppi di categorie del forum a partire da $root * * Elenca i gruppi di categorie del forum indicato da $root. * * @param string $root la cartella dalla quale elencare le categorie * @since 0.1 * @author Aldo Boccacci */ function list_group_arguments($root,$group){ $root=getparam($root,PAR_NULL,SAN_FLAT); $group=getparam($group,PAR_NULL,SAN_FLAT); if (!check_path($root,get_forum_root(),"false")) ff_die("forum root is not valid!",__FILE__,__LINE__); $arguments = array(); if (!check_path($group,"","false")) ff_die("forum group is not valid!",__FILE__,__LINE__); $arguments = array(); if (!check_path("$root/$group",get_forum_root(),"false")) ff_die("forum root+group is not valid!",__FILE__,__LINE__); $arguments = array(); $argument=""; $temparguments=array(); $temparguments= glob("$root/$group/*",GLOB_ONLYDIR); if (count($temparguments>0) and is_array($temparguments)){ foreach ($temparguments as $argument){ if (is_dir($argument) and !eregi("^none_",$argument)) $arguments[] = basename($argument); } } return $arguments; } /** * Restituisce l'elenco dei topics della categoria indicata * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string argument l'argomento di cui restituire i topics * @param boolean $first_on_top se settato a "true" antepone nell'elenco i topic evidenziati * @author Aldo Boccacci * @since 0.1 */ function list_argument_topics($root,$group,$argument,$first_on_top="false",$show_hidden="true"){ if (!check_path($root,get_forum_root(),"false")) ff_die("forum root is not valid!",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("forum group is not valid!",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("forum argument is not valid!",__FILE__,__LINE__); if (!check_path("$root/$group/$argument",get_forum_root(),"false")) ff_die("forum root+argument is not valid!",__FILE__,__LINE__); if (!check_var($first_on_top,"boolean")) ff_die("\$first_on_top must be a boolean! ",__FILE__,__LINE__); if (!check_var($show_hidden,"boolean")) ff_die("\$show_hidden must be a boolean! ",__FILE__,__LINE__); if (!is_dir("$root/$group/$argument")) return array(); $sortedtopics = array(); if ($first_on_top=="true"){ $important_topics = array(); $important_topics = glob("$root/$group/$argument/top_*.ff.php"); $isortedtopics=array(); $itopic=""; if (count($important_topics)>0){ foreach ($important_topics as $itopic){ $time = ""; $topicdata = array(); // $topicdata = load_topic_properties($itopic); $time = latest_post_time($itopic); if ($show_hidden=="false" and preg_match("/^hide_/",basename($topic))) continue; $isortedtopics[$time] = $itopic; } } if (count($isortedtopics)!=0) krsort($isortedtopics); $ntopics = array(); $ntopics = glob("$root/$group/$argument/*.ff.php"); $ntopic = ""; $nsortedtopics = array(); if (count($ntopics)>0){ foreach ($ntopics as $ntopic){ if (preg_match("/^top_/",basename($ntopic))) continue; //verifico se e' nascosto $topicdata = array(); // $topicdata = load_topic_properties($ntopic); $time = latest_post_time($ntopic); if ($show_hidden=="false" and preg_match("/^hide_/",basename($topic))) continue; $nsortedtopics[$time] = $ntopic; } } if (count($nsortedtopics)!=0) krsort($nsortedtopics); if (count($isortedtopics)!=0){ foreach ($isortedtopics as $topic){ $sortedtopics[] = $topic; } } if (count($nsortedtopics)!=0){ foreach ($nsortedtopics as $topic){ $sortedtopics[] = $topic; } } } else { $topics = array(); // $topics = glob("$root/$group/$argument/*.ff.php"); $fdirectory = opendir( "$root/$group/$argument/" ); $tmpfile=""; while ($tmpfile = readdir($fdirectory)) { if (preg_match("/\.ff\.php$/",$tmpfile)) { // echo "$tmpfile
    "; // $topics[]="$root/$group/$argument/".$tmpfile; array_push($topics, "$root/$group/$argument/".$tmpfile); } } // die(); // return $topics; $topic = ""; $sortedtopics = array(); for ($count=0;$count"; $sortedtopics[$time] = $topic; } krsort($sortedtopics); } return $sortedtopics; } /** * Restituisce l'elenco dei topics della categoria indicata senza ordinarli * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string argument l'argomento di cui restituire i topics * @param boolean $first_on_top se settato a "true" antepone nell'elenco i topic evidenziati * @author Aldo Boccacci * @since 0.1 */ function fast_list_argument_topics($root,$group,$argument){ if (!check_path($root,get_forum_root(),"false")) ff_die("forum root is not valid!",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("forum group is not valid!",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("forum argument is not valid!",__FILE__,__LINE__); if (!check_path("$root/$group/$argument",get_forum_root(),"false")) ff_die("forum root+argument is not valid!",__FILE__,__LINE__); if (!is_dir("$root/$group/$argument")) return array(); $topics = array(); $topics = glob("$root/$group/$argument/*.ff.php"); return $topics; } /** * Carica in un array multidimensionale il file xml con i dati del topic * * Struttura dell'array restituito: * $data['properties']['topictitle'] = il titolo del topic * $data['properties']['icon'] = l'icona associata al topic * $data['properties']['locked'] = indica se il topic e' bloccato * $data['properties']['hide'] = indica se il topic e' nascosto * $data['properties']['hits'] = indica il numero di letture del topic * $data['properties']['important'] = indica se il topic deve essere messo in rilievo * $data['properties']['postontop'] = indica se un post deve essere sempre visualizzato per primo * $data['properties']['level'] = indica il livello del topic * $data['properties']['postscount'] = il numero di posts presenti * $data['properties']['emailalert'] = array con i nomi degli utenti da avvisare via mail * * $data['posts'][]['icon'] = l'icona associata al post * $data['posts'][]['uploader'] = l'utente che ha postato il commento * $data['posts'][]['postsbj'] = il titolo del post * $data['posts'][]['postbody'] = il corpo del post * $data['posts'][]['time'] = l'ora di invio del post * $data['posts'][]['lasteditposter'] = l'utente che ha modificato il post per ultimo * $data['posts'][]['lastedit'] = l'ora di invio dell'ultima modifica del post * * @param string $topicfile Il file di cui caricare le impostazioni * @return un array con i dati del topic * @author Aldo Boccacci * @since 0.1 */ function load_topic($topicfile){ //x windows... if ($topicfile=="NULL") return; if (!check_path($topicfile,get_forum_root(),"true")) ff_die("Topic file path is not valid! (".strip_tags($topicfile).") ".basename(__FILE__).": ".__LINE__); if (!is_file($topicfile)) return NULL; $data = array(); $string = ""; $string = get_file($topicfile); global $theme; //CARICO LE PROPRIETA' DEL TOPIC $properties = array(); $properties = ff_get_xml_element("ff:properties",$string); $topictitle = ""; $topictitle = ff_get_xml_element("ff:topictitle",$properties); if (check_var($topictitle,"text")) $data['properties']['topictitle'] = $topictitle; else $data['properties']['topictitle'] = ""; $topic_icon = ""; $topic_icon = ff_get_xml_element("ff:icon",$properties); if (check_path($topic_icon,"","false") and trim($topic_icon)=="") $data['properties']['icon'] = $topic_icon; else $data['properties']['icon'] = "themes/$theme/images/section.png"; $topiclocked = ""; $topiclocked =ff_get_xml_element("ff:locked",$properties); if (check_var($topiclocked,"boolean")) $data['properties']['locked'] = $topiclocked; else $data['properties']['locked'] = "false"; $topichide = ""; $topichide = ff_get_xml_element("ff:hide",$properties); if (check_var($topichide,"boolean")) $data['properties']['hide'] = $topichide; else $data['properties']['hide'] = "false"; $topichits = ""; $topichits = ff_get_xml_element("ff:hits",$properties); if (check_var($topichits,"digit")) $data['properties']['hits'] = $topichits; else $data['properties']['hits'] = "0"; $topic_important = ""; $topic_important = ff_get_xml_element("ff:important",$properties); if (check_var($topic_important,"boolean")) $data['properties']['important'] = $topic_important; else $data['properties']['important'] = "false"; $topicpostontop = ""; $topicpostontop = ff_get_xml_element("ff:postontop",$properties); if (check_var($topicpostontop,"digit")) $data['properties']['postontop'] = $topicpostontop; else $data['properties']['postontop'] = ""; $topic_level = ""; $topic_level = ff_get_xml_element("ff:level",$properties); if (check_var($topic_level,"digit")) $data['properties']['level'] = $topic_level; else $data['properties']['level'] = "0"; //utenti da avvertire via mail $userstoalert = get_xml_array("ff:user",ff_get_xml_element("ff:emailalert",$properties)); $user=""; $data['properties']['emailalert'] = array(); if (count($userstoalert)>0){ foreach ($userstoalert as $user){ if (is_alphanumeric($user)) $data['properties']['emailalert'][]= $user; } } //CARICO I POST $posts = array(); $posts = get_xml_array("ff:post",ff_get_xml_element("ff:posts",$string)); $post = ""; $count=0; foreach ($posts as $post){ $countpost = $count++; //icona associata al post $posticon = ""; $posticon = ff_get_xml_element("ff:posticon",$post); if (check_path($posticon,"","false") and trim($posticon)!="") $data['posts'][$countpost]['posticon'] = $posticon; else $data['posts'][$countpost]['posticon'] = "themes/$theme/images/section.png"; //l'utente che ha lasciato il post $poster = ""; $poster = ff_get_xml_element("ff:poster",$post); if (is_alphanumeric($poster)) $data['posts'][$countpost]['poster'] = $poster; else $data['posts'][$countpost]['poster'] = ""; //Subject del post $postsubj = ""; $postsubj = ff_get_xml_element("ff:postsubj",$post); if (check_var($postsubj,"text")) $data['posts'][$countpost]['postsubj'] = $postsubj; else $data['posts'][$countpost]['postsubj'] = ""; //body del post $postbody = ""; $postbody = ff_get_xml_element("ff:postbody",$post); if (check_var($postbody,"text")) $data['posts'][$countpost]['postbody'] = $postbody; else $data['posts'][$countpost]['postbody'] = ""; //data di caricamento del post $post_time = ""; $post_time = ff_get_xml_element("ff:time",$post); if (check_var($post_time,"digit")) $data['posts'][$countpost]['time'] = $post_time; else $data['posts'][$countpost]['time'] = "0"; //l'utente che ha modificato per ultimo il post $lasteditposter = ""; $lasteditposter = ff_get_xml_element("ff:lasteditposter",$post); if (is_alphanumeric($lasteditposter)) $data['posts'][$countpost]['lasteditposter'] = $lasteditposter; else $data['posts'][$countpost]['lasteditposter'] = ""; //data di caricamento dell'ultima modifica del post $lastedit_time = ""; $lastedit_time = ff_get_xml_element("ff:lastedit",$post); if (check_var($lastedit_time,"digit")) $data['posts'][$countpost]['lastedit'] = $lastedit_time; else $data['posts'][$countpost]['lastedit'] = "0"; } //conteggio dei posts if (eregi("\.*\",$properties)){ $data['properties']['postscount'] = ff_get_xml_element("ff:postscount",$properties); } else $data['properties']['postscount'] = count($data['posts']); return $data; } /** * Carica in un array multidimensionale il file xml con i dati del topic * (SOLTANTO PER LA VISUALIZZAZIONE DEI GRUPPI!!!!) * * @param string $topicfile Il file di cui caricare le impostazioni * @return un array con i dati del topic (VERSIONE RIDOTTA!) * @author Aldo Boccacci * @since 0.1 */ function fast_load_topic($topicfile){ //x windows... if ($topicfile=="NULL") return; if (!check_path($topicfile,get_forum_root(),"true")) ff_die("Topic file path is not valid! (".strip_tags($topicfile).") ".basename(__FILE__).": ".__LINE__); if (!is_file($topicfile)) return NULL; $data = array(); $string = ""; $string = get_file($topicfile); global $theme; //CARICO LE PROPRIETA' DEL TOPIC $properties = array(); $properties = ff_get_xml_element("ff:properties",$string); $topictitle = ""; $topictitle = ff_get_xml_element("ff:topictitle",$properties); if (check_var($topictitle,"text")) $data['properties']['topictitle'] = $topictitle; else $data['properties']['topictitle'] = ""; $topic_icon = ""; $topic_icon = ff_get_xml_element("ff:icon",$properties); if (check_path($topic_icon,"","false") and trim($topic_icon)=="") $data['properties']['icon'] = $topic_icon; else $data['properties']['icon'] = "themes/$theme/images/section.png"; $topiclocked = ""; $topiclocked =ff_get_xml_element("ff:locked",$properties); if (check_var($topiclocked,"boolean")) $data['properties']['locked'] = $topiclocked; else $data['properties']['locked'] = "false"; $topichits = ""; $topichits = ff_get_xml_element("ff:hits",$properties); if (check_var($topichits,"digit")) $data['properties']['hits'] = $topichits; else $data['properties']['hits'] = "0"; $topic_important = ""; $topic_important = ff_get_xml_element("ff:important",$properties); if (check_var($topic_important,"boolean")) $data['properties']['important'] = $topic_important; else $data['properties']['important'] = "false"; $topic_level = ""; $topic_level = ff_get_xml_element("ff:level",$properties); if (check_var($topic_level,"digit")) $data['properties']['level'] = $topic_level; else $data['properties']['level'] = "0"; //CARICO I POST $posts = array(); $posts = get_xml_array("ff:post",ff_get_xml_element("ff:posts",$string)); $post = ""; $count=0; foreach ($posts as $post){ $countpost = $count++; //solo il primo e l'ultimo if (!($count==1 or $count==count($posts))){ $data['posts'][$countpost]=""; continue; } //l'utente che ha lasciato il post $poster = ""; $poster = ff_get_xml_element("ff:poster",$post); if (is_alphanumeric($poster)) $data['posts'][$countpost]['poster'] = $poster; else $data['posts'][$countpost]['poster'] = ""; //data di caricamento del post $post_time = ""; $post_time = ff_get_xml_element("ff:time",$post); if (check_var($post_time,"digit")) $data['posts'][$countpost]['time'] = $post_time; else $data['posts'][$countpost]['time'] = "0"; } //conteggio dei posts if (eregi("\.*\",$properties)){ $data['properties']['postscount'] = ff_get_xml_element("ff:postscount",$properties); } else $data['properties']['postscount'] = count($data['posts']); return $data; } /** * Carica in un array multidimensionale il file xml con le proprieta' del topic * * Struttura dell'array restituito: * $data['properties']['topictitle'] = il titolo del topic * $data['properties']['icon'] = l'icona associata al topic * $data['properties']['locked'] = indica se il topic e' bloccato * $data['properties']['hide'] = indica se il topic e' nascosto * $data['properties']['hits'] = indica il numero di letture del topic * $data['properties']['important'] = indica se il topic deve essere messo in rilievo * $data['properties']['postontop'] = indica se un post deve essere sempre visualizzato per primo * $data['properties']['level'] = indica il livello del topic * $data['properties']['emailalert'] = array con i nomi degli utenti da avvisare via mail * * @param string $topicfile Il file di cui caricare le impostazioni * @return un array con i dati del topic * @author Aldo Boccacci * @since 0.1 */ function load_topic_properties($topicfile){ //x windows... if ($topicfile=="NULL") return; if (!check_path($topicfile,get_forum_root(),"true")) ff_die("Topic file path is not valid! ".basename(__FILE__).": ".__LINE__); if (!is_file($topicfile)) return NULL; $data = array(); $string = ""; $string = get_file($topicfile); global $theme; //CARICO LE PROPRIETA' DEL TOPIC $properties = array(); $properties = ff_get_xml_element("ff:properties",$string); $topictitle = ""; $topictitle = ff_get_xml_element("ff:topictitle",$properties); if (check_var($topictitle,"text")) $data['properties']['topictitle'] = $topictitle; else $data['properties']['topictitle'] = ""; $topic_icon = ""; $topic_icon = ff_get_xml_element("ff:icon",$properties); if (check_path($topic_icon,"","false") and trim($topic_icon)=="") $data['properties']['icon'] = $topic_icon; else $data['properties']['icon'] = "themes/$theme/images/section.png"; $topiclocked = ""; $topiclocked =ff_get_xml_element("ff:locked",$properties); if (check_var($topiclocked,"boolean")) $data['properties']['locked'] = $topiclocked; else $data['properties']['locked'] = "false"; $topichide = ""; $topichide = ff_get_xml_element("ff:hide",$properties); if (check_var($topichide,"boolean")) $data['properties']['hide'] = $topichide; else $data['properties']['hide'] = "false"; $topichits = ""; $topichits = ff_get_xml_element("ff:hits",$properties); if (check_var($topichits,"digit")) $data['properties']['hits'] = $topichits; else $data['properties']['hits'] = "0"; $topic_important = ""; $topic_important = ff_get_xml_element("ff:important",$properties); if (check_var($topic_important,"boolean")) $data['properties']['important'] = $topic_important; else $data['properties']['important'] = "false"; $topicpostontop = ""; $topicpostontop = ff_get_xml_element("ff:postontop",$properties); if (check_var($topicpostontop,"digit")) $data['properties']['postontop'] = $topicpostontop; else $data['properties']['postontop'] = ""; $topic_level = ""; $topic_level = ff_get_xml_element("ff:level",$properties); if (check_var($topic_level,"digit")) $data['properties']['level'] = $topic_level; else $data['properties']['level'] = "0"; //utenti da avvertire via mail $userstoalert = get_xml_array("ff:user",ff_get_xml_element("ff:emailalert",$properties)); $user=""; $data['properties']['emailalert'] = array(); if (count($userstoalert)>0){ foreach ($userstoalert as $user){ if (is_alphanumeric($user)) $data['properties']['emailalert'][]= $user; } } //conteggio dei posts if (eregi("\.*\",$properties)){ $data['properties']['postscount'] = ff_get_xml_element("ff:postscount",$properties); } else $data['properties']['postscount'] = 0; //CARICO I POST // $posts = array(); // $posts = get_xml_array("ff:post",ff_get_xml_element("ff:posts",$string)); // // $post = ""; // $totposts = count($posts); // $count=0; // foreach ($posts as $post){ // $countpost = $count++; // // if ($countpost==$totposts){ // $data['posts'][$countpost]=""; // // } // else { // //data di caricamento dell'ultimo post // $post_time = ""; // $post_time = ff_get_xml_element("ff:time",$post); // if (check_var($post_time,"digit")) // $data['posts'][$countpost]['time'] = $post_time; // else $data['posts'][$countpost]['time'] = "0"; // } // } return $data; } /** * Salva in un file xml tutti i dati relativi al topic. * * Questa funzione salva nel file $topicfile l'array di dati $data sotto * forma di xml. * * @param string $topicfile il file in cui salvare i dati * @param array $data la struttura dei dati da salvare * @author Aldo Boccacci * @since 0.1 */ function save_topic($topicfile,$data){ if (!check_path($topicfile,get_forum_root(),"true")) ff_die("\$topicfile is not valid! ".basename(__FILE__).": ".__LINE__); if (!is_array($data)) ff_die("\$data must be an array()! ".__FILE__.": ".__LINE__); //controllo properties if (isset($data['properties']['topictitle'])){ $topictitle = stripslashes(strip_tags($data['properties']['topictitle'])); } else $topictitle = ""; if (isset($data['properties']['icon'])){ $icon = strip_tags($data['properties']['icon']); if (!check_path($icon,"","false")) $icon=""; } else $icon = ""; if (isset($data['properties']['locked'])){ $locked = strip_tags($data['properties']['locked']); if (!check_var($locked,"boolean")) $locked="false"; } else $locked = "false"; if (isset($data['properties']['hide'])){ $hide = strip_tags($data['properties']['hide']); if (!check_var($hide,"boolean")) $hide="false"; } else $hide = "false"; if (isset($data['properties']['hits'])){ $hits = strip_tags($data['properties']['hits']); if (!check_var($hits,"digit")) $hits="0"; } else $hits = "0"; if (isset($data['properties']['important'])){ $important = strip_tags($data['properties']['important']); if (!check_var($important,"boolean")) $important="false"; } else $important = "false"; if (isset($data['properties']['postontop'])){ $postontop = strip_tags($data['properties']['postontop']); if (!check_var($postontop,"digit")) $postontop=""; } else $postontop = ""; if (isset($data['properties']['level'])){ $level = strip_tags($data['properties']['level']); if (!check_var($level,"digit") and $level<=10 and $level>=0) $level="0"; } else $level = "0"; if (isset($data['properties']['postscount'])){ $postscount = strip_tags($data['properties']['postscount']); if (!check_var($postscount,"digit")) $postscount = count($data['posts']); } else $postscount = count($data['posts']); $user =""; $useralert = array(); if (isset($data['properties']['emailalert'])){ if (is_array($data['properties']['emailalert']) and count($data['properties']['emailalert'])>0){ foreach($data['properties']['emailalert'] as $user){ if (is_alphanumeric(trim($user))) $useralert[] = trim($user); } } else $data['properties']['emailalert']=array(); } else $data['properties']['emailalert'] = array(); $datastring = ""; $datastring = " $topictitle $icon $locked $hide $hits $important $postontop $level "; if (count($useralert)>0){ foreach ($useralert as $user){ $datastring .= "\n\t\t\t$user"; } } $datastring .="\n\t\t\n\t"; $datastring .= "\n\t"; //POSTS $post = array(); foreach ($data['posts'] as $post){ //CONTROLLO I DATI if (isset($post['posticon']) and check_path($post['posticon'],"","false")) $posticon = $post['posticon']; else $posticon=""; if (isset($post['poster']) and is_alphanumeric(strip_tags($post['poster']))) $poster = strip_tags($post['poster']); else $poster=""; if (isset($post['postsubj']) and check_var(strip_tags($post['postsubj']),"text")) $postsubj = stripslashes(strip_tags($post['postsubj'])); else $postsubj=""; //per permettere la visualizzazione di codice html if (isset($post['postbody'])){ $body = str_replace("<", "<", $post['postbody']); $body = str_replace(">", ">", $body); if (check_var(strip_tags($body),"text")) $postbody = stripslashes(strip_tags($body)); else $postbody = ""; } else $postbody=""; if (isset($post['time']) and check_var(strip_tags(trim($post['time'])),"digit")) $time = strip_tags(trim($post['time'])); else $time="0"; if (isset($post['lasteditposter']) and is_alphanumeric(strip_tags($post['lasteditposter']))) $lasteditposter = strip_tags($post['lasteditposter']); else $lasteditposter=""; if (isset($post['lastedit']) and check_var(strip_tags(trim($post['lastedit'])),"digit")) $lastedit = strip_tags(trim($post['lastedit'])); else $lastedit="0"; $datastring .= " $posticon $poster $postsubj $postbody $time $lasteditposter $lastedit "; } //controllo se l'argomento e' bloccato $dir =""; $dir = dirname($topicfile); if (file_exists("$dir/lock") and !is_admin() and !is_forum_moderator()){ echo "L'argomento e' bloccato"; return; } //devo essere nella cartella di un argomento (deve esistere il file argument.php) if (!file_exists("$dir/argument.php")){ echo "Non mi trovo all'interno di un argomento"; return; } $datastring .= "\n\t\n"; if (eregi("\<\?",$datastring) or eregi("\?\>",$datastring)) ff_die("\$datastring cannot contains php tags! ".__FILE__.": ".__LINE__); fnwrite($topicfile,"\n".$datastring,"w",array("nonull")); } /** * Funzione di die() personalizzata per flatforum che prima di uccidere il processo * salva un messaggio nel log * @param string $message il messaggio da stampare a schermo e da salvare nel log * @author Aldo Boccacci * @since 0.1 */ function ff_die($message="",$file="",$line=""){ if ($file!="" and check_path($file,"","true")) $file=strip_tags(basename(trim($file))); else $file=""; if (check_var(trim($line),"digit")) $line=strip_tags(trim($line)); else $line=""; if ($file!="" and $line!="") $message = "$message $file: $line"; // fnlog("FlatForum",$message); fflogf($message,"ERROR"); die($message); } /** * Carica le proprieta' dell'argomento specificato * * $data['icon'] = l'icona associata all'argomento * $data['description'] = la descrizione dell'argomento * $data['level'] = il livello dell'argomento * $data['moderators'] = i moderatori dell'argomento * * @param string $root la root del forum * @param string $argument il nome dell'argomento * @return un array con le proprieta' * @author Aldo Boccacci * @since 0.1 */ function load_argument_props($root,$group,$argument){ if (!check_path($root,get_forum_root(),"false")) ff_die("forum root is not valid!",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("argument is not valid! ", __FILE__, __LINE__); if (!check_path($group,"","false")) ff_die("group is not valid! ", __FILE__, __LINE__); if (!check_path("$root/$group/$argument",get_forum_root(),"false")) ff_die("argument path is not valid! ", __FILE__, __LINE__); global $theme; $data = array(); if (file_exists("$root/$group/$argument/argument.php")){ $string = ""; $string = get_file("$root/$group/$argument/argument.php"); $string = ff_get_xml_element("ff:argument",$string); if (checK_path(ff_get_xml_element("ff:icon",$string),"","false") and ff_get_xml_element("ff:icon",$string)!="") $data['icon'] = ff_get_xml_element("ff:icon",$string); else $data['icon'] = "themes/$theme/images/section.png"; if (checK_var(ff_get_xml_element("ff:description",$string),"text")) $data['description'] = ff_get_xml_element("ff:description",$string); else $data['description'] = ""; if (checK_var(ff_get_xml_element("ff:level",$string),"digit") or trim(ff_get_xml_element("ff:level",$string))=="-1") $data['level'] = ff_get_xml_element("ff:level",$string); else $data['level'] = "-1"; if ($data['level']!="-1" and ($data['level']<0 or $data['level']>10)) $data['level'] = "-1"; //moderatori $string = ff_get_xml_element("ff:moderators",$string); $moderators = array(); $moderator=""; $moderators = get_xml_array("ff:user",$string); $data['moderators'] = array(); if (count($moderators)>0){ foreach ($moderators as $moderator){ if (is_alphanumeric($moderator)) $data['moderators'][] = $moderator; } } } else { $data['icon'] ="themes/$theme/images/section.png"; $data['description'] = ""; $data['moderators'] = array(); $data['level'] = "-1"; } return $data; } /** * Salva le proprieta' dell'argomento * * Salva le proprieta' dell'argomento * * @param string $root la root del forum * @param string $argument il nome dell'argomento * @author Aldo Boccacci * @since 0.1 */ function save_argument_props($root,$group,$argument,$data){ if (!check_path($root,get_forum_root(),"false")) ff_die("forum root is not valid!",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("forum group is not valid!",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("argument is not valid! ", __FILE__, __LINE__); if (!check_path("$root/$argument",get_forum_root(),"false")) ff_die("argument path is not valid! ", __FILE__, __LINE__); if (!is_array($data)) ff_die("\$data must be an array()!",__FILE__,__LINE__); if (isset($data['icon'])){ if (check_path(trim($data['icon']),"","false")) $icon = trim(strip_tags($data['icon'])); else $icon=""; } else $icon = ""; if (isset($data['description'])){ if (check_var(trim($data['description']),"text")) $description = stripslashes(trim(strip_tags($data['description']))); else $description=""; } else $description = ""; if (isset($data['level'])){ if (check_var(trim($data['level']),"digit") or trim($data['level'])=="-1"){ $level = trim(strip_tags($data['level'])); if ($level!="-1" and ($level<0 or $level>10)) $level="-1"; } else $level="-1"; } else $level = "-1"; $moderators=array(); if (isset($data['moderators']) and is_array($data['moderators'])){ $moderator=""; foreach ($data['moderators'] as $moderator){ if (is_alphanumeric(trim(strip_tags($moderator)))) $moderators[] = trim(strip_tags($moderator)); } } $datastring=" $icon $description $level "; $moderator=""; foreach ($moderators as $moderator){ $datastring .="\n\t\t$moderator"; } $datastring .= "\n\t "; if (eregi("\<\?",$datastring) or eregi("\?\>",$datastring)) ff_die("\$datastring cannot contains php tags! ".__FILE__.": ".__LINE__); fnwrite("$root/$group/$argument/argument.php","\n".$datastring,"w",array("nonull")); } /** * L'interfaccia per operare sui post * Modalita' consentite: * - newtopic * - newpost * - editpost * * @param string mode la modalita' dell'interfaccia * @param string $file il file contenente i dati del topic * @author Aldo Boccacci * @since 0.1 */ function edit_post_interface($mode,$file=""){ $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $group = getparam("group",PAR_GET,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); $argument = getparam("argument",PAR_GET,SAN_FLAT); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $post = getparam("quote",PAR_GET,SAN_FLAT); if (!check_var($post,"digit")) ff_die("\$post is not valid! (".strip_tags($post).")",__FILE__,__LINE__); if (!eregi("^newtopic$|^newpost$|^editpost$",$mode)) ff_die("\$mode is not valid! (".strip_tags($mode).")",__FILE__,__LINE__); if ($file!="" and !check_path($file,get_forum_root(),"true")) ff_die("\$file is not valid! (".strip_tags($file).")",__FILE__,__LINE__); $ffaction=""; if ($mode=="newtopic") $ffaction="createnewtopic"; else if ($mode=="newpost") $ffaction="addpost"; else if ($mode=="editpost") $ffaction="edpost"; $subj =""; if ($mode=="newpost"){ $tmpdata = array(); $tmpdata = load_topic($file); $latest=""; $latest = count($tmpdata['posts']); if (!eregi("^Re: ",$tmpdata['posts'][$latest-1]['postsubj'])){ $subj= "Re: ".$tmpdata['posts'][$latest-1]['postsubj']; } else $subj = $tmpdata['posts'][$latest-1]['postsubj']; } else if ($mode=="editpost"){ $tmpdata = array(); $tmpdata = load_topic($file); $subj = $tmpdata['posts'][$post]['postsubj']; } $body=""; if ($mode=="newpost"){ if (isset($tmpdata['posts'][$post])){ $tmpdata = array(); $tmpdata = load_topic($file); $body="[quote]".$tmpdata['posts'][$post]['postbody']."[/quote]"; } } else if ($mode=="editpost"){ if (isset($tmpdata['posts'][$post])){ $tmpdata = array(); $tmpdata = load_topic($file); $body=$tmpdata['posts'][$post]['postbody']; } } echo "
    "; echo "
    "; if (trim($file)!=""){ echo ""; } echo ""; echo ""; echo ""; if ($mode=="editpost") echo ""; echo ""; if ($mode=="newtopic") echo ""; else if ($mode=="newpost") echo ""; echo ""; //oggetto echo ""; echo ""; //corpo echo ""; echo ""; echo ""; echo "
    "._FNUOVOTOP."

    "._FNUOVOMESS."

    "; bbcodes_panel("ffbody", "home", "formatting"); echo "
    "; bbcodes_panel("ffbody", "home", "emoticons"); echo "
    "._FOGG.":
    "._FMESS.":

      
    "; ?> 0){ $subj = getparam("ffsubj",PAR_POST,SAN_FLAT); if (check_var($subj,"text")) $subj = strip_tags($subj); else ff_die("\$subj is not valid!",__FILE__,__LINE__); } else { echo "Non hai inserito il soggetto del post.
    Indietro"; return; } //body if (isset($_POST['ffbody']) and strlen(trim($_POST['ffbody']))>0){ $body = getparam("ffbody",PAR_POST,SAN_NULL); $body = htmlentities($body); if (check_var($body,"text")) $body = strip_tags($body); else ff_die("\$body is not valid!",__FILE__,__LINE__); } else { echo "Non hai inserito il corpo del post.
    Indietro"; return; } if (!is_forum_moderator()){ if (ff_is_spam($subj,"words")) { echo "
    Il titolo del tuo messaggio contiene una parola marcata come spam.
    Torna indietro e modifica il titolo.

    Indietro
    "; return; } if (ff_is_spam($body,"words")) { echo "
    Il corpo del tuo messaggio contiene una parola marcata come spam.
    Torna indietro e modifica il messaggio.

    Indietro
    "; return; } } if (!user_can_view_argument(get_forum_root(),$group,$argument)){ echo ""; die(); } $time = time(); $data=array(); $data['properties']['topictitle']=$subj; $data['posts'][0]['poster']=get_username(); $data['posts'][0]['postsubj']=$subj; $data['posts'][0]['postbody']=$body; $data['posts'][0]['time']=$time; save_topic("$root/$group/$argument/$time.ff.php",$data); //aggiorno le statistiche dell'argomento $argumentstats = load_argument_stats($group,$argument); $argumentstats['topics']= ($argumentstats['topics']+1); $argumentstats['posts'] = ($argumentstats['posts']+1); $argumentstats['lastpost'] = "$root/$group/$argument/$time.ff.php"; save_argument_stats($group,$argument,$argumentstats); // add_topic_in_topics_list($group,$argument,"$root/$group/$argument/$time.ff.php"); update_topics_list($group,$argument); fflogf("Created topic \"".strip_tags($subj)."\" -> file ".strip_tags("$root/$group/$argument/$time.ff.php")); echo "
    "._FTOPOK; echo "

    "._FLEGGI."
    "; echo ""; } /** * Restituisce la versione di Flatforum * * @return la versione di FlatForum * @author Aldo Boccacci * @since 0.1 */ function get_ff_version(){ return "0.2"; } /** * Restituisce true se l'utente collegato ha i permessi di moderazione * * @return TRUE se l'utente collegato ha i permessi di moderazione * @author Aldo Boccacci * @since 0.1 */ function is_forum_moderator(){ if (is_admin()) return TRUE; global $forum_moderators; $moderators= array(); $moderators = explode(",",eregi_replace(" ","",$forum_moderators)); if (in_array(get_username(),$moderators)){ if (versecid(get_username(),"home") and is_user()) return TRUE; } } /** * Incrementa il contatore delle visite al topic * * @param string $topicfile il topic di riferimento * @author Aldo Boccacci * @since 0.1 */ function update_topic_hits($topicfile){ if (is_forum_moderator()) return; if (!check_path($topicfile,"","true")) ff_die("\$topicfile is not valid!(".strip_tags($topicfile).")",__FILE__,__LINE__); $topicdata = load_topic($topicfile); $topicdata['properties']['hits'] = $topicdata['properties']['hits']+1; save_topic($topicfile,$topicdata); } /** * Restituisce TRUE se il topic specificato non e' nascosto. * * @param string $topicfile il file contenente il topic * @since 0.1 * @author Aldo Boccacci */ function topic_is_visible($topicfile){ if (!check_path($topicfile,"","true")) ff_die("\$topicfile is not valid!(".strip_tags($topicfile).")",__FILE__,__LINE__); if (trim($topicfile)=="") return FALSE; $filename=""; $filename = basename($topicfile); if (eregi("^hide_",$filename)) return FALSE; else return TRUE; } /** * Restituisce TRUE se il topic specificato non e' nascosto. * * @param string $topicfile il file contenente il topic * @since 0.1 * @author Aldo Boccacci */ function topic_is_locked($topicfile){ if (!check_path($topicfile,"","true")) ff_die("\$topicfile is not valid!(".strip_tags($topicfile).")",__FILE__,__LINE__); //prima controllo se e' bloccato l'argomento $tmp = dirname($topicfile); $argument = basename($tmp); $tmp = dirname($tmp); $group = basename($tmp); if (argument_is_locked(get_forum_root(),$group,$argument)) return TRUE; $topicdata = load_topic_properties($topicfile); if ($topicdata['properties']['locked']=="true") return TRUE; else return FALSE; } /** * Controlla i parametri GET * * @author Aldo Boccacci * @since 0.1 */ function check_get_params(){ if (isset($_GET['mod'])){ $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")){ echo ""; ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); } } if (isset($_GET['group'])){ $group = getparam("group",PAR_GET,SAN_FLAT); if (!check_path($group,"","false")){ echo ""; ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); } if (!is_dir(stripslashes(get_forum_root()."/$group"))){ echo ""; ff_die("\$group doesn't exist! (".strip_tags($group).")",__FILE__,__LINE__); } } if (isset($_GET['argument'])){ if (!isset($_GET['group']) or trim($_GET['group'])=="") ff_die("\$group must be set! (".strip_tags($group).")",__FILE__,__LINE__); $argument = getparam("argument",PAR_GET,SAN_FLAT); if (!check_path($argument,"","false")){ echo ""; ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); } if (!is_dir(get_forum_root()."/$group/$argument")){ echo ""; ff_die("\$argument doesn't exist! (".strip_tags($argument).")",__FILE__,__LINE__); } } if (isset($_GET['topic'])){ if (!isset($_GET['group']) or trim($_GET['group'])=="") ff_die("\$group must be set! (".strip_tags($group).")",__FILE__,__LINE__); if (!isset($_GET['argument']) or trim($_GET['argument'])=="") ff_die("\$argument must be set! (".strip_tags($argument).")",__FILE__,__LINE__); $topic = getparam("topic",PAR_GET,SAN_FLAT); if (!check_path($topic,"","true")){ echo ""; ff_die("\$topic is not valid! (".strip_tags($topic).")",__FILE__,__LINE__); } if (!is_file(get_forum_root()."/$group/$argument/$topic")){ echo ""; ff_die("\$topic doesn't exist! (".strip_tags($topic).")",__FILE__,__LINE__); } } } /** * Aggiunge un post al file xml del topic * * @author Aldo Boccacci * @since 0.1 */ function add_post(){ if (is_guest()) ff_die("Only users can add posts to topics!",__FILE__,__LINE__); //controllo le variabili $mod = getparam("mod",PAR_GET,SAN_FLAT); $group = getparam("ffgroup",PAR_POST,SAN_FLAT); $argument = getparam("ffargument",PAR_POST,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $topicfile = getparam("fftopic",PAR_POST,SAN_FLAT); if (!check_path($topicfile,get_forum_root(),"true")) ff_die("\$topicfile is not valid! ".basename(__FILE__).": ".__LINE__); if (!user_can_view_argument(get_forum_root(),$group,$argument)){ echo ""; die(); } $topic = basename($topicfile); $ffsubj = strip_tags(getparam("ffsubj",PAR_POST,SAN_FLAT)); if (!check_var($ffsubj,"text")) ff_die("\$ffsubj is not valid! (".strip_tags($ffsubj).")",__FILE__,__LINE__); $ffbody = strip_tags(htmlentities(getparam("ffbody",PAR_POST,SAN_NULL))); if (!check_var($ffbody,"text")) ff_die("\$ffbody is not valid! (".strip_tags($ffbody).")",__FILE__,__LINE__); if (trim($ffbody)=="" or trim($ffsubj)==""){ echo _FERRCAMPO; echo "

    <<"._INDIETRO.""; return; } if (!is_admin()){ $ffbody = str_replace("[img]","",$ffbody); $ffbody = str_replace("[/img]","",$ffbody); } global $postperpage; $data = array(); if (file_exists($topicfile)) $data = load_topic($topicfile); //se e' bloccato if (!is_forum_moderator() and topic_is_locked($topicfile)) ff_die("Only admins and forum moderators can add posts to locked topics!"); if (!is_forum_moderator()){ if (ff_is_spam($ffsubj,"words")) { echo "
    Il titolo del tuo messaggio contiene una parola marcata come spam.
    Torna indietro e modifica il titolo.

    Indietro
    "; return; } if (ff_is_spam($ffbody,"words")) { echo "
    Il corpo del tuo messaggio contiene una parola marcata come spam.
    Torna indietro e modifica il messaggio.

    Indietro
    "; return; } } $newpost=array(); $newpost['postsubj'] = $ffsubj; $newpost['postbody'] = $ffbody; $newpost['poster'] = get_username(); $newpost['time'] = time(); $data['posts'][] = $newpost; save_topic($topicfile,$data); $data = load_topic($topicfile); $pagescount = ceil(count($data['posts'])/$postperpage); //avvisa gli utenti del nuovo post email_alert($group,$argument,$topic); //aggiorno le statistiche dell'argomento (se il topic non e' nascosto!) if (topic_is_visible($topicfile)){ $argumentstats = load_argument_stats($group,$argument); $argumentstats['posts'] = ($argumentstats['posts']+1); $argumentstats['lastpost'] = $topicfile; save_argument_stats($group,$argument,$argumentstats); } // add_topic_in_topics_list($group,$argument,$topicfile); update_topics_list($group,$argument); fflogf("Added post \"".strip_tags($ffsubj). "\" in ".strip_tags($topicfile)); //permetti di ritornare echo "
    "; echo _FMESSOK; echo "

    "; echo ""._FLEGGI.""; echo "
    "; } /** * Aggiunge un post al file xml del topic * * @author Aldo Boccacci * @since 0.1 */ function edit_post(){ if (is_guest()) ff_die("Only users can add posts to topics!",__FILE__,__LINE__); //controllo le variabili $mod = getparam("mod",PAR_GET,SAN_FLAT); $group = getparam("ffgroup",PAR_POST,SAN_FLAT); $argument = getparam("ffargument",PAR_POST,SAN_FLAT); $post = getparam("ffpost",PAR_POST,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!check_var($post,"digit")) ff_die("\$post is not valid! (".strip_tags($post).")",__FILE__,__LINE__); if (!user_can_view_argument(get_forum_root(),$group,$argument)){ echo ""; die(); } $topicfile = getparam("fftopic",PAR_POST,SAN_FLAT); if (!check_path($topicfile,get_forum_root(),"true")) ff_die("\$topicfile is not valid! ".basename(__FILE__).": ".__LINE__); $topic = basename($topicfile); $ffsubj = strip_tags(getparam("ffsubj",PAR_POST,SAN_FLAT)); if (!check_var($ffsubj,"text")) ff_die("\$ffsubj is not valid! (".strip_tags($ffsubj).")",__FILE__,__LINE__); $ffbody = strip_tags(htmlentities(getparam("ffbody",PAR_POST,SAN_NULL))); if (!check_var($ffbody,"text")) ff_die("\$ffbody is not valid! (".strip_tags($ffbody).")",__FILE__,__LINE__); if (trim($ffbody)=="" or trim($ffsubj)==""){ echo _FERRCAMPO; echo "

    <<"._INDIETRO.""; return; } if (!is_admin()){ $ffbody = str_replace("[img]","",$ffbody); $ffbody = str_replace("[/img]","",$ffbody); } //controllo spam if (!is_forum_moderator()){ if (ff_is_spam($ffsubj,"words")) { echo "
    Il titolo del tuo messaggio contiene una parola marcata come spam.
    Torna indietro e modifica il titolo.

    Indietro
    "; return; } if (ff_is_spam($ffbody,"words")) { echo "
    Il corpo del tuo messaggio contiene una parola marcata come spam.
    Torna indietro e modifica il messaggio.

    Indietro
    "; return; } } global $postperpage; $data = array(); if (file_exists($topicfile)) $data = load_topic($topicfile); //se e' bloccato if (!is_forum_moderator() and topic_is_locked($topicfile)) ff_die("Only admins and forum moderators can edit locked posts!"); if (!is_admin() and (trim($data['posts'][$post]['poster'])!=get_username()) and !is_forum_moderator()) ff_die("Only admins and owners can edit posts!",__FILE__,__LINE__); $newpost=array(); $newpost['postsubj'] = $ffsubj; $newpost['postbody'] = $ffbody; $newpost['poster'] = $data['posts'][$post]['poster']; $newpost['time'] = $data['posts'][$post]['time']; $newpost['lasteditposter'] = get_username(); $newpost['lastedit'] = time(); $data['posts'][$post] = $newpost; save_topic($topicfile,$data); $data = load_topic($topicfile); fflogf("Edited post: \"".strip_tags($ffsubj)."\" in ".strip_tags($topicfile)); $pagescount = ceil(count($data['posts'])/$postperpage); //permetti di ritornare echo "
    "._FMESSOK; echo "

    "; echo ""._FLEGGI.""; echo ""; echo "
    "; } /** * Restituisce true se l'utente collegato puo' vedere l'argomento * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string $argument l'argomento di riferimento * @author Aldo Boccacci * @since 0.1 */ function user_can_view_argument($root,$group,$argument){ $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $argumentdata = array(); $argumentdata = load_argument_props(get_forum_root(),$group,$argument); if ($argumentdata['level']=="-1") return TRUE; else { if (is_guest()) return FALSE; if (getlevel(get_username(),"home")<$argumentdata['level']) return FALSE; else if (!is_guest()) return TRUE; } } /** * Aggiunge l'utente collegato alla lista degli utenti da avvisare via mail per il topic * specificato. * * @author Aldo Boccacci * @since 0.1 */ function alert_list_add(){ if (is_guest()) ff_die("Only users can do this!",__FILE__,__LINE__); $group = getparam("ffgroup",PAR_POST,SAN_FLAT); $argument = getparam("ffargument",PAR_POST,SAN_FLAT); $topic = getparam("fftopic",PAR_POST,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $topicfile = ""; $topicfile= get_forum_root()."/$group/$argument/$topic"; if (!check_path($topicfile,get_forum_root(),"true")) ff_die("\$topicfile is not valid! (".strip_tags($topicfile).")",__FILE__,__LINE__); $topicdata = array(); if (file_exists($topicfile)){ $topicdata = load_topic($topicfile); if (!is_guest() and trim(get_username())!="" and !in_array(get_username(),$topicdata)) $topicdata['properties']['emailalert'][]=get_username(); save_topic($topicfile,$topicdata); } else { fflogf("topic file doesn't exists! (".strip_tags($topicfile).")","ERROR"); } echo "
    In caso di nuovi messaggi in questa discussione sarai avvisato con una e-mail
    "; echo ""; } /** * Rimuove l'utente collegato dalla lista degli utenti da avvisare via mail per il topic * specificato. * * @author Aldo Boccacci * @since 0.1 */ function alert_list_remove(){ if (is_guest()) ff_die("Only users can do this!",__FILE__,__LINE__); $group = getparam("ffgroup",PAR_POST,SAN_FLAT); $argument = getparam("ffargument",PAR_POST,SAN_FLAT); $topic = getparam("fftopic",PAR_POST,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $topicfile = ""; $topicfile= get_forum_root()."/$group/$argument/$topic"; if (!check_path($topicfile,get_forum_root(),"true")) ff_die("\$topicfile is not valid! (".strip_tags($topicfile).")",__FILE__,__LINE__); $topicdata = array(); if (file_exists($topicfile)){ $topicdata = load_topic($topicfile); if (!is_guest() and trim(get_username())!="" and in_array(get_username(),$topicdata['properties']['emailalert'])){ for ($count=0;$countIn caso di nuovi messaggi in questa discussione non sarai piu' avvisato con una e-mail.
    "; echo ""; } /** * Avvisa via mail tutti gli utenti che lo hanno richiesto per il topic specificato * * @param string $group il gruppo di riferimento * @param string $argument l'argomento di riferimento * @param string $topic il topic di riferimento * @author Aldo Boccacci * @since 0.1 */ function email_alert($group,$argument,$topic){ if (is_guest()) ff_die("Only users can do this!",__FILE__,__LINE__); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); $topic = getparam($topic,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!check_path($topic,"","true")) ff_die("\$topic is not valid! (".strip_tags($topic).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); $topicfile = get_forum_root()."/$group/$argument/$topic"; if (!check_path($topicfile,get_forum_root(),"true")) ff_die("\$topicfile is not valid! (".strip_tags($topicfile).")",__FILE__,__LINE__); $topicdata = array(); $topicdata = load_topic($topicfile); $poster = ""; $count =""; $count = count($topicdata['posts']); $poster = $topicdata['posts'][$count-1]['poster']; if (function_exists("mail")){ for ($count = 0; $count$message"; mail($userprofile['mail'],"Arrivato un nuovo messaggio su $sitename", $message,"FROM: $sitename \r\nX-Mailer: Flatnuke on PHP/".phpversion()); } } } /** * Restituisce TRUE se l'argomento e' bloccato, FALSE in caso contrario. * * @param string $root la root del forum * @param string $group il gruppo di riferimento * @param string $argument l'argomento di riferimento * @return TRUE se l'argomento e' bloccato, FALSE in caso contrario * @author Aldo Boccacci * @since 0.1 */ function argument_is_locked($root,$group,$argument){ $root = getparam($root,PAR_NULL,SAN_FLAT); $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($root,get_forum_root(),"false")) ff_die("\$root is not valid! (".strip_tags($root).")",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (file_exists("$root/$group/$argument/lock")) return TRUE; else return FALSE; } /** * Restituisce il time dell'ultimo post * @param string $topicfile il percorso del topic * @return il time dell'ultimo topic inserito * @author Aldo Boccacci * @since 0.1 */ function latest_post_time($topicfile){ // return filemtime($topicfile); if (!check_path($topicfile,get_forum_root(),"true")) ff_die("Topic file path is not valid! ".basename(__FILE__).": ".__LINE__); $string = ""; $string = get_file($topicfile); // echo htmlentities($string); $ok = preg_match_all("/\(.*)\<\/ff:time\>/",$string,$out); //incremento di prestazioni if ($ok){ $index=""; $index = (count($out[0])-1); return $out[0][$index]; } else return filemtime($topicfile); // print_r($out);die(); //vecchio meccanismo $posts = array(); $posts = get_xml_array("ff:posts",$string); $lastest = count($posts)-1; $posttime = ""; $posttime = get_xml_element("ff:time",$posts[$lastest]); // return $posttime; if (check_var($posttime,"digit")){ return $posttime; } else return 0; } /** * Restituisce il numero di posts presenti nel topic * @param string $topicfile il percorso del topic * @return il numero di posts presenti nel topic * @author Aldo Boccacci * @since 0.1 */ function count_posts($topicfile){ if (!check_path($topicfile,get_forum_root(),"true")) ff_die("Topic file path is not valid! ".basename(__FILE__).": ".__LINE__); $string = ""; $string = get_file($topicfile); $posts = array(); $posts = get_xml_array("ff:post",$string); return count($posts); } /** * Restituisce TRUE se la stringa specificata viene ritenuta spam * secondo i criteri contenuti nel file $spamfile * @param string $string la stringa da controllare * @param string $spamfile il nome senza estensione del file contenente i criteri di riconiscimento * @author Aldo Boccacci * @since 0.1 */ function ff_is_spam($string,$spamfile){ if (!check_path($spamfile,"","false")) ff_die("spam file path is not valid! ".basename(__FILE__).": ".__LINE__); if (trim($string)=="") return FALSE; $blstring =""; if (!file_exists("include/blacklists/$spamfile.php")){ // fflogf("Spamfilter file doesn't exists! (".strip_tags($spamfile).")"); return TRUE; } $blstring=get_file("include/blacklists/$spamfile.php"); $wordsarray=array(); $wordsarray=explode("\n",$blstring); $item=""; foreach ($wordsarray as $item){ if (eregi("^#",trim($item))) continue; if (trim($item)=="") continue; if (preg_match("/\b$item\b/",$string)) return TRUE; } return FALSE; } /** * Salva le statistiche dell'argomento indicato, in modo da visualizzarle velocemente in fase di lettura * @param string $group il gruppo di riferimento * @param string $argument l'argomento di riferimento * @return TRUE se l'argomento e' bloccato, FALSE in caso contrario * @author Aldo Boccacci * @since 0.1 */ function save_argument_stats($group,$argument,$data){ $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!is_array($data)) ff_die("\$data must be an array!",__FILE__,__LINE__); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!is_dir(get_forum_root()."/$group/$argument")){ echo "L'argomento ".strip_tags($argument)." non esiste nel gruppo ".strip_tags($group).". ".__FILE__." ".__LINE__; return; } $topics=0; if (isset($data['topics']) and check_var($data['topics'],"digit")){ $topics = $data['topics']; } else $topics="0"; $posts=0; if (isset($data['posts']) and check_var($data['posts'],"digit")){ $posts = $data['posts']; } else $posts="0"; $lastpost=""; if (isset($data['lastpost']) and check_path($data['lastpost'],get_forum_root(),"true")){ $lastpost = $data['lastpost']; } else $lastpost=""; $string = " $topics $posts $lastpost "; if (eregi("\<\?",$string) or eregi("\?\>",$string)) ff_die("\$string cannot contains php tags! ".__FILE__.": ".__LINE__); fnwrite(get_forum_root()."/$group/$argument/stats.php","\n".$string,"w",array("nonull")); } /** * Carica le statistiche dell'argomento indicato, in modo da visualizzarle velocemente in fase di lettura * @param string $group il gruppo di riferimento * @param string $argument l'argomento di riferimento * @return TRUE se l'argomento e' bloccato, FALSE in caso contrario * @author Aldo Boccacci * @since 0.1 */ function load_argument_stats($group,$argument){ $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!file_exists(get_forum_root()."/$group/$argument/stats.php")) update_argument_stats($group,$argument); $string = get_file(get_forum_root()."/$group/$argument/stats.php"); $data = array(); $topics=""; $topics = ff_get_xml_element("ff:topics",$string); if (check_var($topics,"digit")){ $data['topics'] = $topics; } else $data['topics'] = 0; $posts = ff_get_xml_element("ff:posts",$string); if (check_var($posts,"digit")){ $data['posts'] = $posts; } else $data['posts'] = 0; $lastpost = ff_get_xml_element("ff:lastpost",$string); if (check_path($lastpost,get_forum_root(),"true")){ $data['lastpost'] = $lastpost; } else $data['lastpost'] = ""; return $data; //TODO } /** * Aggiorna le statistiche dell'argomento indicato, in modo da visualizzarle velocemente in fase di lettura * @param string $group il gruppo di riferimento * @param string $argument l'argomento di riferimento * @author Aldo Boccacci * @since 0.1 */ function update_argument_stats($group,$argument){ $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!is_dir(get_forum_root()."/$group/$argument")){ echo "L'argomento ".strip_tags($argument)." non esiste nel gruppo ".strip_tags($group).". ".__FILE__." ".__LINE__; return; } $data = array(); $topics = array(); $topics= list_argument_topics(get_forum_root(),$group,$argument,"false","false"); // print_r($topics); $data['topics'] = count($topics); $totpost=0;; if (count($topics)>0){ foreach($topics as $topic){ if ($topic!="NULL") $totpost = $totpost + count_posts($topic); } } $data['posts']= $totpost; reset($topics); $data['lastpost'] = current($topics); save_argument_stats($group,$argument,$data); update_topics_list($group,$argument); } /** * Aggiorna le statistiche di tutti gli argomenti del forum * @author Aldo Boccacci * @since 0.1 */ function update_forum_stats(){ $groups = array(); $groups = list_forum_groups(get_forum_root()); $group=""; foreach($groups as $group){ $arguments = array(); $arguments = list_group_arguments(get_forum_root(),$group); $argument=""; foreach ($arguments as $argument){ update_argument_stats($group,$argument); } } } /** * Carica la lista dei topics dell'argomento specificato * * @param string $group il gruppo * @param string $argument l'argomento * @return l'array con l'elenco dei topics * @author Aldo Boccacci * @since 0.1 */ function load_topics_list($group,$argument){ $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!is_dir(get_forum_root()."/$group/$argument")){ echo "L'argomento ".strip_tags($argument)." non esiste nel gruppo ".strip_tags($group).". ".__FILE__." ".__LINE__; return; } $topics = array(); if (!file_exists(get_forum_root()."/$group/$argument/topicslist.php")) update_topics_list($group,$argument); $string=""; $string=get_file(get_forum_root()."/$group/$argument/topicslist.php"); $string= ff_get_xml_element("ff:topics",$string); $topicstmp=array(); $topicstmp = get_xml_array("ff:topic",$string); $topics=array(); $topic =""; foreach ($topicstmp as $topic){ $topics[]=trim($topic); } return $topics; } /** * Salva la lista dei topics dell'argomento specificato * * @param string $group il gruppo * @param string $argument l'argomento * @param array $topics la lista dei topics * @author Aldo Boccacci * @since 0.1 */ function save_topics_list($group,$argument,$topics){ $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!is_dir(get_forum_root()."/$group/$argument")){ echo "L'argomento ".strip_tags($argument)." non esiste nel gruppo ".strip_tags($group).". ".__FILE__." ".__LINE__; return; } if (!is_array($topics)) ff_die("\$data must be an array()! ".__FILE__.": ".__LINE__); $datastring="\n"; $topic=""; foreach($topics as $topic){ if (file_exists($topic)) $datastring .= "\t".strip_tags($topic)."\n"; } $datastring .= ""; if (eregi("\<\?",$datastring) or eregi("\?\>",$datastring)) ff_die("\$datastring cannot contains php tags! ".__FILE__.": ".__LINE__); fnwrite(get_forum_root()."/$group/$argument/topicslist.php","\n$datastring","w",array("nonull")); } /** * Aggiorna la lista dei topics per l'argomento specificato * * @author Aldo Boccacci * @since 0.1 */ function update_topics_list($group,$argument){ $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); $mod = getparam("mod",PAR_GET,SAN_FLAT); if (!check_path($mod,"","false")) ff_die("\$mod is not valid! (".strip_tags($mod).")",__FILE__,__LINE__); if (!is_dir(get_forum_root()."/$group/$argument")){ echo "L'argomento ".strip_tags($argument)." non esiste nel gruppo ".strip_tags($group).". ".__FILE__." ".__LINE__; return; } save_topics_list($group,$argument,list_argument_topics(get_forum_root(),$group,$argument,"true","true")); } /** * Aggiunge il topic indicato alla lista dei topics dell'argomento specificato * (In cima) * @param string $group il gruppo * @param string $argument l'argomento * @param string $topic il topic da aggiungere * @author Aldo Boccacci * @since 0.1 */ function add_topic_in_topics_list($group,$argument,$topic){ $group = getparam($group,PAR_NULL,SAN_FLAT); $argument = getparam($argument,PAR_NULL,SAN_FLAT); $topic = getparam($topic,PAR_NULL,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is not valid! (".strip_tags($group).")",__FILE__,__LINE__); if (!check_path($argument,"","false")) ff_die("\$argument is not valid! (".strip_tags($argument).")",__FILE__,__LINE__); if (!check_path($topic,"","true")) ff_die("\$topic is not valid! (".strip_tags($topic).")",__FILE__,__LINE__); $topicstmp = array(); $topicstmp = load_topics_list($group,$argument); $topics = array(); //aggiungo l'elemento nuovo $topics[]= $topic; $topictmp=""; foreach ($topicstmp as $topictmp){ if (basename($topic)==basename($topictmp)) continue; $topics[]=$topictmp; } save_topics_list($group,$argument,$topics); } /** * * Crea il pannello per navigare tra le pagine * Idea from Boyashi's BForum * * @param string $page la pagina attuale * @param string $pagescount il numero totale di pagine * @param string $link il link * @author Aldo Boccacci * @since 0.1 */ function ff_page_selector($page,$pagescount,$link){ $page=trim(strip_tags($page)); $pagescount = trim(strip_tags($pagescount)); $link = strip_tags($link); if (!check_var($page,"digit")) return; if (!check_var($pagescount,"digit")) return; // $pagescount = ceil(count($topics)/$topicperpage); echo ""._GOTOTHEPAGE.":
    "; if ($page>1){ echo "<< "; } if ($page>1){ echo "<  "; } echo ""; if ($page<$pagescount){ echo "  > "; echo ">>"; } } function ff_get_xml_element($elem, $xml) { $elem = getparam($elem,PAR_NULL, SAN_FLAT); $xml = getparam($xml, PAR_NULL, SAN_NULL); // se l'elemento non esiste restituisco una stringa vuota /* if (!eregi("<$elem>.*", $xml)) { return ""; }*/ $ok=0; $ok=preg_match( "/\<$elem\>(.*?)\<\/$elem\>/s",$xml, $out ); if ($ok) return $out[1]; else return ""; $buff = ereg_replace(".*<".$elem.">", "", $xml); $buff = ereg_replace(".*", "", $buff); return $buff; } /** * Questa funzione serve per salvare il log di flatforum * Il messaggio viene formattato aggiungendo campi di interesse. * * @param string $message il messaggio da salvare * @param string $type il tipo di messaggio. Puo' essere lasciato vuoto o * impostato a "ERROR" * @author Aldo Boccacci * @since 0.1 */ function fflogf($message,$type="") { // global $fflogfile; $fflogfile="misc/log/forumlog.php"; if (!isset($fflogfile)) $fflogfile="misc/log/forumlog.php"; if (eregi("\<\?",$message) or eregi("\?\>",$message)) fd_die(_FDNONPUOI.basename(__FILE__).": ".__LINE__); if ($type=="ERROR"){ $fflogfile = eregi_replace("\.php$","error.php",$fflogfile); } if (!is_dir("misc/log/")){ mkdir("misc/log","0777"); } if (!file_exists("$fflogfile")){ fnwrite($fflogfile,"\n","w",array("nonull")); } else { $logtext=""; $logtext = get_file($fflogfile); if (!eregi("\<\?exit\(1\);\?\>",$logtext)){ // echo "no codice controllo"; fnwrite($fflogfile,"\n$logtext","w",array("nonull")); } } //l'utente collegato $myforum=""; if (isset($_COOKIE['myforum'])) $myforum = $_COOKIE['myforum']; // if (!is_alphanumeric($myforum)) $myforum =""; if (!versecid($myforum)) $myforum .= "(NOT VALID!)"; $REMOTE_ADDR=""; if (isset($_SERVER['REMOTE_ADDR'])) $REMOTE_ADDR=$_SERVER['REMOTE_ADDR']; else $REMOTE_ADDR=""; if (isset($_GET['mod'])) $mod=$_GET['mod']; else $mod=""; $messageok = date(_FDDATEFORMAT)." ff version: ".get_ff_version()." user: $myforum remoteaddr: $REMOTE_ADDR section: $mod message: $message"; //prima richiede modifica a fnwrite // fnwrite($fflogfile,strip_tags("$messageok\n"),"a",array("nonull")); $fl=fopen("$fflogfile","a"); fwrite($fl, strip_tags("$messageok\n")); fclose($fl); } function show_last_posts(){ } function load_last_posts(){ } function save_last_posts(){ } function add_in_last_posts($topics, $post){ } ?>flatnuke-2.7.2/forum/flatforum.php0000755000175000017500000003744510632247717016572 0ustar simonesimone"; } } else if (isset($_GET['group']) and isset($_GET['argument']) and !isset($_GET['topic'])){ $group = getparam("group",PAR_GET,SAN_FLAT); $argument = getparam("argument",PAR_GET,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); $argument = getparam("argument",PAR_GET,SAN_FLAT); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); forum_view_argument(get_forum_root(),$group,$argument); } else if (isset($_GET['group']) and isset($_GET['argument']) and isset($_GET['topic'])){ $group = getparam("group",PAR_GET,SAN_FLAT); $argument = getparam("argument",PAR_GET,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); $argument = getparam("argument",PAR_GET,SAN_FLAT); if (!check_path($argument,"","false")) ff_die("\$argument is invalid! (".strip_tags($argument).")",__FILE__,__LINE__); $topic = getparam("topic",PAR_GET,SAN_FLAT); if (!check_path($topic,"","true")) ff_die("\$topic is invalid! (".strip_tags($topic).")",__FILE__,__LINE__); forum_view_topic(get_forum_root(),$group,$argument,$topic); } else if (isset($_GET['group']) and !isset($_GET['argument'])){ $group = getparam("group",PAR_GET,SAN_FLAT); if (!check_path($group,"","false")) ff_die("\$group is invalid! (".strip_tags($group).")",__FILE__,__LINE__); ff_view_group(get_forum_root(),$group); } else forum_overview(get_forum_root()); ?>flatnuke-2.7.2/forum/help.php0000644000175000017500000002610610603452707015503 0ustar simonesimone\n"; // default HTML 4.01 doctype // define close tag for XHTML doctype if(ereg("DTD HTML", $doctype)) { $close_tag = ""; } elseif(ereg("DTD XHTML", $doctype)) { $close_tag = " /"; } echo $doctype; ?> Help bbcode \n"; // default HTML 4.01 doctype // define close tag for XHTML doctype if(ereg("DTD HTML", $doctype)) { $close_tag = ""; } elseif(ereg("DTD XHTML", $doctype)) { $close_tag = " /"; } // chdir("../"); // declaration of all default StyleSheets provided by the system $path_css_sys = "include/css"; if(file_exists($path_css_sys)) { $dir_css_sys = opendir($path_css_sys); $file_css_sys = 0; while ($filename_css_sys = readdir($dir_css_sys)) { eregi('[\.]*[[:alpha:]]+$', $filename_css_sys, $extension_css_sys); if(strtolower($extension_css_sys[0])==".css" AND $filename_css_sys!="." AND $filename_css_sys!=".." AND !eregi("^none_", $filename_css_sys)) { $array_css_sys[$file_css_sys] = $filename_css_sys; $file_css_sys++; } } closedir($dir_css_sys); for($i=0; $i<$file_css_sys; $i++) { echo "\n"; } } // declaration of all StyleSheets provided by the theme in use $path_css_thm = "themes/$theme"; if(file_exists($path_css_thm)) { $dir_css_thm = opendir($path_css_thm); $file_css_thm = 0; while ($filename_css_thm = readdir($dir_css_thm)) { eregi('[\.]*[[:alpha:]]+$', $filename_css_thm, $extension_css_thm); if(strtolower($extension_css_thm[0])==".css" AND $filename_css_thm!="." AND $filename_css_thm!=".." AND !eregi("^none_", $filename_css_thm)) { $array_css_thm[$file_css_thm] = $filename_css_thm; $file_css_thm++; } } closedir($dir_css_thm); for($i=0; $i<$file_css_thm; $i++) { echo "\n"; } } ?>

    Flatnuke Forum Help

    Emoticons

    Le emoticon sono una sequenza di caratteri che vogliono simboleggiare gli stati d'animo della persona che scrive. Sono il frutto della fantasia e della necessita' di rappresentare in maniera semplice, intuitiva e diretta le emozioni, da qui l'origine della parola: emoticon = emotion + icon.
    E' possibile utilizzare le famose emoticon all'interno dei messaggi del forum e nelle news, cliccando semplicemente sulla emoticon che ci interessa, nella barra superiore al corpo del messaggio, oppure utilizzando i caratteri corrispondenti alle icone:


    • felice felice
       [:)]

    • triste triste
       [:(]

    • sorpresa sorpresa
       [:o]

    • linguaccia linguaccia
       [:p]

    • risata risata
       [:D]

    • indifferente indifferente
       [:!]

    • sbalordito sbalordito
       [:O]

    • fighetto fighetto
       [8)]

    • occhiolino occhiolino
       [;)]

    Formattazione del testo

    E' inoltre possibile formattare e personalizzare il colore del nostro messaggio. Vediamo come:
    se clicchiamo sulle icone colorate poste nella barra superiore del corpo del messaggio, appariranno dei codici chiusi tra parentesi quadra, baster digitare il nostro testo in mezzo ai due codici e otterremmo la nostra preferenza, come mostra l'esempio sottostante:

    • Bold Bold
      [b][/b]

    • Italic Italic
      [i][/i]

    • Underline Underline
      [u][/u]

    • Strike Strike
      [strike][/strike]

    • Left Left
      [left][/left]

    • Center Center
      [center][/center]

    • Right Right
      [right][/right]

    • Justify Justify
      [justify][/justify]

    • Red Red
      [red]ciao[/red] = ciao

    • Green Green
      [green]ciao[/green] = ciao

    • Blue Blue
      [blue]ciao[/blue] = ciao

    • Pink pink
      [pink]ciao[/pink] = ciao

    • Yellow Yellow
      [yellow]ciao[/yellow] = ciao

    • Cyan Cyan
      [cyan]ciao[/cyan] = ciao

    • Olist Olist
      Crea una lista ordinata di elementi
      [ol]
      [*]Elemento1[/*]
      [*]Elemento2[/*]
      [*]Elemento3[/*]
      [/ol]

    • Ulist Ulist
      Crea una lista non ordinata di elementi
      [ul]
      [*]Elemento1[/*]
      [*]Elemento2[/*]
      [*]Elemento3[/*]
      [/ul]

    •  Dimensione
      Permette di impostare le dimensioni del testo selezionato.
      [size=50%]testo[/size]
      [size=75%]testo[/size]
      [size=100%]testo[/size]
      [size=150%]testo[/size]
      [size=200%]testo[/size]



    ...o fare combinazioni:

    [red][b][i]ciao[/i][/b][/red] = ciao

    Tag speciali

    • Oltre alla formattazione del testo, abbiamo altre possibilita' di rendere ancora piu' ricchi i nostri post con le seguenti funzioni:

    • Quote Quote
       [quote]Testo da quotare[/quote] = Viene utilizzato per riportare parte del post di un altro utente

    • Code Code
       [code]code[/code] = Permette di inserire del codice di programmi, mantenendo la formattazione del testo

    • Image Image
       [img]http://url.to.image.ext[/img] = Permette di inserire una immagine esterna

    • Email Email
       [mail]me@provider.ext[/mail] = Crea un link HTML dell'indirizzo email specificato

    • Url Url
       [url=http://www.flatnuke.org] Nome del link[/url] = Crea un link HTML dell'indirizzo specificato

    • Wikipedia Wikipedia
       [wp lang=it]parola[/wp] = Permette di inserire un link a Wikipedia per la parola inserita

    Amministrazione

    Oltre a tutte le possibilita' sopra descritte, gli amministratori del sito hanno la possibilita' di usare anche codice HTML (solo per le news).

    "mkZrpohLGeH B8,`~W۲k_C8/C }sqO$0~$Ytu3ǣO=o8ȉ^ )xtxHՒrD3IcF8_H ص+ƭ;v=4vʞ]Gm15 rKAXhM}[7s{82j[z\kNqQA|nm|ŜB~'pmt_Z{bo1F#%{lrIENDB`flatnuke-2.7.2/forum/images/avtr24.png0000644000175000017500000001075610266541327017145 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATx[ixTU~[kVH$$h UTvPVѶiqwQQۥQTZ@% YII$$JQ-Ώ9yns1A[VFD>##172z4e3RJ|UR#UN41t;P,CGJ$(e5to}ލ(i*I6H8#y<4IZېXSPlՐ q& 6lnO_*05Gђd78hӑ1yEy{W:f[:w(icDݥXz2. Q6lXݖ݊3и`E@(fL u8$*( Dƾ㐞,._ N$(L&Y@Dg| ADmOC_ c#4DRJ$ZS-* :.Ɇl<ߑ6Ҝ['L&?SG҇Ai}LmDID`hz;/ kljWV,Z !p9|*lL\"@drl}U 0FPK} !5EH%e"SaUJش~ ʑ˱d7V8r6?:~HDimzqq3 ݃WĄQcSGS  Ǽw UT v29`9|dp]MF2)(( FBaFy XpWq6%/u+CIݨi@.ғhNǦbi4p 0lk87 *4[;'ឩcei F*IJ]NK 1 (+T6c{'dӪ<:ӧబ`^zyJXN0kRLoi3 86 [P{Ojoo?vB|T( ?WTjO*cJѱwz=,,N.74dq9P xp' $$֮G9D"|ο /qRPp%/!=ue7`H00XVџ_@,8NM׮CE{&MYsPVӄ@9j,bcGzͻh#\ǦGAqc:_0z; C*SLt'AwGq5/^ A WꑑΝՐʤx~hdWY&xvu/*BJDSfs,^jkk2m8vQsg}1VviTD=mzdd<3U r` i ߟ~/Z->},/`<3ϯW:v쩶[bcd!=贶Rè3ioČ1CtD蜯~@\ixD n +M-t .v+J/ #L9H}S0Vy ,royn}냘#tuwc捪_Uvan7Ghw^*Ϟ4ǥ,'+j;& f[(''ʥ mŒPJŽ]{IesDGG[݉9T8(o.6/\DD%np1fY\_ntnzf!yL<Əa/'V-  B) ckDo?.ĩ`F#1_s%ggC G%5iu1굽30FGvl1yx c RsEav Kkmj>NGXMcsEpwYgݬQxQ,߱.̾k};h.V5|YvlNJMe֋{a 2m3 x{`lq0ՍՌO:zJuK'+ZҪ̻mZvQRzEŧml0ykiQRI?@M f7pmq7 ` 忽6EyAedOM@g8k#ہc%U ^(^)䗟X}tޝ9\Zak]cS@׃832b꤉Ff [sd}KaшuyJ}nqYt4I&93xG&V0(X,w+k&>xYop8W^쮟 MGԇ;8 6n`eh4b׮dcI l.sPajw1!wd`?r_7pڶ󲀀]gmda[%<0wǯ*w8tww9y}G5lu;EuޱKu><N/i@@yux΄@G/Ί.y#t:: 0?V ֭ (*kl߭Ds?mpo~k"+|`e3n TA'"=_Ԇy"UˆPٿfD(Cq!8(YQ10`ݡdư}y+ X @wfNyo\?g?!aԼL†yzGPnQ6# ?/][P2(%9̜̣<=}iέOc aYy]o/G O]|?,?>厅S')awC_7ڮ|@Amg-xB<-9Ş~_xƘڛl @DI/gOYb]b.2 Kl! ԇ斾v|lEs"4񧳌1=QRvii9̊Q| P0O8/(P=xų?u?K^sm?%kǏKzѡA 7q3SET#rQRqؙK-e?ki1lw8%%< I |+G[<;Kߞ\ڴbưG Qk*m_z(:U IENDB`flatnuke-2.7.2/forum/images/avtr01.png0000644000175000017500000001037510266541327017135 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATx[yxTUjJBblin, *C:cwO7}cٶ ,(زCYJٷJ*3{ޫT 8y}w9{[ň?f~h~h` 1{X8˩W94-wQ] 0lF+6'CDGjd.ɞVy2=$!d%AI$Y&1ML0EF&A`f1`̌12 E&+D(BL"bI]u~ݽ{0)6|;3ŅX' CW(߽:J\\}:5#W6`X5yp$cm4In-lPmq =A[#Kxdht{n$Zd^Zn$DDATܲk\|{l=tĂ_@uS Z~(c Ks`=2TA)CB,=goI$ 0K[c>'[O ńms$2fe 3O `-QY -",@`w26lؘ7"BC価Q 2( bBIDYDIDN ]&8-5&j5XV}Ԫ9qˆ2cp2%78=-AfL  ʧI @yHDF 6!R``8 o J:{&0YE :3h̠J Q+oWy]Х ȳKW:7/wHgW6 9yظĨgﵵ/?~(cʥ%`:J}Gthj EHY д>Hߖ8ᠬؔ'],(/0(c‚{v'Ξw ÐJLP/LόZ[Ƽe86 ] 9ʤ9q q+<1GO/6;Z,hW?"6&FŪg^Dz0% _B݅HAUIJEsa6mTolG2,V00N{ &Ōp?Բl.{NTܪ緶~~3zy 6`fğ晵UNYuޟ>.%x`9bcg_lY f.Zmű3t >9Yװb:̌]BU,]1)(*hSk\0x+WMH]ٰ Oщ#4_:#3 3& {BX0i2 /PUU={`O#Ⱦ ^MsA[ r 6lݎӧO[l1co.44`ꄻA 1S&>p0FL0nںzSJft}z,&Ͼ&ymǎPZZ If߷9ߡL %chB`}iv1vqG_q(¨Ɍ1ͫp⸱d,wPg 9IIZ%K ::Z^$*@D:.@Mm=bcJc nK1q M5=#u yf1VOoo= @v+ ?pFy㈝0vB?/q8hokAtwy-?gNvvb$ :o7]qymM0M-;[N (y{[btã69 fcϮ.\.طs1Iܣvwkl̯mht5c.Ƕo?)l!s=z w38, ?{|פ{t7 4#tVm#q`a1WNN7aX̻o^rY__~f-D Dƒ@5Zz6[C OnmG-D K"3gG_fB OiF{FǿYD 7D*nWGO"IIJ 75x[ {!$o00$-ߐ3.?q`Z27(QsA4I!_HMt ͚Z]EFWt,,HZ*ZVK`  Aj{;"%vxfYaOKw9t.neqt p$fY=k0qb * KOKneƗLj 3fӖhmm81g]] wp9QRQӕ|eW3`UFf7^^H8p(. ivqu8ߐ_Zҭ7Eccc'̛1@l/9@a&rݏ@< a)H5PU'"D>a/\o/άn=sW kQEͩōϟXd}:間157_: ɨ_d<t9Ը Og8&\Ǐ,d7j +xJqG zH7+]zk@~-=qz14K@ vyyA~ٜ߼mw taЅblG}Cܺp9j<:ѭƲ^nל:'3n!(UMx[_ .6'voAu]=v8].ݒnlxCg/]m2A43-wm;ӝ {-đ[PS."|6Z%X|"մ6ms/~*<4+ Z Q}(I#G:✿ۖq!ۂʜoK˶WVVڌw/~= pƌ  FX-Qf }"@#wWذqvKBQɣUTxkqQa0fo9NK BʊJX+DA!Iy(ð$ey >6 3,;s @\dEGD8 癢ڌi1k4DzE^{ek$=LM$?|lS{gNy,0,1qzDH8u 83{\gfH_Oq:yg8V ; .`ݺu8voߎgy(N*G2JgںH6ʐ>s&9 xP|dNn9L0k.6ORk=n۶ tK F#D^EiDB\Jn.^+1vYX籓9{;Lfh*(^ukּyT*^:8 cu}sDF?HU<'A"j54Ь_=_?+o!a.@0*r:=ʕ+1|p̘1?s'OfYO,!$vO"R oz?HVnc㽸ɗ*4a~>}ū/R_ `h| ׫6U+aKPX쎑ȥ(;p"3~; p;yjp,NxuX[g̞Y1[F9UN+מ|wsz̖bM-ITPd0q`D| 7L`Xv0fKPYSTlƞ];1Q|o3~.6 X(dbLyV(?%6(3dWo2B اng'A~5d"2>gr/t 4 s!$RhH]{ɔ>k6Bl6c֌3&_@LEl6:є g^½.:^ZW {*-,6_+WMt*sIq2KXNFZ^vwLAiYc3S󕀪GN/t nĞtٴe=IΜ٢g"T -":& _@af^<0^t;^ܰ uN͊=!xi&IgtWdK{MPzF(00p>C^7-x/`qS&!uH{'sk }g-vR)ckǻ^uuuyMwqqk&{++îz=W8\MbS5g 6uȔ%s2BA\FRp־b˹H3`)Pz45!,::|Np/&MMs?pJ$pp;Z ں׮1BR:4ւRnw'9B_.Q*} sWq뎱Oa*>=8Я)«>ؤD_1rxE 'm[1>c Tj)f!:nپ'UN@kkkͨĸLJE47c`G{s@;v"2>kkKLXId}=n!:!nMA ىu۟yZ_1}LnAۿ͟U }Jq1%B,>hBQQU:PCTrQy^#QS`a}{4kE_WOw!$8{w0l((EɄGN :#oee0=3g{:}Ggzr&ŋO>8?8߾ !M@8X&G !Pe:a .|0`m`.>eeJ%_4*Hfa{Kw颢g_0,g^jhlQB&|\gPH9Cfvo.+@łΩFy_w’So5&<=95hKWcjoGL;wxVW#'+ Ņ)oړ#Bfmrȉ%e "ǎ\4fxs-[ Ͼګ#AXD homC[k Z[a6yZ&&OydOm=ry݀j"ŒKG6&**!HTTU> w?},BẼҬ1HCiF15m[:2TUN[Bdr9Tj%AA:@řٗr.sXbHMzȌبQsGSM-hokΠNoq| Wڏf\P\~rI󸇝į !IqwuZZW*`yKGGgSjjoizڮ^3ĶٻB.IENDB`flatnuke-2.7.2/forum/images/avtr11.png0000644000175000017500000001135410266541327017134 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<~IDATx[y\SW~MHXBHª"; *nmUVZkV]SLf:Z[;UkU;\XT@DIHr?$HΏ=,,{%Ru Ji/N `bڇB$ *eHMc#qritv1Q:xdin\mKI<~D!DD)> *b!/zeY*(((bO s\E}}r'Ɗgʤwe5[=q1C5BR{&99DHhhK W)Guɉ ieB! J 2+: R)CLq5zvߝ:~!؉n3!eg]MYuU7Ew}?(U踻U:ab Ni|昪*mF@ [z()\G>#ڀփ(kN;hgj7K'/i9MbKIc$.74!ue@hUspv9^G-]q01qEΎһmӻ?ji/0_C䶚 ex46^vY9aNSEu:x(`{^ȶ3WtouFыkZ9"YT;+?& $˖WFwCO<#}.Lq@,Mx) Bz_  ,M\\֠g),P h&]3?MIJK7z/|7ƁqBV;#fçItuBlau>}*mHFq2gGa%,з]=[?OَwCJՇ@"g;Jh$qBA!זOLA02L2c\}6a P0 HkGKKMBpw'~B򗳽Φ18-bf sՈ_P/O4RS89ZEa ܠ䥢C(?_y0]\FI?] j0`$fLcxuM7,7dK7[+@GL3mΝB'boFQCȠp"RDN}CLɺv hu~c #x1&2@,o ՗rrZUj\)(@d,{w o}#&=M=YwXobLeO#&k`0& q .|R:b#Ud+*bƻm[S=낉c&[*y7fMx>ӽtN w#Rᩐ 8|6/z* qI1ȼR@b bXBľ=pH72:jŇYܭg\md P|Cu;#QPzĸ" C45v^Fcrgn]vKJt6hLK8Kr,, +LT(KGXX``er}gToϙ"™DsU0x(Je՝@ R;:B'Wn,*Jv8%81 +";VME_Ľ{z8 ;vX`6l؀4`oL?;(-.W@)Ux" 8uXRgZOU o ?2 [n!80ahiiAJJ c:bƚغ' />LmzM)Ֆi߯=gԳ"6zU<צZw6RtER r=c*RΙhi18Aaa7oϫ @gnQB 8z괮?ڴHJ>Rʶ5~v}k%;KcnX2o,F<n8dPع_0drfN/?̛7~~~Vek4;Ӣb]!'7 kr-1/ _uЄtq`gzgW$W ,ёrb}QJA( suŤaAH8xq BCCzj$&&B&aƍP*ؿذv%A ؎ϭ+ lٲ\^ǎaݲ 5)/!DV ƈj[ ax*n0*EZ^B#vL͟Ki8b! yeJ%< F$ Gq!wr*ݹvh=GNuC ^ٽz|-wqI)C0dP+ˮ0I3@ LTw /Z6 NIBfPA!qvpV ][9[;1R՟/,kxzw 0~>X619|8=ێGR Pyr 4ef'{5;ɝ(*k"6[LBsx7`$8L~l &~1/Szo…yEKK/EL[=ncƍشRqD<> (+S_|9׾Ua0Lۘ :8(`cӢeR~ a!#zk ˳P^^k-n'g_|-]uzD5#R8|rw{w |Gou77.ZesLd'x񕺭/j# >id[h:>x,]nk7"eP{k5-&kC [h*`m2 |O"ju__$`qM61tX#'wƒ]][Qݰ601%jV}sE?XyCV 8 duh MI |f`" (yzM싷; ?j]v1H:4 @Y FuhV}MC̶]}9f*<~ UUEy5) xrcKS]='XDx#4N}6nsVo3gmjnyrg裷o{0'D>Jw P wA@ HH;Y:6.,,;{{y -y/$BռHD#AR, H[ٲ"lCd@X̸Dt3ǦL 7߹ikw KDжL$k>+ B6"VKjwc~>Ex& ,j6PG=`tɅ.tt $Dv J7dHz<Ɔ QT> 0!"($Ԝ\X_wb:,6"LK 셾 Ɵrnɖ!}0~/Jxd,62D!"#{Z)xԍ={uk:Ld̲Xh( '/ t=6)U,{40_0-:\[ɄyI&<qeP1l*""m9!*Jh' OT#jDzm]Jtt"z G̨(pU1 ͶD?D`[3!(@:{Mg;,Z@x}9{.pg胃h8};'b0-6-/@%} m>Q IZFLU0֎. Q^0 ǜف}(,ȷ֎r9iF"Drr 94/' %-+2. %E0c桰ڡ>ñ '0Yٍrdr\Etb d3Wˌ Îf')2+,d爰M]d&l6D")<\^̬F}C(,*t%TNA7!w*n ^L^j̹܌6B!Ԥh4$2T|E hds|q%~!`;~'dB`ppH$֬YE8F__ߔtSE@IҮu%c Fhm6d Pf0m3i!u-~ ΂8مޮN%(Ϗv KjpU2HcVtk:z؏*eopTUkWϚTwfGUCH0/[$4Cn\K @ǐ8? f%!. DF//1<5BU@ra`Ქ{=`)CKi[SRq:ᄚ}Kw´b#y, F?Rrf~঺h*K@$@ 4 זeZ%c=K0]}`vfet'~:$Ͱ9#|c?%%2 MIǬ}OY=~.yx;G?i{<7BЧ0aT-,AXp`O48f|ކCՠE%PF&wݎ|=oq<8rW,S4+ज़4ŒSlZ0coF}橡e\O,6 _2C<ú%Šq")!y{O!!v Z r\A*C%d?=9:K Kfx㬕m,kxϲ/9"B'Ln%uÓwbTkS- Ʉ,3oս6".G[>%-jyy b18&q6='s=aEGlT~>)N?JݎM+A Mm8 >8i$HjP3#+Bp|g .` ʾ|<培ghq5 !mi2֪E; X# g$wɜM8:Y\TvxxW޷{YZgIz{?yHMk  |?yc,)GNc5uD~dRThzV&27_{Cϼw+O){^~#c0H`[ PѤ8wXNڸs7r*xJ ~zG=3On5V)Deݪ'G6ȉq]g_?}^ei1oA\1̌G;?Sx)e0s?ܽ[nAKsVK cl,nu㕃fV9[3?ujjiw98p03_/SwϸLW`ǔ7֮MixZ>V,Y&.W,3o7LH.k_e}cin8Ƣj0?v>߇"|Zu'3fW̮W?ry_7p۫<hr>zq.]d@@AfؽG;BIqR1l3 xA?(ܐ8X!2Jh"Ohf RQg;%#vs|=w@Yk6~tQ-bڝ@%eX`JƄtp5 ֜Š?G \髑!|S(Z )N͗څ|elcY--PH1ZeɃS;v4!%Q/2LH1y 9,Ѷq=~@ "T銣[;f DDԪ/n+XW~5;J]C@\pF-Z-(}D?:d s1=ʿr]/N3YEU1(Fĉw͟U&978ȂH@ W6}Jp1{Tk_ū≂dz&\[/zMD* DĄ =KwrW^v޿$J%4+}NP)ZƤ䠸;AݍNP\XeS%(' ~E4z/d֨P2֙ڔػݣcy1srAj_ B =$m3dyvrYg(̋པ1[9N3aRb3Wj=N:D43RU{& m1m<kZle6A޺b6퓖1I&ޙtu#pseC6^?:Y2a5[0.%˱"0J ,h:Z"'d/ !ɄR /NUX]^'$8 4/pM,@B5Eֱ#(C$Z]uʡ3D`B-Xd F]˖.(t;;-_ c4 H@ΪRq$DYojPJ.I9AՈ82P (R",4&ɓ3vۅg@Ф n;:Qi4Za!~,Fa/]_Z?@k.m5[(A9k1g40kzXrv69PPJp_=Uȑy9.<Ol!<͏"|>: r=Qغ5|!ާ(rXl@DG>C!BR's0aB7;o+0 ߬E |eFHQ:\q",:0\׬wgsAobԩ.xi.\-rL lry bf%dTreIA:!*k,NbF A;y,\^W`bj*,x "HI'uAc?c8pE)aO6"QB0|!J+82SPX^Pcj ѣca'a4`\;ʴZ4le<)Adիm6Y!@h -z+oXbv[<Qx~#p;QfmMBԆEZq((= РkBf /@qAuR p50 A{{;>9~Q E3P\f|ș~77zH,d]@yy9+6 }vDZvf uEEE~gmV\LJvF\gRj*,3mɾ:*tV(#\͆PSe˖A^FjOS~sBF% GII .] XFOxz2ւ 8{{#&H)4ͯ_o.qMųg{wj裏"993fΝ;{eh4*` #رc1w\uܾ}7|x<=". 'O+(ͽ+)wa9E2J)scD.')"'*0Y}ӓ Qgq<`W'{eI& yb#d2c@pf!.|Ygfyn^X&)s=W}dٌ"If3 (|TҖ5۲[:0".%( P>Nl^ojjOa!H|ؤEhnlwXfa{+@Y)R<&wd4zQ_fLK#˕㿽͈Q;okU\R1~F|Pʁ8xM,6\0B[v:ZiBH%P3@jW 3~]f -x jGbk?? 4R; Y Bx!Z; U)mztuqY}(B(cY4Ȃ$n;|ahR~@ .dݯ Nf(41jX&r @8!J)|>. Qu|C]^YmUwjw'I": '8Lsqu :݄y^e|ݖWŷsˋj e290uk;qQ7{lʺi٭GG;ӣmOWQJ; @]SӥtKi#]¼ p.^9޹ 9"fJ'P\^y5CNFnRƻh5gmV|}Wo mҽ>܄i^}ń<'6Ϙ3-.{=2=|e2aZA0 M¤NN8{D*Dzغg{@ Q٦fwfIz!~ wstIZwsNk%:"8uNMZ|[Bw/ؗl@?\~Zg?nAFewoG] Õ,瞪_N:_gN9| |q)6e[PUۀza4d6d_]HbH"H$bHb@\LbልİA+8pt/WoK.OLxn˺1ݾ j󨨩CC#PP :2Fѵ1>)kh&Wg>ki)oOIJ /N(Ŋ'ǕbX6p) B֭[r[wsKQ@ڗy5f.]VҊ;.<u^ k;z.w}? 8Xy}cQŨ ,&?R)|WuRҶ@y9?m|wjhna%eT7FC`6?>P|ϖT^H}:E)"oPU׈kE%B-L"aBR(?zː1wҧXi7]Naҧ>[j>:9]0}2 =gEP`*"ģp[iͅ,Zr]d`4RLwʧ7ƷhMkh|y< 2^q,I oҚL;ͺS}~8IOI}enڄu2ƱO_QVU^#38cp,6Fj OJ@iUϲ|C4"#eǤL[<{jlLN9 J]V(Mf,Vhp#< 1#1exONpz ?F~2;bBǏ4F;,}6.ePe>Oq :_TZ_Va4ރ;G#HPxXHJ. $"D$TXhvM-[[ f ow_3F.mIENDB`flatnuke-2.7.2/forum/images/avtr03.png0000644000175000017500000001115610266541327017135 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATx[ytUݪ5I;;CXv0" e8((<̌zw7o@ OqJy>!/=!tYz{]U]9˩Tխ{o}}0YZB!&zeYc }>Rdoɻ`73SRѐm)FIqBR  0l\qz9zek]'t%BCo:Z<Άo5c &ڌ+-V#o #@:pz9:[=>+-;k(gf 71|qA?8Iy^'px26m b8ˬń! u+4-켥B4q[|Q5A˜ozs3jkYkwt$p9Sz(=(ΨK85KgKYw H b#0AfDkɠ^| Ү=a߳~˜#d`Z19)3?*W]QQi$%KWkn5Mp zV'G7Baѽ*pFI&w%_gb ȞWJJ_-|*!B^Ժ}o[ mOuOE@VaqA(uj^ɲ+HI(^֪]D^ -磊#Ɛ2(#嵎(BtF Q (`cO/Gi`&k]@i'=W:>G& է?r1g ,}yV{:iMT/s,)ZxaoNJǴ =h8 @ʀa@8㑚=4qtLCS)^lݪ"U4KֆDƎg@~~yj{s-hUU=1f3LFZ qOH!ZJ9 $-7O-YDP~HBka6%_:G[3`43`}zx 2$(e[bH7,; x/Y1h$&3ihrV1)g 0B](c`bЀjquIg@̄ #KΏՑe U(c蕛z郻'h4  g$pR:x~Hz!&fLPI@WF1<ᤃb˿YǒU@:)o(-z8fbݕh9٩@l֑7M@bbr2xaˎ=r# Aa15y؂&cE>}bgq**SL ~kM:+V%6=TC h5HOJ`@_)҉ʑ=HlO+pL5 zgt6d05uuH"0?&KT7kiS/an~ë3w ,s/89SFw3*D^N~FjxMV/8}p%h2G[P:v{z1n̚sWTTòeЀ6 81T6l؀2X ([GN 0pQ>.1F3T@r46UDuz  /z9Q}r{Çj*\.رXv-kЃ| "NՑ\QgKk]ޠ^m%_0;oذAՠ"=ގˮ_.WpwԩljU=:h蕑q3f@||r ';$0}K yM$!q(\T`Kkk% hУ|,Zĸq/%}̟̒?(--ůkED:TkDQcԜ!c u{wXr%V\ c̾nBпwΞBnn^ԲJD{”kl,"AQ=ifWe`vOk3m|7].g=n(˙'~261x[F1 ^gNwZ%֚7`40F(Ťtۍ6}Q#KUg"zyh,]~ ?e&mllIcՊ1ryw:(_:~MߞR0JQ'܁׭~?u57KB3w+Ro?eQ7r<3qJ8Yr4e뫑ٻ/&LG=G\+x 1 ݋wZNgĄIw#-->ۍ6 ou,,FŠ yE Fk;$(pBDT; dZ1A<\ƀ~yYX6B(8LfS `Wb7.2ƏFD0Jd۹ kgI뮗wJhV55 ,$2Ғ)gC@?bA~x0Reܐ[Z׫(n)"ϩ I#8& [पdEF%TKp]0d.sw4'HX_T/VXAU&Z!,S@5 ߽&>rVmvw@ @RdFZApkף5JQ ۽7Yx*IkY(8Z{alqk.64 Ikz~05Z^V4*_[kN/ǎc!-.jR A~V1lcrvz(x<|>_ t(HK0$ʁqkKG0nT--" SuJC h ?ۤjSi;T ɺ)j-pF/ŒBP8K. NҝrvvR>ݼ},u.{j>W_ cAz6N]۾lFQRJ3}»Ugh2Ԍ^vy_4>]9Fشq#_bZ! 驨>5ΆP1AUgdK'`ٸ潗T^# kj{ {Zi%f]`#SzP(Oq :vqWz@@``Q^:sgL\ wfcoWw˟'XZ n!# B>tI`{L59PtbB1dz&#-9`0}w!%,@z_?.7cS?[H3LϯtW~v@p㸐Õz'VCGQq#a蕚 %6 *3t EU5f|P11 今ӪgZ&D%l^?ɪsX`.&n*A;HjQ4Q@ }y/n.:XnB;g$;y_lûlGıEpmq5 !Y |Of_?䙎=IDpy6/BoЇ甖'҆h۸ VW`TĿm-;-<]]]yC p2a/<1wcG ?@eH4, dn/v϶wp3X6KKj 0 PuUᷕ6Tlm0ZnV !DW2roKG3&g 5P_G@$x$g/\^uFںi{ɖ䢂Y\4dc-Y/BB0J(wd;{G- @/(,闛5x[xn{ةYb]xÄ!JLZf)l2ě 8(zڼMFr9nիobMV@Q0IENDB`flatnuke-2.7.2/forum/images/avtr21.png0000644000175000017500000001104610266541327017133 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATx[ytTEU޻J6 d  fMTƧ8( s92 ;a aȾtwG߾}{I}Uͽn5stPܯi(Mjo^4_A*y2']SjmV^o48X`- )U%FjꊛkCCLVW\oJ#+++߲2?4S7 .b3u̶uXQb`@z3:e*%-m-6@e; cFŋQ9oJ%/FVda0_e|y[=.׷/_ҲpL|92bi`uJ(`pXlN)׷Zv-8^k|zlw1fĒ}I`b"@&2@ 48 E+VI{;,7zR[09YX%sT(MK(JG库9POcJ'`P !;Jq_b\ #Z__0Vb2]g[J5x3͂ QJ<@Pj)XߖseKug|QP+m%C^aP[ T?u(o>C _kPP3~Z9߃9!EB2>$Lj68-_ASy& )92,zEn3^HQ$3uJv#D)SAATl*Ŕ sh.܃XR:X_+Ts-zsnQF!7" *9 PppȞƍf .]BGހ@,xj)T`g ɡW8=#FƢHD pDT@5bցsR!P}ƌ`횿 [hsppT߼/6AyiR3r?1l*+էu=Ϊ.v7DI'u$XLBl= b'3ċ!0۰UH13 99&j58g|i >Z}&Դ=~+Nw l%O)uRo) BaW[s]:Ω|bB">ΛxnA;%Fm_D0Ļ MM:m:>fԒAg^g󙦧$ OI5 FAg%kU `۵#9l޼Xd h40w*mw|l=/ɐoO.~ ]x1Z`2 u#BYŮ }0(u[DGެ1\4`6It*bŊ8p6mڄW^y+ */_Al@9s[哇 EIuI ^0h`dd@ rOY;N<(<[RWRVύ3G O_eg 2FfA>=Z Z7nDssKPWףTPHrjdcq8()xs.9I%8~o4TAHYpv-FǴiDbl!F=*Aᤉ;!@L uՕ׼N^*򐄐UOVdlEvv6,X#''W- (-Vx^ 2 ̃'lw[Sss\\٭h}@'sۇGJl#z|n$E:hi#u''BF"4k6c1غKbxǡh9g 1$ #`uZb³fږNtBC89ڵN7Bi_𢮱>`LVBL+ =s _ƒEO@P(96Q9MaQ}1?A|ZPrЧObo-X?:Y%meqjWn`ĩo.JMօ{ZAq1HշJ90(. X0 ! ҶNdp@?9mma^iR!`,Zpng̹}U>FF6. PHiJyeHl va8"aN%.9CUiys$ai3<ض`7Pӊc;aU]9sxw%A~, ͸x2pLs)~׶\..zkrlVk_8O/05渘ӻD&ϭ^X9#oǭmi~'L-&kU\u55;U&%z8yO:Z--$0'pqY <dلk_o{rˍf. p eUڇvA]z}nCxU]S+Z:ݎ]8}Yi tve|eźåW7glWnu;I)çKW~p C1$8s,6O@GLǃ9l`NC1Yۮ`{ac{LPt~N?a'|>zp\gQJO[\ڲ/>_ y<8ŵbgV4ڵҾ᜛]ZDe>AK+;T.u{*yg%-pcZ}on9x}&첈..H.`䖞Y/\ҙ;!2!'_?]?y䏾8TTһ>/p2x;n=,E< ޝ\[5wF}}]'֞Å}NN$.)˔ʬVގqK}-tiM/]38_d6ůŋ20W3aE~DD \fSx7wXg^f7-FqhZ7QY!b*/_OϞfg>+=9oB|УLBSe| 1=,8Pu9x cqR9׾;h-α`"~uiae{ #ѵ/l.e=hj|efxyLP ۿ {J~NHv^ֆ;po^ʯƌ?|pgfH 3 ^؟rNW{ۼmysrߵB٣R_1铢 D@v0{MD5l=PxlEIUU]w{ 3' {o\z3DGӉ9xr88ÉM?:sϥ:]bBӆ&>?{Pl԰㳢^Zϛ!)n\iբsU^yzMY}ʠ!{t:mNԪUhloh5ꛛMM͵._rV}= _s_j$G>S IENDB`flatnuke-2.7.2/forum/images/avtr06.png0000644000175000017500000001045510266541327017141 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATxy|Ŷǿ5}# !"$ #T^A^Dpx*=΋Œjܦ{`?xm3@lR[ބd*6Soi < ml-`^%Ա}hD-qc톖X WnZ Ҙnj_$t[ȴZRuh$8hzc몘 }u AuaR~@ pwz'ME^vÄy8=5"=C7[dʷ'OB|:Nέ`'}};SC6 񖳧"F6jPFrd 7 %ȼ-2o=+Ą8+W/26o>!|ov@r3$؃iүGW͝Pjc R/($,%)S !Mx;DGFLpTχGHp0&zH>7JT{!72cXH0sgL%q`ּI#> BcZA0}y}s4Rԡ*bnd6?_1xzz1:OfL%&:Πəy6U+L|).ǫc$][p\6AՑJQ-Ub twieƫ/!TTT70/ .O\ mU+5mԗc/h_b̨DjItt먪:A!i.ͼ }=14mN1$&cH|Dʎ4 #:ƌPФI(P]R*깢W1 YNfKsą?KȈs˜ [SߩwniE;|Y?ιރYޅ{奯ᲊ lE^Q)AZYIDFK $F H,EWnՌ:X>ͩy{?/\#`kpr{~v8}Pn|w8|ܷwulGJi `ݶZM~c zR"1oO fq2xyy9=Ŝ Kd`}www!мq#q?Hؘ{ew`]_j'(հ2~tBSa kРuFyڅyP<;>a9r$&L2CIy&Oo,X@RR'NFGZicP`C_(ׁ p۵n=ouj_//5!*m>p0{QXXȔ)St/^dɒ%2a"Y0oPTT֭[z*ϯvl|e*];U 5iy[t:l'yWߑc2>];J_ ,ЙΦ0\  eeYYYՎ 7{h饠wN8EϑR^ԟc;RoݑR ڴdK4m~ط7C᪊@!~(mFc_nka 0{gXƒWP`֦lΧ_: 5 b"##ygo߾L6Z+++1Bl1ch߾= `_Zq@DfmoV9_lے{C $,mݺ٨==}>ηnsa'Ofɵ"~Պ_xDiE9sfV4A bmR:XEĉ:eJm# RPZA:1T+@ƍ,^ތõ~ؖ~^|HC t\$ld p#*\ͫy O9EEErsNr#ujNிKu k=Zmy.2NlvO>Wb3Qu+nT_nQA %%^!ݡ6Hf}mUm{d׬Ͼ]vD m~Z'J¤nvGկI~yy|8[alhůgJNJyz !5a3|$̬DjA11uY'8~ V+JDt*آA;RJiWnȱu ߣ~S-}6ǠG-eQT\µb E\+`UBiA"Z4ì%;-]wК{9󆘸l%G)F=0nC5d){"AmGCQZVߵe{sgo:=]coQt =8 *;,H^fՖcn:ϐ3o '0#  [Dj2~lNg oMçN !Ұa@:}ܯ{l=19|bdޘ\ {2X~ݶ@ځ;N?Xz:F?.⎸;#Zt߫e`W H-Sv:~0799י]U8L"읭k6$0 7;۫^ZVRR~RXTd)̿Z饹5&3ꄶ/o~ݦ;IENDB`flatnuke-2.7.2/forum/images/avtr10.png0000644000175000017500000000774110266541327017140 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<sIDATx{xE5C @[c}ţ.{GWwY" rO !B̄d==LfB"sUo}UWBJ`9+B !V ! ] ! !ʅS6~. B`0 T7ߤ[U @ tVQ {`V-@1p x@۽b r7B`@pzsO^-%. ~elp-ߌ^B$ P  <@8b5 8 -P P! YN0ecWzlCpP ٛVn/,>E§o s,njt~(NO'33דŋ)..b=)PH;* Пs-ݢC6 @isBk;/0(mj*<@~~>:a"ٹ?RZQXw$V\ѯ .s FcG w6blڴiDGkʴ=ŏGPL@i)DEFҢIN2|sakl6ݻ7/&!!AnZ> ~}:q[ןuޝRv;#..$C`pg1N:C3m"Á^GiEi*H CSMO%/%nV|/M!sj K%aÆ;orP 2RтWK6;bѦp !a~ DS^Vֲƍc՜jFu۞́nH)KETZPXġc':AJbbc)-)iQv`U ajjmfQewG,-Gye"ApH6Oc ;w~GC=aR.1)erp\\VG7ECL4.Wv>)3n !73g.C6\1DHbS+Rʓ|.ohxSGbLZߧ]"9LN0=v~ cw^|A}d>ۅkgP<Mo-ifX>!1?>u\/θu$￳'m6˗S]aټ!q#Ýb᡻f2o#'JPzJ)_R*֘RI-ӹC,!AŎ0ծoNfuϚݤ%%%d~'Ghh!;А`Yy?]XxxL81 tHl )eSFɽEey?ٰ攦_I8|}c n d;v%*<GՊ R'vYSx[X?a>yl/+?sᡡHtsJ)54ܫ9zK#SodU+W2}RzQSX6&$'ؽ"@*,Kb(o.uuvؾ;AVǎ"",)Ɏ~?OrVTה)e»g jάWܮ]LduJ:T, !)%AV+&C*R-{]>}k<\,*?x~7?5N_w)tm δü7X{]nQZ_={a} 5'N۴qX*sEŔvyq $C+;LNLknsϑRzu{%৒~ {Ɩtym jjj(8Ş} '4n#|A7|;xnq- sfMㅗ_DhgӖ/9 F衛HZVA-:كqqq7ؼǏx6@\ݓkqzUn먯GNX ~DSa0SWPmI[TR_o6nsGs4{P;y"\:jl յaN/E `ngU6KCw2 (]4gMxçr|Z@S6l*{ҽ+(=6(NY\8>۹o 9Šw葆VZ'A1ZzaRq{n6];w<|))".6lkO),*bN=!<}R3t ct{KӨ]vӶq֙3E!oO')6:@#a߼w_t&&=%啔WHIpPbҩɉ <^=@\K; hDX9~u:' bAnJ3Oz8IYyeUDn{ :` #H:'B]_/-A+|56n=уN:6@yB# 0h^W3,;#/5Vln[f 3S"#0iDn~!)WM w*[/>۵A)e WZA!Dau9Lj L&#o_8}W}lʂKl+L>ƞwu."&,,4:,48:48}QW[{V^]m+/.=} EE:3ZE9GYnIENDB`flatnuke-2.7.2/forum/images/avtr28.png0000644000175000017500000001102710266541327017141 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATx[yTTGvv(P@C41j$.g2l9;y//1%&5l 4&"+t.}ow$s&׺K׭0\-.pnBvy?w-}PPtx.bV6 33SMԄ~###G`2[qsjd޸l,TYv7c秔'! 4o _JMK8%3-eZw76~l/\Sr a&JaAƴ-[VyMxW|ab%8媹s*_>5lc H:~eS]z! Q[$ 1s;>ttq -- /?볗XqgldF r08Oc``p8غۺOl(h|K ׏ɜ5}_"[%{+ @M]|$L/j{sۮ9]xqHK]4g_Hq'N"s U?e %O2Pp )g\<#-qHp2b gC X 30_S(/vݬvtt4o|O!\vvz> ՀǗ/:s\?DAP}X"*5/֌Qlv|!zDyy%%%eL022rVbb=a kӟZ0#7lG𒶹 2p!?dyB?YXʏ 8CTTJ黄lƘ}HIu:]hB|'gO֪83x]]#k 7}* qIIIKꏀ>?!Jq%$4ԯ <,TB-?W95@J s'a5yx POd;#;!ފo 7b"±yՏp A QQBҼ@JFt 7-o  yMPʠVj6ðjI6BF(cbV('@Zؾ Z`Xǡ ?8P:w\ssF3t PV?J'#±x8v60X{05b{`B,QɳBCc-ꛚau@RAO!#1=iV/EVGdg\nNaexuh\|3e~)wtp2Jv &v{榥ɕ9-@:8|Wj#xy30wzaQ~dQ(|Zʘ5afW?'^wӍ<.Dhm+ lLH@t$9f$X ZZyp3=`j= K+O@?!A~P̓(,`kֺN5=Η:;֬Ï<&58SxI6p*#uʆ2-er̔ߓ D%Op`d?ٌ C0}"$O&kYpg6 *qwaQ0&2r9c+NA͕zĎj?yJj%+Thpa|IY[YEq77n>_$9LSK &ŎEbFiAAǶm%=5 @@CG[ېs*$$$.6 Zoo( (kr#1f?q7"D݁) bҊ(,Y>>>A4 ^ckːCVXXIIjŌ1HKYalkyv_z?,JQ#.}5MĚ5k `t8~D{{o=P (:[ J JLM:A{D1fd2o1[у,7Ct~k (X5.B0q\ n=^J&&!xGARhp|xSk]snme}wFc-nlԉ޵ 't{rQ/vѕ ƘFndZ,?l`PX,ly]̹W1Rd}:wXV92gmCyJ2uفbYcoO'bO??RL0ٳG߇kJ^z{{n¯V_rT˰Xmhlnj3JT`ZwBXPVلqg4=-).ټy*Q>!lldʹlyg߅ѣGo/7X"h`ȲER˽nsHhx=#e'R;Nqhhj)+$čo,!*0-CF$Rg׮nw!h@*ܗ?MѿǓ]C"1f~ 5@9w@ðj"Ew?^=!#F’(KI7LҸKP46u"g`Dv%A~H|1sÜFyPHCZ쐷~׾\&dɫApfgAiEԎkL֙k9 T9dZvSU#ǭob Ƙ`f4=~ЙLO {rM:l`M$P3 pt <Ȥdf R"g{м(W܋ olBUPt)܄I[K2i+p2pHHW{F V)da1Q ι\fڰyc̝)|Ŝ@Q1f(':g"`mrFy3ޛ _Cn"׺8̉EPy!RHbGT;]rSϖ 0 EkJT"]= 27=t8|s,ի-'K@SGG =LyobPGzPRas xg\h}sӌ[}vB2S cʇ.+iY"²"dŬl$coc߉jkEh #b K4yiɳg/Dv((Ε[~8E; /}4' @z1!AINL;uqVF>8P 0U3ťKꆂK5BVG|}#|#ޚ^f6;LVK{WJݞ"Av\FIENDB`flatnuke-2.7.2/forum/images/avtr25.png0000644000175000017500000001150410266541327017136 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATx[yXTGfd_T@EDQIרDbDMfeq|73Fߛ$%ߌY1,=$q!l" MM7zt][@E{vխ[9uԅPJ1Vɒ&S߿A4H:\ ˔-6g֘R⃗ (AluuGuC*rCBNpͭRp5ᰀӲc''SJ1Q![z: enT:.P`<Ϭ6'ZzmM׻v3s= N Q=e]&STX@[XVq3V"@)=1 BtrֈF8kA) ![}UZ9}YiΜT ^h5_mԽ}ڽ+!L\v5 p13knuZ 8ڻY 5!xArlП'fF*d݃T2  !$pQaI)})}`NI W'zbf4k67|O)<.= CN'Ke2 'J)!p,nvtVlukL5B!gL_aww0 ⢵aqyg2$̡5NK}uwcM#æZ@(HY{0$0r'KF$Iؑkdg>h [SEDd6mAٝ <<;~GGhc5+}ZR)#;%EU vpޤVkgş^{F@QI񳧖ajN!-C9eY @%K[ #[" L0AɆ*L`DddhP[ZaHʢ"|;,kK[ 3wzRŸΆ@`z4JNEe]fL׻wV3cChAObqHww*ҐR< @, :]మ| u=]?ՅSJ~UGJ lRf<\< &;Xe%xhr!x0{b34 NK@& }J^]+*3 HE~WGXЮ @]MYq54eyc1 hR!,`~d!$8ż[ BpYtx"@C1RFaܚi!EMM56} LQI^|ɉ()  Y&+.xGO9UJi' E@ms& $H B%HBCC& @yE%#H@_܏ih>@ZZ:^^\hhGJwpFG!=UR&g NX`29OAL8Atd^WË/a$xș1}Y5{..6ap"G!>>awX"))51&{s4*%q$!;JU΂4R477ԕMKHNIT-]0 .]ǔSEqRH@&fӵp!HOMF}}=RSYׯhĉ'`0eQ!B @h+-?G>vpPȥtZ)v 677j2 $eefDO:| F#wmE׮]C|d$㽔:;z{ozZij3|tV[ i#^;WFҸl%69soh"(ax~bXkN#CBHkml_0\5 XE,7|Xj6nt kR:Efh̞> m eQPPUV!33f† <9MxiO(8R cT2v5tfJ|>x\f}2 "g\&RWa$oĩZďLǬsiE%9uJZ8$R)vnu:>/Fs =;͚@OYVi}%esn[mΒ[:j.BO]yJ)2F`hفo> Ϝ4:%kW/!P p`Z-:ˤx`:4j(u '_BL44NL5EK ]q=D)umK Fce\Z\Vƺ{?~wBR)-e)'0D~ '>|hך Knݩ7 'XAe]By1(.zo}y].`)mmhΟlCJu֙= :/VtGq .u Ob46PJM8 7u3%g.iAT&$/̦-h4(+?gτ.7,`o1zs˅mq3 k܏=ziEx7S tر!\rr'& vXA+7׮9xHhZ셁R.O\)!0[,pǷp1Env c¼`ށPP @eNῊw>` NZ0#G -gkу&qi3y7P*30ߏ+v\H\g9-ᇃ:ʫk8lTK\h1(b;>ƻ[F`\8N;Zzwzc9ܛ* [s P/au/z=g}q+*k)w!i W__u# rxҎB `~}AdX0[:~fwwP}}}R׎IMھ`jgS_} ÂDi(fϭn=>#t[]xaCyv W~7TTS8Ҹ%'l, `\剤R  [@"*p(9]f{Pza߱ҕ/_Wh*x N_G 1>#}$o8qkeY+;;q%]/>]\&3_9W;onaB1FoB$@_Ɩ/wЩD#xbL$''8aӁk8ZzC'+"2,}JYmR|oy|uݷw,y/\rcᇃPr<$'"9>) qf }FTbe-C5eP^'6nqukJ{Cy^˟F[yLh2 -mцV ˠV)RAValZ*r2n9A~aZ[Δ:y`33hbf/x,;8PO0ܷfO^ȇ WGwq/PJG"+Ƭi9O=x^T>M怀 z_0 SP-U4EEi&'L_X85.P>:}"^ EjgR鋕ۆY ܘ % kgPeYU\5;{z˅ʆOZZڇM>|/D0!=д&TVUBp:g2uh*41,=/"{eIENDB`flatnuke-2.7.2/forum/images/avtr22.png0000644000175000017500000000775510266541327017150 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATxy|Ֆǿ:,$,I$,@"Bd ʢbpQQ7\uV({!(Ȣal"%!kw̜ܮ[w9w(LڅfBpHDZHy@DbD$GD¼""?GD !"c~@R%}@ s/}.\Z L90 ,ҀSaYE0 q0#P)PQ #t`uAV* VO2` $>ڞkWiRx?"~:.JW/^Gvm)+/"MHdt*<@"*5`;XK&\7 <"4#$1OoL$5 [{N>l`t", N髎o]o]B1#=d־jt}M "-Ah;:kzYglf>i.=W-.I ("%QCَx;R6Ժd )5NߞĨ!–ڹ#k:$'M{l_qb"18 Nj-"Yu ""%1!7 Y&+sg ikڦq>=r#B } ft_oY[v&"KR!e5?C%Zr{p͈h?qqB)Mhƀ~^iX|?)Oa[5npxG~nbԓaK-%:rp>>;e l"qϘy~,^Tt?]ħX\:ne8 ߦU LL!އ*cK&i 7xɹ8gT=F9c@ijoB)BFuM-*%6^#`= >\q  Eei:zv4DD waC8!< 'NE- փ0CKHgh<5fШQVį: #999~ii)>XLFky>$: Cjr͡C4Aپ{w?6K2cǜl'j]ٵnI~{o`zӽGj%-sa K?{n>YwҦY,s(P]]c@Ѿ0N)6jO]5^3yM iɪu?^~{Qzilؼ6Qvzi-ShFʯ .n|$5a\ :M3e+*]FF3Ѭ\4v|}s#;d0mkd阑Q. Ceے?li1V.\HAA=!>DChP^Wy?&N]pֽot UY6%ZrSTTԩS)++cڵ>}9sɄhߑ۷7~˻%CBzPYY~+mƽǫ)+AEEa޶fI,-=+Ɠa5KjҸ kCUZ܎/uZJl,-&$%'Q\r HТ\R>SRJD 1NuLE06MeqȸqXn-Z`ڴiu2x4c{<5>THq]S\r"`] "e6%)Ǿ ?_/-_wna "Bؿ_(OHw,xUJ9#PT+TF|***>sfM06{}i;7w$|Jr9$Sf;:w/yi(2ә4n$".A 480MݷS]S'`2Q.F(.(]C!C Z3\(C~U`;IkʘɆf (]C)p\ ҕO`cKL4,~4g{h/Ό8a߶;$ֽnL]Z׬64)i5tSx=td;1FqƨLEDOB-P!;N[gU^|ݬgiizPMvUZ W:g̺gc&+sS^~&]M|[; o?/::L .&5B)3^xqOxe+Vmnr{^aӸ&j~Q Џؘp)" ?HpSny(G%4X4ë6Nd?>Gm@ӄ~}{qu P_Wu[NKݑX4h,IJ[Jo/_>cW45vLaZxAжzhXsg߉5OteN"x LjgR :xe˶=,Kc"F,w>wx~|~HeU|euaz3\fs=^xk6E@CM;^|ᵷ>(0qZ׉bؑtN<bB v5?fϾ=^}6crwN< >q˿p'k7{g%tjO\ݳIEH!@G 2c7_|O%% {\^)~E |  \ zK?dWJ "yx1lPzT@ }> Hk,]yީ<09Ԅ^^+!}/mE]xvJgӎ=+}s΢Y{N<kXIϮh)#ېܶMKg|[h]?r9x NDtsIJRVĄfq1bM<^ouEE3U'*O.+CDyg Is-IENDB`flatnuke-2.7.2/forum/images/avtr26.png0000644000175000017500000001164610266541327017146 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<8IDATx[yXTGU MA$ AEh&:1|YY^/I͗L֗EcD͸kX\eUTEn.}oӬ:{[;T:Mc=z?mvw[]~]Ct FKDekeV얶6b:&~߾[r;BT?1`6 ކv=$Hm\9h&ÍLq(c@k+gxc{vL]-r\k#r.Ç{&<] /Wx|O5&Bi@2%NI/0ʷ'w8ӕj%k.1bQ17#8̞p;9[(*`meTVy2eͦ-77 zIADk9ãtD4yyO3+B~\q2"*Wo3tHqx 1٢p?p!lvHP."ൗ6Ι9yp "@'bE0oL]$ $c(@A`4;@.S~trJssL]uWYoN,J$: '&L>{;:=r"T2hjh'@]LqU')Q@+3q KD@P{hݝGw*@1gq<()NOpt 7`,b6btx#4|B7Rcs|XTDMצe~-̜e \ _ZODPTpiԙaْkhh`8|lܴ3̩h4 Rk8//DM}*fCiZeꆚQu/&)|8LΞ3's2܌*6{ .fx:kMn05ҢDA'ݿ { z=ZBA5^ q_ W(KMlrhxSOO~8_Zv|Yxy٤ʼnv:]AP+6xH>"EW@:Ueҋ)I[yٹU7X:R6ns0{ DŽ>OUjAU&#SC4 Uj9 cxz~",\C`pHp0P[WӧRH"?Z¡7b%.LNcԓg&/^Ŭk͚5HHH@bb"JKK]nلUgHHH5y,C>19fej۟+S2)1z'$9E-9~&o\R)ݟM6ǎúu\;o/5D Yn;lڴ ɊϙMrRްj#c v$w, ޽{aZ*++;\҂Vs#|HZػwE>cTG󖜑eI ׸Z RsnY&FFXM|rxxxHEFF*lXW_`MsO_oS\+˗/طg$#ڵvbL@NZWZ^wuS4ѨXɯ% ]G^7LN???f$$$`0 :lrY[ށ1 `ĉhll'VZiӦfO?sKBVCHJ$i$Qlٕ]wmю g\!)z=ӯ (apD8=x2(>߈عst)x+R~B_j:m:6l i}hkg¨7qv[i6;.@rk VVU`an 1{!*"U5` 7<_BTC9+ b^@x7V=m8x4iIMǠQȔx `_( M7;InFRP;:>zVPlH <=[m" |ƠX9%u`pI0ƠU0g0IpcfpF p2WձF`ysf cnֱ_؉CT|%cŤ:V޵VQZ~E8.o=[x"v:sTNN:2-{E9[o@^ޒƘ+]ptG8וm2e`6~I8ddʼnLgt@ ZDՂʪ](/ ]k܅EAdQS['ڱQ"~LLvxNIjgd;Q_\^uwzsN| !|X(~BV|/hoܔL11#AP'wsN1@l-bJ̎~k #/H=4y\ (%E6 uŀ~-^X4ŊEי̝ttZ\[?*.y;l@\p5^R*ﲍ9 dC2ej 1 ZnSs ΗW .^B+ztZ-F܌Fx1"*cGE#*" :0ٔSdvLnQ` G'0+'tڊC}$gᎰ@!,4sMjlƹ8_J F#q,̙>Z{1+Ȉn8Vߨ;rs[V-[ _mߋc2ؿϘbPHpbDCх2$`|u7Sht_,~%ZBq?{빥+6e#e%lvX:_&Տ/=H6/<WyzNwwTX Lט'$:rޞ+:LF^95lAIYق1wqB[̽KL>&c4| :nomiik0[-7,7_ƍ&3l?_"h) [IENDB`flatnuke-2.7.2/forum/images/avtr13.png0000644000175000017500000000772010266541327017140 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<bIDATxݛ{p]}?s}IWz˖oNSڐe@yJ30m%ͣJ(KHi$M2)m l%lɺCqsսmߝ{^~9bx,0|Xq-,㨔u*E7EQDv;E""LcIH5ExX91$i~e | 1&Sq.C},vk 1y)])ƘY'oK7e(") 3\0p\,Dd+pխuA=?1<0pPiX\\, 54<:miZ~ ͉oṤ4p=Ӏ IӦ"`e@/H>T4-.'L1 ȉD%|vݣˀnN|^4|mJ'4> tWN&# dď"'B 峊>PcvNE5aۄ|n fm{,o=Q(EŐ| ,u׵Pb`ek-mWw& /u1m Zm hE²8ѐ;yG'K|X>jB,o cU-I ?d3^.Cc]z?opwdضmT|pBxx@DpoSW[L<9֭[q]w Cem𑪼<Lu3B`L]kf `cn9UǶ' ՍMRjw:K.eŢEƆ>̩s}.h4Z>_tL_:_(NKUƘbP3h )VuPJU][z57t6l`ӦMs={h8=7okelٲ*oI}w/a:8Em4~ᏀK1jqi!lQHcɶQ"'m $ͻyYpy3TO-#s-ױSW)\"U=kӻ1X 6 ɚc̀vqis✿SkH"/yR#/rN}c 4![}Z}:yyk$ A !H0v1Ƽh+< "Ꜯ-Vx(x-9낋Kᮝ;gؿ3Ž]+(=ga8[M]sO%VoA%-?X_9Qw"Ԏ] NU>v*IG xQlvlȳ5,+%#@9 \XW*A+=)^pmTp3%7IC]Ȣ)؆qJD1A :x[#x]nɒVbH\M:.xd EjO`!d[Il!b!ꢎ"$$L$c_2ߗL3jaʞib'imТр!c0ϰo0G-(j5XM<\͵qOBy=rtϴY. mYYZ$Okm?jQ^ aGNdl}+]P;sQwZ|NJJDjQڐֶ),h$r ff`Ƃv<( 5IENDB`flatnuke-2.7.2/forum/images/avtr15.png0000644000175000017500000001166210266541327017142 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<DIDATx[itUN՝2'7<A@HB3 $Рbkb;O\[Vni**2(2QHf$M:GVHQ~ɪTݪ3s>UR_sbw:FNwZ;~~ !"a>ig}EY]1J6 ݞGBGbSzX|<"⬾!~0ۺ`lvT]mlqlj).-r|WR)BWWxFbSs`0?F`Kѥ%ŠK5O^_sE7x{{f ^b=u|X+#Ĕ3*As&.rGTĠ3PY^f}ŧ+_t@/e1d ;j4V}qI7+i_}9g]#_n~3-LxƟЀ&`@^"B?i }֞~pٳm7'&)x΋+f 2o.Z_pxgI^>Q OS :n"%:1`"xߚb2x6 D8b [;(:P gJ\F*d98: XQsaʋ'Ƃ2 *XhuTב ;-㵐`Xw&EZkt+cFAѳDnxLF NIn/`"hF6=.%^&͜, <= ȟ0ZDUhS,(DЬX-Axwn-ѵ֦vG+(mgZxN|x2&A,G ;7@@Aބ>VdKET:% ( '+7,^d1[!ͮ;ںVk_m!v{?@M] fzD$xaƊ(KW)f>ɤ)[r C!69T־o?"xQP:PC$p:+29$Dh v?X0nj3'.^^6~MŌi@jJ\9@2٩2pBk^Ɠ2@)uۻ쮙 D!B uK͘Z\*TVbQ A^^awNy Jah# I=̜}N%!u)*KTg42f C5;;8⭺CCo̼w6m̙3xb\ X,)00k֬Ϣy(:~Y*Lf#8iwh-]ACM @ӿn`plj⋰lk3_GRBӧ/qV\ɓ?ۍc4$# ݄ݺ:enɂҪȄpuɚRݜK,%Kt}&L2}PVVelٲEuTG&g^hi8.#[N6no㸞3&;6{]JJs:;0YW_|uMRl,]{zکS7>tE>\L<(Q/ݎ|!#3T[(C-tE)E 4\>_'\j0_4ZUOIDo*x}}=xٰxCS'MĨ1Gϻt:⃷qF+4l>[B;ujUXȤQP4Դ ">me )a|51Ӆ8|^,zf< s`'+``=1fxDDDqWhŴiGޡھM\k,t%mo02&pcoLZqW15]Vt뚊f,I4$Kt `c׶hnnG9 FNȆ:Qx!s}z oF5T7@'n%&ҚyIAcԹÔ )(i"0<' 'x*%;+h ^n6Z~M= jpKNVIˎаQ!tEŃWmaAp P F7HH"xYB!| x-p8`Cs`ԄJXܕD" uD8Ўs{::mww= C u^;?* P0ÀZy9&0 DPK@9U{X_zEɢק5S9iLWqOyg<8 [/P<ߝVi$ MMe%x 蛩x70*pj[8:@!9v~qU~ 3*[s&( ǩC5>sS&N VhÆSk/vZZZjoUX.iM]5m5ݐ%=r8b[LO|W'4*)آٷ'{}iRط#5aKErN$c|xzYĭ.4h|˹[OhO}^:Ϻߙ>,d77ft&yuJWgg;xJk !c` 4pq>;ZWKm~*[z]zzÆNX(37L*9ʊ>ggEkc>yo>Z!U. x_vBfp ^}B=aHC4{F\+`#honB}UE2LN|sGa? hK]@Rz ڷx ?/Jwp>{on:J3;/1qtmkn;ݹG)7}/@1])OCN*"@p?l8ħ*@-Eۺǯ||MoZwwh]q0"iXQ^h6/U%9Hr8j^8^Va3~2CKωy0oش~X;<3G.wvvu͵ۦq79o!^`zx,:펦6GckF}[5_7̸ֶ-?EO;J2IENDB`flatnuke-2.7.2/forum/images/avtr19.png0000644000175000017500000001206110266541327017140 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATxw|\ŵǿsj%b]81F@%) #$ƒ$!>){̜39箐RLMfE3E,DMo!rCl6BрvJ kU+4GI֖ .uG k!D}&-]v!PJ9>]&SSrS\r BFe+CNgL^ $ԡ.E^ 'څNM!L@EX[Jp[`HfY!5(^@Ebt6Z@xHjP  P;fzټȪՔ3sF^ɔ[a0*=~_7XS=|r=o:;u%y@CabrL{ X ƜA BɐVq5{Vni =UP@ R>1 2y>$ `\ (\RYn9nwHnI*Qr֎18FP!T$xMp2L- Qwꪹ:"B"Vk@$'+7B>Eվh@OWik@^dH6!Eaf~w5̠hBRʤB᷍0.q Awr|-g>8XMFUYEe|6g!"ԒVyh Qڦ+Ĵ8$%o5[ju%pFLd )5R;A~Cj?QQդRbkky2glBsvqT?02L-%V BO^l[ uBY?QGDjUJ]n<H^_YqQV';D՞v^B.4?';S@&%*|cmhp $^ +9yF}Abq7e8eZ/ɌKlZxRAuEե4ͫl4NQa`<8H6rH!rV84Ud-͜y7dNC.7T@:-__âeh4"U$ %C*eCᔟZ(1cX>E |cc8b,ͽ9s~Wk2'8~G+c535 $3ofp4xF9KfVb5"o0)5aѾ~s|6r J 5F4̴ΰѺomt;\Ni$bH31}O@ c^XC (3Π(T%Wޱ!6 OI;%ʂOٮX`q 1 (]]_06Okn5"k@u7ӿTOcMqi/;:7BhGO|&|AIyVFhz&lw|@zGy!,:[1Tl$G<$4">z=;ǂ+0yi~%Q`2Tj0c^N)(Hȟe F겂:N@kNWV0\sQ曢Wf|h蜜=ms{3 v.|ClpUԣ!27nGk7o%gI=>_7TǍS> 2 2?V:P:R%("w59‹X,$%Kp/zNo}כkH>[IhBI)Ch4v0UD 詹6ξʸk׮n l0꥗(]L'G5(ZeX7ys=o ^ .+?*2S+ӊAפ{&`l@`c?`B0Kyίa3smyf{9nF/XA_(Piu/ylݺ~[o5EιARe6 wg w{QUJRt֑`y Tե<~gJLz`۳V]&ew%SOr}ݛ1n $%I[* ]8.)e )e~կa (9 >lT+O NUUUht9+yX[{K24~)rUc{Lb5CgwXJ+2/Ï6M&|PU1$[oؿ!B0;T5{.B4!&EC [pU?Ɉ |BV+M P0{Jfg L$b~Qf6L`uCٞg J)>)W'%S9Z CQ @FƄC^`kdx<4V扄I`P 0clz-N(#RO,3BhWM6Ƅ}@$I(2. Ѽ\6ϫ*(jr)@$꤄RbPxl1& z'M6c}w}F\.x\Xpg0Y*xكk wW<#-Ie)mMgѰc}!&> qcFEIߣUpKM5O6W?HNW2XO)(Փ ;jf:A0ةh:eg^G[h۴6-xz\ Âyu/>A>mRo?M c:{QJefG޴j5A&鑡@mAAPק $!9xp,Ȼc)"0GܶO_L& y<RWۺj=:JJ4qQnSa9j;AQ:KHq<"N~nvE~y͉ 0bM<'츥UBs}̙*}=D'bh}Ћzqƥ|qH c<)0C4Ըֵк{%'FּB3o[ e109|!SD1vξM;4!'#?Lͧzw4j׳ |a?hTƠ o`}N)`Ѳ*^-L{c-`<SϲSsFoOg<勨}T2`X㗒C 7$21h67c֜Bm;GQ"Ue-o܋^VȲ-nf#?ߵ9rrp9l6 ;W}e@F7T;0o )"0FSnDs(1/2qk'q{޾OGi}() !C֬kMG ѕSJR-yHǓ 1K*xη˄}@=뇆|89s|)kןdN:;x!^*2TSdnpXƿQƛԾnv=ʊ3uRͣx<]ӕx,:f[07k*+jbcel>&vcﻖ-Lj=۞C/%nr8׿~5RJׄLMB]v)/3G:/V*VT/r΅81l-5XңЀ>%y;=AbT"D_h-=2WeQ0jQjfȩ$/^/㒹hf91Îݟ~ȓGY"XXGQXT[t˽S#|3=.c~Hmffhl&ܡx(4 f>/4IENDB`flatnuke-2.7.2/forum/images/fn.png0000644000175000017500000001503310266551064016416 0ustar simonesimonePNG  IHDR@@nAH pHYs   MiCCPPhotoshop ICC profilexڝSwX>eVBl"#Ya@Ņ VHUĂ H(gAZU\8ܧ}zy&j9R<:OHɽH gyx~t?op.$P&W " R.TSd ly|B" I>ةآ(G$@`UR,@".Y2GvX@`B, 8C L0ҿ_pH˕͗K3w!lBa)f "#HL 8?flŢko">!N_puk[Vh]3 Z zy8@P< %b0>3o~@zq@qanvRB1n#Dž)4\,XP"MyRD!ɕ2 w ONl~Xv@~- g42y@+͗\LD*A aD@ $<B AT:18 \p` Aa!:b""aH4 Q"rBj]H#-r9\@ 2G1Qu@Ơst4]k=Kut}c1fa\E`X&cX5V5cX7va$^lGXLXC%#W 1'"O%zxb:XF&!!%^'_H$ɒN !%2I IkHH-S>iL&m O:ňL $RJ5e?2BQͩ:ZImvP/S4u%͛Cˤ-Кigih/t ݃EЗkw Hb(k{/LӗT02goUX**|:V~TUsU?y TU^V}FUP թU6RwRPQ__c FHTc!2eXBrV,kMb[Lvv/{LSCsfffqƱ9ٜJ! {--?-jf~7zھbrup@,:m:u 6Qu>cy Gm7046l18c̐ckihhI'&g5x>fob4ekVyVV׬I\,mWlPW :˶vm))Sn1 9a%m;t;|rtuvlp4éĩWggs5KvSmnz˕ҵܭm=}M.]=AXq㝧/^v^Y^O&0m[{`:>=e>>z"=#~~~;yN`k5/ >B Yroc3g,Z0&L~oL̶Gli})*2.QStqt,֬Yg񏩌;jrvgjlRlc웸xEt$ =sl3Ttcܢ˞w|/%ҟ3gAMA|Q cHRMz%u0`:o_F8IDATx| 00 1 @DAJ(w҅Q @Jf̟|̾8#%8IUU\Ų,uMBD0 s+9?*}cigmO@U U8ڶEUQUl}m 1 @k3}ɼwA7VC@ _k\a`gڶ%qNsfGm{O}'˲ "ZQUDwGUu}GSJt].0M !`f?fw P? ]^ghpͧi p^)$-p4uA3s8w~Rr8>nyn5=VYzEkaX\.)˒ phui \.kLӜ.q]J),B)myseYR5q AJ$ C67Ӊv;!uMQKLa` @k)BqzF@ N_*)-H#XYvBj@DB0[l "300;0_&~ `X.^͆z x?@{ f 2Z!QeQvm eGfss=99IF`ccbH:]RJsRF=::J}ݮ :,//v16^/5D[[[TU4]:a?Zt:SSrh͙1 XXX<JJ pqqA&8- t^ 777!sT*eYF>Ap8$F!PJJBEH,`O2mۄ#h!٤_]]tww+cwww}Z-jh6mvvv ,--Q.Y__R.J8+1??j5.//7JtRhtzȖ` j%!8889zzzb8rxx@.#0 9B!vܖeix||OlvS6FQeY(}ߴZ۶q1# C#!Ncv8w'{V:&i`P..8EDVq' tq"%Ei6#D}>oz?}|pnn˜mۨBXWsޱbEHjꟊZ3'#HfUضD"!t: 0N\6H0 X>sfffkB/*#Y\vjj T*8::ybzzm_^,3 SFs;G 0nYTUpi`aac s~~]y,ѨgoR>H$"`}fŲ~\oSݸ$IP[ao<99T*0>>WpXS (xxx@<h4T*PR aQVL&L&Ql61<.d=sΙs{t~ka!z踴Ƃ >|GJQ"ۋ+5?~,2͸sr@{{;|h4jzR)χ%Fjjj'qtwwn)Pٺn*l6kښQVVVY'*n)$ _~esx^ )!0EQ022g"&OQȲ,%ҽq0ŋXYY&[AQTUUYŰʦ^2G]׋>;t:LA~^>}'Ot Rj &{ppCUUȲBz|qttUUp8X6had_x>٬DDjhKQx<@],I߿ݻwىm/Id I000L&/_lݻw]]]^ź GWŰe===4!D"a*pqq!Խ>>|M,//(HR^%R]]me; pݻwBF__~?brӥr1[:1>>tvvv0;;+'}e=jjj E ZiA$WVZԈҌ'I0Ǐcjj `@`L&1==]ofEgiB2^HLNN}]בL&Y})MDuI077ׯ_# 1gH޼yo t:+3a!+NǯDٳpd^vwwqxxȮ&n\.yDQ#@e466"JGP* $IB}}=rQh4H$ͦq9v].IB<,;8JH 'ŧ %`_6>GBӼmc;<O/P*#-2De(ml'[*YnE|({\˒˶sNnm+IENDB`flatnuke-2.7.2/forum/images/blank.png0000644000175000017500000000513010276674115017103 0ustar simonesimonePNG  IHDR@@iqbKGD pHYs B(xtIME  f IDATx[[$Evn (ń>x!/k /<(AB_1bb$AԬ`$XO6e aw=gz.]}'===sfIekzkUKKKKJP)J7`_s9oB<pA[Jو0Ơiu}2 xL#88 Ƞii/BN0g-R<ﻮ~#"@H !A\a}1$u/zfVJ|Ӷ'9wkv-R\[[;ZhU2l6[uaax뺿x_EާiR`fi)!np]n7|4H4͟{4/ 7 ozN,ӘA9"e +{Qqc N J)G ?4Mp]~pM{+qOKtچ1n&Ի}j?x!e(헚(gfytaI)sU$1MU(Va@qq|48RxG&(>RʛnkIe}BTBHv:'!J(4unkK_W !)`0@y_1~$4maXoj"73L_ FssscQJϕc/4X"^|:4!lz#R.--훳.BcPzg 2!XXXMFvJiwض])qzy׋ $kf񙴃*BY)qeYannn$tfULdlKjS0Ia(IO[A$Jin; BCE0 F>e!0̭ !L'l !x:J|)%BFlj5TɕRJ)BJvZ4ͧ0ƯN*+|yoY$=y:[cu1ƾ=!=ekG7V\,:J993t]4ͣ;xbeoRh,?U`=3?`vLWPn,zH/oqA󮨳->TQ2SgleYFəkhc ,|Cu ߮4I8zNHI?['c2J)u]tf)V*uNضeY_ *?LEf͗1^OTn1w @j%/rz:+t:N?ҞB_&41Dz]/N+yzwp0\^)ij0oQJWf5a"y!!ubEkqd3iO)}plQJ5 ao:cl9?IyR B57OSJ)=;8^㸣jK)RBCmb㮦ikG1.]~7{uŒIENDB`flatnuke-2.7.2/forum/images/avtr00.png0000644000175000017500000001045110266541327017127 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATx[gXUW~>TAD4X.XLLu:w:'hPDT)"r]:gc>b,{VւPJKN܋E_ x+/Z~%E /BB-gnM-EeџydFw}AxF`0ý xPo+.+~Pkhn}XϾWt4+ y\۷wЀ}"E;YXh%esܼWXE@f|9OИMNBI*,.k۲h򭬼U.AC,CTBHDHT$"ڍ?$Hu#'~f!vSdɜ}=='F%#Da,R JAAa0O&NgHgqV$ʒ*g @MX* $,A:HNYa޸9y/LX`#B05)Q%=^EnؾoSJT ;efL1~Y8@&XP.%0 ׼@< t8rO O1;>:fs g0yh{DzQ<#X^uYg?ϝBf=\4'xAHf3;"U]nΛdAOlO4q5g kjWiNb*`ROsb81/9g+\QQQq  4-uO8Nnm0"|"0@p1>㝹3o]\rB  {+Uϖo0 M=J@xw^md Jp怙u s6C No/AKXu^C0iŻ"jLDq1O*6%r Qcttay|ȉ3X6`Td[/[0U؄_o҄i#xxc?tM|&MǎpbYQz3-XbDe GWTl艜{гŲygGLd1+|H)W;0@Y #P^^> :P^^c%8t 3"$C̸I[naŊDž PWW-[ 0EUMÆS2yFA|{º‡: _NX!d`TP?N_ C Tt8"NFpv%B /O@F}TԂpRo<=;wD}}\6''G'̚Gy&edpCR | !M<1|Aq'A:76ղ||}WM'''_~4Ysp*9p;#cgSNlҔpf;-S5#‚qj|TPww(m65G&k gR1c,%˃a 1crJs4gix#88ǏǪUQqH s() R<)q}v6 / )+`u@K(XRL6 `X|})qV(,.ɳkvX Þ)(A vL4 Xz|NTV`ö]ˣB~z?8v.E'ѺnTWbaƒEj'ڊo=qO F/N"CKW{{P`9ӵ@vr<呙א|%U5uX8kf:␺7}>vh\{㶌>W`=9vl`r7ǁPUS4yg:=!f ~5cYH,hg;z˽ מS@~e=k47g'Dʚ:~`iaZ'8;9@_U}u-(amm.>^ @/(.]=8vy$z2nDė | B Cu]=\(,wd`Gʽ7`W2_(Jdzn1es2*r3j: T(hni_>r|PYY,fQ! Ãtp>v * Y9hsWW:rSRJ?=[bz|LL-K;Dd1{w[+RzDh RrssalTX؉+ъ!,x*tng7v'NΦwQa?LC䰠C|zN؇}ô*Ε[ iws J3,-}c7%BH~ou:i{uekdkmn046447U7UWW?TQQe0Gd8Nܴ/IENDB`flatnuke-2.7.2/forum/images/avtr07.png0000644000175000017500000001126010266541327017135 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<BIDATx[ixź~{L2; BB!@Xc# ^x{]zDE@a "! {I2L1=3=KV8<=]}VW_J)G õCT)K.}ZX9}tZ>rAB$[DV5F,I|F@FҪv$c0,rhS*g $҆Ҽՙ!je6!N ®$j]_M]~w`4:S!6ByAM1S͐Қ%0|@LJ~#gz=!$ S5yATI4z &OH%ڹ|&)3{!DwVIr,_=3T"F"f]VJz6kXd6+JK4RI@[~@Q, G"XN2fi_M6_i5rm2 :1_L . WɂSweY˪l3sIR<3' :ZK!*BLxeR׆ze[J,.@fz xeߙw'Ȥ}%.Bkȹ NԇF"xmFJQ/SB4e0 ? _oDFG Xr4 $(֜s\kƵQu^[._Ɩ>dr7nTlU#s78LX$.3nգB-0*3 և;F,:zJ5 9 KK$ HA@@A׵ >"S"h!?|˞_ k7C.JS=׮煻,ЁRG/wEF.\L, XubO0!1s2u~D wloy;_n*XYsA"q\VUVbW3g!PW  -CI[,9Fc@樔IrpNM3a>mOab?'ߨxy.V%e ko w"sd? 6.{'kn3@TR .ni#ze_6!iICzSx#$a*~AdOARr sQZuA%'<n8OxḾrzȰha@rI#{Nc6.W|]Nf=8? 0(;WQ;|\rzͱv_^ rn2s+TظqMyؽN@hmVt9z6Y@&+/ B}B띭:_G)n{RYtd{0ѰZdM5$L7n5 ($hK@n "..2}8!edzV:],r9E|tFƊ+zU&CpĐT!,ˠMӻ~c( W몾v[z68Zbta6{-x{{;:ZL0p!~.䌆A&WV_vLt䶳PJNY֩~V"~Զ&^u?yLl7z`[6a\F`$bYxLW. uWwAxz fZǗ9q~綜Kעؾ\͏ku=}~j熩19\ۣ8Tf'Zm@4gpnv4LeJJiKp辣'N(a՚/ R8|LpO<ǃ# z\\Wڝ~=UʬX*)­f?ڍSgʑ:M76]YԮ@]4V\A39>l@06Ǎ KhЁ_mhHCjRevgmp`Tl7۲zOdNN-o\C CB:Z$3!+8ԒsȰN14٘e: [xEk=*^kI D}8wﶌ:wA7܇c6_\իB~6* p@qqZs@liM<}sJt7@sT\o֛WךjNwC%m[l '=bgJ_hW/mo8iPz##{bz|x1ovD0˻.6U~}.ONNְa;9Ru QVy1aHJ Ғ+`(<+qLf3=W~pm:WB֎6=tmmhmqШ=0$6 1 ;5ozx6,:>H)'=y٢93^Jq=~g}=Aŭ0ttwdw"e&+% yH V]8[]z{hXΟ^H)mS?CQ#ޚcD"@@aM kԄD(~r]g_m+*9]5-;-i`߉v"D0$sr8^VK~3_ ^Lgy G %Բstycg*/ԕƀYE{qB2ip#>8JP5 T#Jg}Ϝs)%E!@' !sBmB/.HRʯ,6+)q/R_ W WL@q@ow  < S` EKnD; \T`0<@M \u>: ]s!D :讓UJXlI)*hLZX_WLB h Yh)1m B+@!m9@'tw6YBp *`PpL8>M#LB3 LH.(A!ʀcll@:0E&ߌ'4ל4[|!жtD/6RlU%@Jm ,8{,߷@iMd٨gnj8yB\g2{pVT'ӯu.5ǿd*# ?HKr[P!kIA$翙_>XONݎ py 2&VBhK_V O,9/kpꞏPP@B  PUYf=\WC\)H:MmVPUV]{t /lu, O {0G+~>gM/vH@ԉԣ3*S&3($nDX~+N_Gf@FɰyL&x7)u@"i507cF]%O%Շ \sH:}WX|wRWq>Ĵ8x Ŕj!D7Qۤ2ej9yyyiĺn}=2qhg1,fyf9-ouUsZ̔з( T@fz$CI>yɪ}zt7~Ι3G {VN[]9{%E}u2!)E2 [n2Z29رg?B1(0p2ʮ-3nmd@z>\˖3NF҂5>=z7~ @ѷt~?9]fuH)mFFGP\wDvUG( v&?tc)m&g7Fb0M׫W>5GO1"Mp!F iO %hߍ&&;EˌnužrtYN6Zv2Ѭj6lݖtw/mAjεY-.n9]"/3n4J ,gh&WgǞfFB,fH$-ofFҥ#(IpfeDӵNd%s&0r ǎSܿ *LXH(r;T+MpyGEÜTh*vy)//gz ܜ\9p,Y­?ɓ'Q 4"񙮣 /NH)OӠ2UdJL!vvVZv4|'_|]p @hi ;PUUx|̛7Eіͧ䭷J! ҼA5UG0獍k7m{.5uRn^ !^Al|yC}R8JyI!ܿC6m=z`j3ZĉSG~Š5k6.LpЉj!Ą#6{I?@Fn"aHXKKygb>}R&'[`']7~ ,[l.r 6ӧ3U7Rk%&yn 45}Ѽ߷DII .dҥ7mr&+ݿ.l'|UV`dQk]6xh'xԹmV ;31CX{p\{U{V[rW\Z2cOxUU,#9<8f}L|˔`K;ҦKdT+PԻ=+Ӿ%E(zur=Wugd9,<{1H"tڠUاw|dډٳ'`%FS[m6}֭3%1h׫ݞO䱓g*1 < łEhz_kzz}s"@J@/DYGJ,?`je֤qp$|ZZ@~IDF##ȆD$RՈ3*`2N/_wNT9^!oqE A`%A2+8 CN6RAVW2@)N;=$2@&D8D5@1f̨;h aRMG>H=p]>pJ(!aD$0f`"'/z IڢBw%\a !d0A i5#VGKfT9^%lw)sڭD4 (>Fq:Q.-(ר91ʜϧџ溊?oپ i[/2v<ꜮX4’+طQ# |zǃpuN-8O=A&R|5/P*^M> BaD(~zS6`l idw{?.H)AQcGrutRb "!hя׈ܥ6+j,&#bB̈ `gkަM鬼aUx͕3 ַ B!zD8Y`1#a%DK1$6PϾS '2h #DX+`Pf5s"Z=ĢH?YW@Տ;.r)fO321$"85Rnn씸x>$R;@ >i1AA*JDO1E5V}e]NpY~( Tj4MH5+5/aGZhD*"'IH RՀ+i4 zfrPrP338i6zxӍvVTv, nص{#7N(-fՂłPÎYbnKlz>;ly8(%`1VÎ"Uf|F͊jZ-V @x\p|>_ŏ^ڻ_ZM4FW>f8aGڭĺd Ru.@jD M[cĢ ȱX 0ٌjm&~Dž+b:+6Y1L4 JLݎt jWso~ƦԺ<809YtɦǍaewAf:@(HPd $EAcv뇻m9l;/=r߭mZTU z+e:PrlfO!{e>?-T1Luh zSq>5&Ir Oj?Z=|9vraniDv z!`_K>封y\== kt/Xbk7? l<_/B+G<{];>h4JD$e}lGۋSO0"7;.cONxZ~?U.[>VB6k(.=4K"7lղ4}gq8\-AMH g~f?D€!c AҴTnL,@ORre AЎ 3(uOloY:GE4@37̋ ҧ<);0Y-,_Bϛ;7v!D0>tg)t cD݊Ao 8ȹ2u/Tw$$$=+@ @)^}!OI7uhϏUlYKyFp:cU%-#q4Dy,`<)duCy/>-&op!.w*U6$_!r* - ԋB%90"?VZ@/m0`P\K +>_?[j}_PYUUof?w )mǤ^tτQܗ.bC5+ѷt[X/=@QwCL[rR[+RͽkF _3:4NyX-Z fc-dʸQ UjϚecˈOCL*TTTAЭkgmu |v{£ۙ<9!l#'#DWIL# ^e!^{#V)e )噰֡ 2ѵ<#yl4Zp.7g 9mƎH|F&|j>c@GwfPU%ѽ{ϦyS{:y=MپcB[!U!z*t8CPӦ;e<EQP 6!!16go-co;ɠdؿ`PQʔGܢ9xcGxb3 E 橓=;8($8\S!U+ôZ-,{7Rk3jMۙ=u}!0m߿?;YstCN)Rhp‰S;.+,ys>VAtMEwO/0|[y*Bqi Тih| UkX=C:|2SJsRʊ6JͣEPj];PUÉkR%>>^VuPrRso (FnE^~HL;HQJ]JEŏ.zݏTVVbTX*BXHozX]kV]%=%e%¼>t/jځjҷ?ڻ3zF,2Ԓʨ6=zs>WGON|j'o[} 9/v@Bv PH Cǰ5q R}L>ddT=xA"Be`{־l`@(#\W08vuú/Byn7UU|&l~ NV!_:^o;qjɶ_^:dRJ{aѥշ4X̾<6q3)<@xx:IEr*5֭/֫ m]M0T^^q]K)\@Oy.o1{@{kQ2Hx.$XQe>>v,fIj~|5uamBY6sA" 7Q#\+g)8?E%]]+-+,pٹ$[zQwCjZ2LH nC 3a0PYU|L&#|F=*]K])dggzRˤU+̬ "o.CWxyft9.Φ)My}goyUZ݌;#LJ(᫪cCu Rk̓c#[#[wtOXTӡ&jRJ_gNLh j.7˜AI>¹csond@_שnGu[T>~&P\\L~\䙌ˮt/;o%eĻct`(:0~|5QU>X9yysOJbmm{U޼=6-95+ckO)uN3wQ=qC+8s)˖=lp}SoρIJHr.{kZ] ;/ׅs%ڡW.qMumj0 @//1VZ.#f AuUJ9yr @rZz;VA XVK FEၙH+%.]T8E֥_vӾѣe$UzG<]KLz.ݠ.p(>񩯷4im.n_U%$*gssɽ@qY)rl2JJKjubVJK1Z,X-f3k%_p[ng/۲r s/5֟xQQ~ ,_OqAHAtjsVaOk3iEsuZjs:W^޵W'Lrss%,/z>߱/n_b$5^CV#ЪTVT+{£A'ڶfoazN{pݎ}|IbI(*uqRZDϘELj0NgdVowM~DZZlM#V[t|pLtC NR)L)h}<+iF \BKܖaw l5[BbO{;#jTa Ѥ-:6vHv͛꟨8zdÿ'<{j'965Vxt"5S-:6 X,fff_S*fXRVZPTTZ(?%Թ(]?5dIENDB`flatnuke-2.7.2/forum/images/avtr02.png0000644000175000017500000001024310266541327017130 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<5IDATxyxTUfB,, ;}o &2< Њ؃=nOЖVeƵ{ąlZ"Ђ4Ⱦ A`ZuQUEsu!iD!&=5`~[ں H́x At(6J)sEA"@8PI)\=L`$rMTGb)zS*B$^h A^YnadӤu-X'$| HR^S)) gy5a2|*].z!9i@u ݻ͆@M  6(x"XɰZ2L|G(du~j%]zq|g$eFn4kt;޾a]=@n^P $Wj\vw< 'O$o/껍_@Snt^QCkŏ %Ij`ZG ѹM'%=BQu.332/kee|{_*`E83JԾ Kߙ?#;無<3c ff_X\:E- n&GP""™2!M' 0PwzV-X PId XWZEc 6, zv?<RJ=6!}aiZ]l1EERGl2{{sO8!!X?B׻N~JkߘKBl#yCFA۔亨 ~j * $̟Iv䞺eS嗿`ƍ* ~)V!Kвs/Rvn@vtZ|:Mif7,z -JmU:wwO9v4)8xg:ڴh~>&f|l tYLHŋ={6U y`N!ekCC3glݺ-Zdӡc'n8 ԩhPP m^s;4=?KKZU>nkݡb /]TGuuN11\%KPZZ;vL%@Nn4غI5_CJYUU]u_ wzTPHf>Ӊ 2ޟ Tbl1\.,0ď=ų)moe4Hܧ>FjX {x!`/hժӧOgÆ DGG3{lCnGQ\[hÏ2uTmF|||"ER^^ QHQWUro_VVuTTTvJ|kYt}Ds7l& |x]8u-{a^4MsOc& s/vh&mʵ(4n)ϲXAs}?pJ4>F\MCK]/Ȉpӡoμb͸{B?=Hz-:Mڅgӛkq ¥\/j VXłBJ]GJba찁<4~sE {vΉ;$ bPn=7ۥ4:㌛Z\0<[_B~!I-ŢTץG޺w]7VpKZ﮳4;9t~zuˠ뉔S-]_%..We h ٽSߴOI6%ȴmQ/CБ[ɳ~;K>z. ڶF cDGDŽZC!֐HQYVVuzEyqiiyqaIiӿ/6kջn?b܂[IENDB`flatnuke-2.7.2/forum/images/avtr27.png0000644000175000017500000001072610266541327017145 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<hIDATx[ixTE~tgO B }O&@DY 23:^wxFd""W@ePV!’B +Y !@N Iw,}Nwg!DsNS~K 1 x7Fax<'@KwH==Nq fo 0L2+F@v6?L{"!i`p}$g |yu-g]Bt qkɵi BTT/^L_0,Fj,C'`[Xt!>1666PM〉i_X{-0A* pTj5QZyÒГX$^+ hq^z|.V1ӟЩ7ifuN|;BRgcKqLWx2EvW {{HK>E0-5 aZJ)|2pr ,h;4q:VZZ* zD# >a 05,`)3n ZK GIfo ?|#مoI`cu mқp*".a<1X/miԤqH n$A d}$5)lˇVtI[c,5_1.2TҺd =7W!--gƍj^CEElamm-V%%iА`@|x FJmE%0I# Y4iiCV|$'^薀 Q r 77zxa-H(NˀFʼnO/ 66 88-~P>KKJ~Ƿ:>cGyya&' 7vwݓy_Sa{s.HL)Hyw-1܌P̓(,`SvcG[P0Xs*D'`Ŷo#$T*5bUJ# u?$_BFEY$@cY4݀i+M]Cv% -xyx)i'(,4q?~8MRs0L-y1ix $ާ&a`ed ;AVN+{]\< q((D>6c& R&V0#5?hgF|Zi߅H)Q!$2g1{Γؾ};222C.p>}܄d"Jtu)sNܠAC(+8VTV!v]f%Çx`ê7 T())+pi|X∣(77/_a(P^3c eUU~iJOp峹ܮGxL·|Rw7P;b۶mhiiJ5~TjIHvI0i?psG;;( (*VmFc܃Z];nXx2LT˝Fxy`ƌ(X߯P(?5 LM/OA_'gfj ^C=L)XCmCrr2,XL<+W8~Dn`B ?q&sCnyyMSdfS؍ : fnVEG= Ք}n֧iо_~z}ƘZ2|:_nOt:l޸2 IMPI W}zG{{;cM2t$s^m⊍C}o'466bO҅pc R0J?鉿ÖMAim^zf0Ť, ]{G3z(fj4#?8eױԴtizZp9,Tj5 CHo/x _nS0|8=ގ.eL5RTNY]Vk"ިӔjo G"hhܮ)+,BT!`M—H ^|ttvc'c @*NIホ%9[ZEcLR^=@$fg!s+=|(5Uݏ:0*|Z 2`RaƔ0$R)naI.u̞qLiUu1v0p6%A!^ B+9p/G jer0aUʛ{,aW+wDvd@eAe y?f}+SRU]k7Ο:TI :&` m$Ps9y3xʤ5AY]ꚼJV(-h^DOgLǪ֣QowcȿZ( n$ͭ_l3i++z:􏗟=935q?eشc` 8AiYL TX&cZxR?47z&Pؤq?NONxѯ!7GMk]D7Y 4+vHg+@ujs4.ް}p_#n*}P!&7udn {1 8t2͛'J3 =LyobPGzjPt87 Ͻ%'Ć}1#l Ffxj, , F6p%e wWgiuhj eK@A84a͆/ef?s{IꑤxeqX)V931aAR6Ii`g+ ISWV9_Bl4nW8sJ$҂)gBPs|)(RY=#gp^Dlsjo\,.9!MvyX!dNGGg e(!㌩j ' X{ r}r`&Gʽ?YTZYykRxlʸ^; |͋[c*$f,Aс~SgrX f 1a!]:wV GUw&y" f']lN]k-NJzwrB̼?|de.Q~a~1k"x5v?{tEQUU$@,C: X7).2qZh %xr@ENAhօ+WJ>9{?ҋ q z.'9odĴQ.0_9w-BՒUjj %!!2pӃ=\\l\lCV֮kji55ki,q}o]]SɌzMt*IENDB`flatnuke-2.7.2/forum/images/avtr04.png0000644000175000017500000001103510266541327017132 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATx[y\G~AA9FTQo j0#x%\&1qרf/&fI&#AE/.DTf8f ?}ꭆPJGṆQ? x<'ZG$Q ߻AB7';;/WyfFv{>aA/x{tursusoVenwVT4ݪonmkw}·)C!_?!Aoz{G  s01:*kԓU^..&b:.rĺsO0MDs˞+73чD Y2dCl%B9DR J M;JO;{%wE]]ku_B9|A7&DZ9Bሡ,k/̝_rs+؞ BHHǂlybP@B|W& D`+&D,S}<_{aV|FwM1̘g# ˆ;oi+D%Jo޺Q\U3?Ny!x fO_yU p5GF{g':zEllPhjX0c8r蔀R )G3AL@8WA j+!EAq)ݘ¸Q#@Y *ȑ55UJeB"Gkފ*U2M~xOҳ=NFŔ prr؈?gL%rϓw@nm ajj**[TX) /7BCi|~;ڃ,@3!V:)l~A,kS9 xt O3gAWo!2*eOCnA1jddB]ĝG٢\\]# 037u07ӽtluD#Ԇj,~^W)))xꩧ|rTW7Pvt#73(c$$$`Ŋhll4x>k^"J+r)X[3V{QTtmȐ@9N_RΝ2SAwE]]~Ϟ=wS~>~+W`P(8ue;Âc׶,A kV<]ߘ_TwًuSSWkx$yPVVf+d( }aaALD@XF1EU]=ً?+Umں8;A3;u p4nڴippГ7`r;,ƌF}C(?>>溁]9GQ$-aVLRŋ#88cƌ| zV0X:Tb:t(f@!|R=`Yn!3Yo&B6__9ʭ^nE-|h; rJ\C?BQZZ~zD%0'sS9nת?_d/ V%%UE{;uNbthOJpkR\,N<PZR=zN/S* .)w(UDj4}|&]%Jm܄'Dc{TG[[RFlTD.ooKզkƻ]6 f7{_}&9X[Wu,!޺,ut[VcIxP.; P}Ru Jo כ&W\_age@fbJY. J95 w6cI8p m<{X0e0+DhWZ(ͽ"@uEaZ`_o{`P g7,`X.]D:ϠO"`)&2 + PV|?伫hiRˉ Eܸ{[@]0oQ3?2'e0D=_Ø\khpߘ`QyeZڳQT,r8V1Z-AQ埏gg [VP+'iTИ`E(VjjkmqWRJ gj=%v}`zA'I=-hii5$eqBN<de U9-PT^q7=nyA%>/ Wt5N/cGx"6z6]C<_xʢD q]E(44K7 ?ͬPP^w؀ ]\#9I6(wCbR7G 0sNFC'ݺUg<j-%lZ衂^zkG "0BOje%YCB$È>t~ 39yo}}w;>I0Ҋrg}Gp5 `5j+oH.z;o75W EmHC|>OaXP( EG3piB{' lm`ce O#~+$$EgGVkkڙK)&4^ r3 >@ܕ/݃ hғ&~ΈV\&pI@USQJ=T`9֖]bf([>#'hUu[gW鱐زq58; jԣp0oW9 I44i*ns cZ/N }?syJi;!df{{^|fAe)g=yo*ZTo.^Ly;|¢sb<&(Xօ4ry G&{kn o~>>A4zdpˆ/3=AZ'^xoq {+KX`CR k* 2 (jSY9U1!:']jܑr𡌳K)-*{}-NF9ixO76$!j(-pOYY *Dayʪ/w}H\\]"|66"4f(w+K#<8cj]\( Zcx̍ W TGd_xp_x*&.|x!>}Le*7#h FFQZZ"bPT^ٚs*zYyrU՝>q9Q"X1NѴ+w[TM Ypڦn}" 9ոIENDB`flatnuke-2.7.2/forum/images/avtr08.png0000644000175000017500000001150610266541327017141 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATx[w|ޙ%ِN$JB @HUԇ""VX(JCYZPH–dwٚ )|&w{s= Z#t ޒ7I/0i-@m#d5u rmxIO;ս^ MjC?kȓZ !6Z}wN/7)x{RxZ C8Vj1dn0 q2[yYɾ|C:BR8Xpv5m@r}6:.@o~P;,' [k7 ȴgBK)!G~H]0ԍ"I$ _@nL"h;(~]XYTK!IJR)z׫I:~!DU>kq~mHJ]KL J4] Z,YZ)i^0LjY `}MeXҴ$rO41 +ӨRn9Fu'`5VE,Di^'0znָ6W&Nv _^6@QB*\k@)D5^+u}ÌZ.nS&cc蚶|\;jo<en#\ʝ$?!dڮP)\T'Ry1c`bS(*8Ɗ#۠h/[PTR3REOVW TMG^X[+kS)2FܫIݓxelsП ]R[yo %a)YRNmI6f;+%:GXpa%＀_ F 0<^k҂GBjj=D] x+Je ;k['qU2. ='CW2⬗ETfnnA=kg{$a(4/L{AH;wnv\׮]όB &=7 X$hѳ}"Ri@<#@(3ĠRѽ{c{ޝK꧷mva$kc+>~BÕ=/.>}xV#.Gj9{0yr>z>Rx8v†.VG@f`39uXy*$A z?`K)8w@)-wo&E X@<{(%#6dZ D)RnŊ5бEDGU ?a.7`1Tuu 9]yZ^#avwv;P֧R{YBbYʄ8RxK k9 -V{~h`., +Cٸ}o_,ni9ǮNŶR*^BpDP<;s0T CDrti:"< ߭;) D6zY<&N!u@pL6F#J/Zͥ*\@拉"MCu8P lUQxeb_nbV'@ 8'a1<uf|vܹs߬]Dp0[刍l" !Zc:)Őqhv?*#ԣҳRܖ16FG)B 2Nmkoѯ?ѣs/<@)8~-X~+Ӈ4R^|i"$(OƆl!G-=Ñ?x 1XmezVj˟n@8DIԩ N"=u: .c侐bNOm(@F xJ rJn>1όȍ*Jِs35w8r4A<b0W?H%<v7K|[h޷FDH`=OxP33'nRպً֜<oԍ=ᶫC)cqMSjǞe= ?ÍOޞs3ۑVF!5qeb\ Gxf *^383¶-)+Pw_,,f\{QU rn 87cDSF() aa+)~ ,Ͻ /^eUU^yA!QwGHxhn3bn3>fnV <غ]5Ͽy]xp5K{v~^²J?"e\҇V0 CѸQ =Tu[v>uZUYF4qH]'^zs_@ݪ}tfwf?3}T{g;SNMO˙uFZRhyX18qQ䲲v_\~VMkE'MK`'|2{Y`ethx <#''QJkQeOj7[O5o&HX߁8Z&sOoHߟ9Zr|!уRZWe)e2ҿO}nz/!fWc8 M` T2@)فv&7@DZ?߀\*˿;Ǿc ׮@|1ҭ]70S33{> X\osK ~U=<;1 6 o=UPpq䯓Of:j6ebۓG H㫟vLԺ4p122n7mc˞C)t7Cktj{Gǯ2  E h+]l >:Wo/a s/d։xMS<5%czj np289ݹm %rd*Ea\s4 \4o;p:NœjL׺yMDvMh"[?wD Oq>o{쫹']&7^x9URBzxZT* B&2b.*-5\q}EUnfԉl?d)6?IENDB`flatnuke-2.7.2/forum/images/avtr29.png0000644000175000017500000001072210266541327017143 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<dIDATxwxTs PAHƀiWӄ6Mp8k?|N|n8|_nL@4QDHjNwwVq j̙3Rߜ-NgB@*p5@+z@)RS><`_Z@63 ?LCFp SעA4xC&+ 8PVѦN-<(7 8|4R8 !&gh=7:s {#ȹZovו|'a `.*`"Fl*;i-%@ &!D8P' Ls4um$CѾ-0 ni4va7ՒP$^h g88Kz>@!hsѤ( fxN?sFk/ij1K!5(E~yv*yn9fHz$lR}[ j( ej1#`cy)$%#!.20ML#qy˞lNMEf3NL .zc W_DSނd//Po l1:|PN7VM{u`6Y-&L3krR^t|ztMX(œBuQcnꜨYnn]XnC,OV=m#Ù;s*5Na=SY-(J}4j`2)̛q +jERZ-F-Gw,*:{1jӫِ*e#88]nZK1!W1fŧ1{_аxMI0ݤvsG CT5ﭓ U@~y6EJk, kťz]./t@+ֱ>=մj)%.V63&b"}cR7nCʪ+/c!F L-:4n$22q9٬}lcc^z9)1cbh_v죴J&ӶU_ ]G5%OWbi]`yyl^ۇХSRkk .f?|$i Mw0{ǃ b 98O#:'[<@dd$=K( bBa{=tڍǞ'saQ ֠0TL))~c, Bt39cVKCF› KM578;Ofw\x (w]HHhp3Fp$ohdb&wIZ~z۳{ؠu4_؅]Py:sN3ƴ]E!Xmvۉ&P܎re}NRJ~3.>.nC-dND7|ՖLq/~!ӦMgQAAAT9@((mmIA#F/;k,:_YWbyӫ[ZRZrl9VP0O# d.U 7ܱwEωEKSRZ{rG&IZe*\B|RUUW.qIOǏ'!&2b)[;rJKR.WV|_=! 8Fۈp;5uYWWW[gִ<TFO٬>jjjX3 hsfp e7@ 6ſ9A6fq <,=Xbyvy's T]ofFC_N%[fOe1bwش>B_^:4oϐ8uA)=-DΉBvfpS7R!++;wă3b2 eDoxjhZ_Kj+.2%u8mZ{Bjx_%G~s: 4F@x}S [VtpnNJd~aOzoo6Q~racpZ#?pU^{ӹ%ʻ{s?}`VSAi1?Xb $O }ĕc=ORtWP! O$`}z'~71` m?_zTy݅'|[8{̣ǪXfM#HO0g >~}UL^<)啫&ݞq0SИ|ʌY}*++ʞ}Hߕaf4{LSQUSM5I@~l4w YwO?,rֱz&>ʰL!km=e' ܠ4ڶm|;yaGE_]S-v:r@9A&3TMc-c ӛ"K;G za*kfShZWT2m_lȰw-Z7:FZW[W{)l"VlH9]u"sxFb69StPx7M&&wk͢?s88%vomdq1 \1EtЧ'S'?%@M_?+l햳4K Naaa1fܱuYh- c{ү7'Sķ]l A6+9rؓ?Z_|Mui9TUΗ:zOϞ 598q8ŗ# Ba"[wKt2uMMKp8xl֬ݶkRC'@EẇNl^պL KƨU\VmsOӽ1JQUa!EGw_͑a*H)Y̵vn /o.J J֛.g~ } RURU/JJڰ%DGA*9Nоy'}w#Tꍧ7ed>*R@M޾wȢť^nBb[fOs58 <6fHS?ozGjfS|z#F1IJv'G]ź-:KwjR~=Ti5<%i;8s-\J#_)}[\UBЫk2qQ\(".^JՐxwv9PY'Rʆ/ B}_J'tHf> X\|Y%wE~a/8]xg忐SX5$bc[ϟG J>aDv^GrNsp֭BǤ#;NJ}ٹw=pw<5@c! }-I%u3q̰NQq:]_(bm‰Kj79{^ٶ7H^AQ摓KyDДn?n5"UdHHpDH-"fmtjTWTT_\qةV7̸&}ӿJa\IENDB`flatnuke-2.7.2/forum/images/avtr16.png0000644000175000017500000001107010266541327017134 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATxy|TEǿ:{!$a'@BEPn9#oG?:37ʀ# .,F!DdON'tw֭u:um!2i~j~j~j~jB!e=!$FRNv|~Nsk; 8=yQ! GlfV^M ;eoO%{|Dr!iP*Ag=p߆0B~~4³nm{Np%UC=°7Z7nɥox/PEtS_Q`.jhU߇o;]3B!4#+&)Ћj뀥[zu*NwYc >_;5Ÿpb9f=W @?/f!_k=IKpr^8|^.@Me񜛹{haEiF)mG {v*)hd_"ô<4 UO^Mn(~w J3w8f';Ozʼn xt` !Ξ''5"{ܑOټ)ۦK,{8 ߟ='L5}1[zMddű`H̝H.<~`!]OݟB{9#HO^GVF:WŠjfMLLfDT_u;o:zvP9yCh>X f#=;P @L(5~=ǐIFC``fz6 _U=$$Cv$/$ZsoWz&. xp*BDuVTwwUZ3i׷J7_G_`ς0s كRxd3wzdn7m)L:!VMhq Bؒ1~6oM@Izs"sn!':ԬaAf> Uk,lLWȡ'8#I/ޞ0 _MA00)I4www/득SZ{'gיnK0-g3:$D$?sY ޒ+|ï=켘ͤۧS\XhZz-a=cs2j_#mDJYی;AAz۵Fk;<{OGƒ'&t1;#p&j.j &B#l&,ȏǏ" i $VC3zpMޥ8k^Oz`pX/܍OpZ Ѵ8amlر˭ &N&::ڥM}}=k>]Ifb n,i WIĉٰ &Qq[7~@,}q ar/ Ϭa$+<(,]]໚ ֞L'8"EѺ-d'oh~L|a=a ZުZ<Ԯ#ו~@Nsa !UetھY2>1p8- 9^^X223҈ٱ{iY>(n>l5G*N?+QŔT,xqzDC\8y2,⋁@c+!NS[ +N3m'Nǰ18 DuluqP_#f`jcO9Wfԩ̞= .WIfkU^^1 lݺf,YRgN!@d))P!D}kN >}0[C<˗/wpi::\S 4i7`08?? BP_Cd93HpC RJh59QTSGrjGɓ'93=^S[WR>i$Z编ڙswDɈ֧#ޮL7BT6ڠ@Zk yYv-:y<7h4!4(fMߒ~oNBBO>=˭X,(] ͗|IfiN ME;GqiuΝܹs>bgqM!ՋSNg)4@z+@^ T;0zk [2]iFenS¶͛ɓ]Q4^80@C{(Իi.7tHExފu(Y̊;L&kV~HIQTwd$tDK;hniF5 纁X.ձlk<jR"(fuXblf ytSᡴmnr:Z}5`'1.ѱNty-$-ǎ1k"C BD"uE}h=&IiĚU hʀM]PwiFvT7qgB0#Y(HI޽ݛ>ZwhNgS@*4 (8v 4jfvn2" Qń#(68)w^8S˪{jҢҲEU)q;!6ʖη3N\⬔e*k\n@u@THi^%Ra7ii l+ۭz^8ߙEU#N^rLbQb&1m=h܋팺igRS[b` 8|!^tin"8vfH}gx|#$H)-`FG0\/xtn-/4` Yh#&S3RF#AV'ݷ8s Ub-VPo m0UM%*+Qy:$S5OhPyF#9Vۧ9})e5k}̰_ۼ.UI:ΡZwKzyneաsw5l&WңDÙ3*nxzW %N& kXq`\ 6+pLަATڷEUabg_0H7Ě?TmSS^>%d|}2n̶ETiա֎rXGYҢE|FwL:CS[| Q EY%H FJv͚LFΩ_^Tܴ._|WƫK0B%W=U\k~J)J.~d%{ӎ|NkE. xN]K.\Vճx}֠^_{;!>M Ru MO\&+6wg#x4jhtM^HEAqA*]/윖cHW2t #4Zw۞=O[lB8iSv+Iu^ b.cK)=}/|{a-!`jX@W0`Jp Qo.[?}o1*t52x413/Z"e[w< SF!D@!O)οǧa߷6w~Y' ,$N;.Qj_{O?zήx:&>7L_?yMUj!"ԟǨRlj$(Rac>yxzw# {fZI܉3"5\Њ·GlٽSU>fU%f>_ !BYl.L$gXB1NT߁:tuGwC k)Z \/bED:~͗^<h,siV D%3QLM{8{+4nmmnFB(Xr "4{L(5-ifBd()ߍkK3Uw‘g( E=(^BfBIԜ\KG[n,]K-.4D}MYF)UM]!D7&B܃Ÿ?ݪEotJL80aDʵkɢLdaF,_"̙2\6.җILBU @V3eU*@ˉމ92F".UBS[@J, scՀu9xL^rt@,\=E'"1}'@~X+txlıD\d9ϑ9Nn [P(ʁ6.LaD /DQgG yYBr)^[yAxpz"9l ILY6Upt6b[^ɲBE9vzl@YV@BE 7 anW2ruֲ[Yj yf7b+Yiؑ f w!&)kYBbK>קv",( [3w"GG`x:fÒ>-\GR-F6t?<9bul^,NX(9<#37 Ce)f; G  Z3CgΨ n(tZ-N"_$ A3J!T= "urtas%IX{^±NtkXt|mbIhTj& &dn67=DC(]@E!8RU>%2bǾEQ^6@ `=fcJ ̭--iS:sҰeAY&&&po\{:tG&O.8LNYe Vx//_Do|BxǟZ⊋ M  #!"|Vq9a, _˝}8w) b1"da{X<&f3슡1h†cUH_Rt[ 0x#1wLxY4223;Z;ü7'z7Y-i&lڴj_ae 62 _{5PDWU'l*Ta|4ٳHU  (ھBz|^eKQyWw+dj$5x 40ajr7WfےS*pxl(eA)XEKr/ՆJ#?? @FfY V]Or~R P aؿ) `w3? (, ʲBQB|v,;iZކoRf@ ;&sTH G7;0?r - Wq,<\ҳB$R!󂱡'`$(,Z }tRp`ЌeŐ9:=EN b:-ߣ_g}"LbsT0FEVO?0׀`X7%6鉟?jDQE ..TʲBhWɶ'&W BS/4bQ^5<'WwbeU"AеX`)'0exoZ (d^8N)DRܵvpَH&`\\0  c,ϫc}sZkAHBLNo_xJhϩS#psu(b|ڣ:u+Onj6@&bHm8޼dd? Z w|MN[1a.ԡ7{xy65;-v;5>%R w[Ano%EMq+72jVonCNxvC}cr2RthiftA=7K=4]uZdX#Hf ,__6u+<LXqx%qJ>݃ -( /;)z'o1 & ^X曷D۸:=pT[f crR *+{xi CL|s4IZ7sFb`7Vyt :u'M]|-Ot)| .'bCC^0>xzv=r*8?$KFւ˘@0N  V ֆAԤy3҃pdmm*Ovt1aCyZ{k .7:I͜!ߩ >?xkG._iM̴c.Š!B-ewG~?4pFGGN˯OV @2YYS+8@XLh4.]}^Էo޺~;3eX Z50uOW%hBÿ%Dn2ZI@|Ț4Uj+\cWћ=M);]yfؑG_x}ۗC:r X,J% =cgjL;kG7_kj'Țn}C/w4Ō?!¬?' zajs;~Xi/?=8x {yR0R.60N!{xkg 1 +mVfqF~ RO_~U1#2t2qgp^.0G*[|˿Չ*|58=,-~g֭Jtø]T^nvv BB'a K]D']UqS5PJmd!D(ե9=Rz_X,F\l|0BJqOxu뵮j0 `Lr̸^[R=]j? ŅfѪګSs#2aB<2b \R/!  Ͳ8witm]cKǭήn:L|_B\Sb"^&\d.N^.NRNV(4*rh`dt޾?+]ܣKIENDB`flatnuke-2.7.2/forum/images/avtr05.png0000644000175000017500000001143610266541327017140 0ustar simonesimonePNG  IHDR@@iqsBIT|dtEXtSoftwarewww.inkscape.org<IDATx[iX~eAd67 jѸ$&꽉1}ro?fQCDDEAPff=K*x:uT 9159(bҤ࿢oS4|Bո|}1$6}jZZ`Ƃq= Ç{BDRSnsvsp M pΜA.=225eJh?b=sfW{F=ӃN*}t^o?w"==xixϘEs^{-a?ƌG5 B YӃVzy9;{8 ;7UȪCTzhX, IJJ=~΋/6O-MMeâ}4ePR!d6=: -h;jKO='y{ݺyҖkbc=S §=Nhgg溝fώZ'VnohTM҂ RM?I{;zxrF&km vq%?^i+Ŀ1H y*FEIҤ2#L,KVzZC!bBLQQ=Q'n$]=q۶JVuZq OBURBP<waAY~-~`mj1(Ʀo< BFJiB89*TR' OCVi-*[Q{B[ DnUӶn?ˬÆ%N>Qpvn$JLH hm'p_ Pc`@8pz1j_D? ]?(|`.i SAF{ @c̐,X5^ 0 FꯪJ^xJS]ge,@HD/@V2+W`) ms\D<hVPޒJi~EF"Mwn*m RZ@hJ\@i!1(뇛7Tq tU"=wkkTPՆ_tq f 2̛qZ!Bʐ𶝈y)Tj,!=>>`vd_k}ʥ K@{oi' A᫻ipZcaT !\y=DG[W.5*8 0(,~.2C8iQS?JAr,nnnEL,5@-ɇ%n}K2Ӷ>upL;m?*pt P(ԏaU{;C&WFF)cSamm @;kh?Om@@@A7!,⣹BՂQt9gN({Xy@Y{$O{U}eρ#ߍ9zcRcs U"'o/u1,>Ă0 @WTw>]|Wdy[6CEyQ=XDѫ1ayzB̍[©nH/֯^vot<0(VIݮ>)"g|ppki 54'D? Vb1 9BhÜy/bϞ=6m-ZwvʄH$Bk[;@06ضm233dw ؉QP|@1\qI{b1h_൲CWj-Ra;M2!B}{@,_P]];vtʄ]/|X\455aӦM֍[s18"T;R 11 Wꯔ8{kb^J{{&mu=5,lضmy@{{nf>= w\.痖vZOOGN/ vr$Fz%ZߎRږWUyU*%:y͈wOk㋌ H$';pquAhhD"ƱO7!@`eQ#CQU٪/wsdl 18ϷJ(hj2B^@dd$F+WvJZ 8Pٳg#<<FªU?T 0;z)<ȵ뷜:{=~y#GR jiihDu9<|m3-[e˖u}Ə!aA6"k֬V]=j4m .A_n9ryR#h޸QYݩwk8iE[iG &HcF=ǎv>߸wGEή(T*͛k>Z?ݮ5,)V~E49A]&L[;ںP(uȜhIKIƎT*{v<5@V.-N䮥lukӴWuur5";{g_^d J)aY Fڰ!jFl Z_ǂS֝OV BP^tcCCLƀ՗O = '{,?++PʂPTJ) 2'X02m  bJm͍x>sDFܝ EKc__ !čRjC'z6-g3ҼXVeu-N0 (!1>} 6:&9RX[ 0!5T^XV{7e u8wWw8ri@QOëxA 4ѣͿSw Ł7(]Ϛ$ 0iL*(Ky ":Ia.*~i{;PJiÇ\_Aoj~3aZCn?Oף_mЃYl#7+?D{RVXXrMcشcpF0aH/MRZkG  ҮNt =,x~Q>3)1~7hnn1eq\!N}1jd wJTv_@:CiY$#DfN{GNϼFݎ…%HI\c5~y8qjEyJGdgc#ـ0fal0\hxV_Ta;ޮHJ@|L$gSacFCOY JFWV~ɩ]L&2!%'abૣMI3gi#Æ~t: '8,Y˚5箖o@7ȜpqA#BtDa2Mǿ@.=]x\.dAF tKM4Ry)բ6hokûo>p7S 7ϮߪRrhߔ({CcZj P _fʹbo ȝѲOwow5jD<'Bk>㧍U+ Жɦ0oDin(wD)m)?=*k3>%^[Dư)%غcK#8pC`!`4:.h FVXsB @_ܹWuK ?k̹aR[.oJBҊ--hnQ@ò8: 7-z9|YEř^10RjbYr"c<\vgrz:f`\B%b;;[FhTmZ\P$vVvMMC>QlKKcIENDB`flatnuke-2.7.2/forum/icons/0000755000175000017500000000000011177641445015156 5ustar simonesimoneflatnuke-2.7.2/forum/icons/hide.png0000644000175000017500000000144010522421265016561 0ustar simonesimonePNG  IHDRabKGD pHYs  tIME-"IDATxڕKHTa;g(=$ljRڗ % E( Zhe.Zhː,ҞcƩqfw9F:9n@Hֶ쉂a\.x2 ENO^)  |6*=s^[c==Vv4-,(Wl%P*C(Q\`g.s*h+B $ƠPU>776AqTYbFP9WUpp}Uj`N)EPķG$2.@IDTVm! P@DFAȢ.ˀ4K٪)cрذlq@)$࢈ODU\"y9BA p]T2ϰ[jKBζpȫ*@ A"GT(քӱwZ=9ۻx]CMk!O+R*V cQ<5/η2B[U7GN9/ιo슬L_8i!d%ܝ~2^ zvټ#Oimw|ŷX<)={hn S)_[*^;9QVi}샾<.nm3mwFg?:Rl\k:? M[IENDB`flatnuke-2.7.2/forum/icons/move.png0000644000175000017500000000142710522421265016623 0ustar simonesimonePNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?%VMK,߾4wӟ?Ϸ |~2 @L PsrSfc'CO @܀x#%bTs!   0|p N iY \Zq?Y*6n?10~ P06zB @$ %`xj竗E *cK7/>gSdxx Íyԇ Y8+8xEE?xtח@'oå^0 `b tB,9IENDB`flatnuke-2.7.2/forum/icons/ontop.png0000755000175000017500000000147510522421265017022 0ustar simonesimonePNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?\IcQ32D 1sq|۫/~bX°>ba@& * Nj83s10r20022۝C xyBf< M7_b $Zi1r2p2(++13mNzzCpH 32030|< 60230J09h0wf@!,t3 O3`yX?202nеh. >=b<3C+_$.103001"4'}dI?=pk X^1W/0<8pvL@ ;lxA @6Ggqo`n@W1qa@>! N1afgX<0?}fA(?<&?#o x e03\xᳰ./(V|}E@DH?#hݾ2O ?}f'-A3 ,緿 7oas! 9}.T5@ =Tf,7o_fx×o~]𗉕Տ aY^^nIVUU 9pǏFa? `(Q.HIENDB`flatnuke-2.7.2/forum/icons/home.png0000644000175000017500000000131110254334320016572 0ustar simonesimonePNG  IHDRagAMA7IDATxOHTQ9oftxhcZ´MaI`.QF(*jD\D5AEAEd"mtt|#M?;-rj6s=/:O{{z|iGZ)SrE p&-v̞b,%3~%в֯eC\hqWQH$ vMp vU小'up$Aaz}~VzJíCICt-{b7 a՗d7dGecy=/&$P($sss,@@drW|Kl;Nx!08mcDq +@!谉$I,"e-1EM+FtXJA“Gڲt]GDQe9AWW$^\&/*#a&~?4AW~5/45IENDB`flatnuke-2.7.2/forum/icons/argument_icons/0000755000175000017500000000000011177641445020173 5ustar simonesimoneflatnuke-2.7.2/forum/icons/argument_icons/1rightarrow.png0000644000175000017500000000144710533367004023147 0ustar simonesimonePNG  IHDRĴl;gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?2PO9`߿~QbLxίD@%G\AD _Og`¿?@Ą._Imua, ;3Dl00wb  .c`ax? B 8/l8(~ |\I^l :a y >/1-(?00۲12 |^]&5bgO f/d,M8  ,a qq6;VjAY@X] hoJF_aQ`dgd*0 10(^~ŏM9SH0b܀f5#?*:1sk9Ă-b0(M3#86@,؂0yD߀r~C~ tĂ5$/ E.V@Ο /b mp9nB/:ߋQ8VsQ @XØgx; @X],߾3<93†@a c~vTo1ܚ6S  ``8g Wځ.hCA B;ϻw@ =@ @u g%`TEA& $20 B*IENDB`flatnuke-2.7.2/forum/icons/argument_icons/yellow.png0000644000175000017500000000271210533367005022206 0ustar simonesimonePNG  IHDRĴl;gAMA7bKGD pHYsHHFk>5IDAT8˕[lTE{mB[JaZjb 1^Hr R D 6 I )h|1"$A Ci[.&5-riBwe9g|>,0od>FDxպcno i)Z^ɜ:{tq`kZכF[H o{*hCH@iJXNUx0 &6w+'co(SqYlEIq~aA]yH)lq /_qQKXmn6Ҥ9YSNElOGr, +,z=Q_V;Ӟ-&!4G Wa?8`͆mR L\6{ 1#[r&fqPN]1 >%jg6?Dra3<._W} _F܃”,9OiQL?$1xܪ䥧w䃚)Ȣ5'>ۼuH5䃺b̼ 8#=>|:,i4GIVv~\•/`LUT4q[G9' f΀:Y5xn R6]˦* 9E X3=ۦrvd΂ӅUc ԭa*C22t `X4۫3` d0` z)qZߋ=eYibXJR s@}&5d O[wN?3ġN\~peO:A>ΫP1IENDB`flatnuke-2.7.2/forum/icons/argument_icons/blu.png0000644000175000017500000000250510533367004021454 0ustar simonesimonePNG  IHDRĴl;gAMA|Q cHRMz%u0`:o_FbKGD pHYs  IDAT8˥[lTEƿ9n[hiV-R VTڂ@Tx ILIC@b$JEmk(j (֖B ^g߇D {dow)tovkg7s^0᱆g/YYTY=D+oԄڏ2'*L,Y; ^S@uJ$,6n|^5O=ߟ B|e5k{.v71ӫj,]U?nn ghFK $Vיrk'V_Y9s%XYWUT~EQmkizy JFe[ }*p IW"ͱfÐ%2pXU]l5$ 3ܻ~ ,0֧0š)6.dD"Je'dqc eSQP`'{sˌYZS P5BOU5dD'|#AM [Jc8/k[U]0l$< .Zt0]o#n08, !& [(f%nejpD"D,a.tLF$)`c[>/wDlʉ3Q0DBdL]$`,rԗDZ1T |Ϸ 6&t:8$O0Mt -BqfjzYCoT@nW]ݩ"IHqt}h,k0?GƦB>:q'w XvVC0rCv,"8SDz,0wb u<ܑzk}nyʼn CnUÓ+&H."+ pCX MBM>*sLjҦ\bcG9 Ww/'&P:K9m~JY[' j4; 6?Xg6N&:xUIdۜ y?mծ\#p}4Nhr͖C.DMԞ186%1ŝN nSHs[8'jL'_/zh-G7FL/s^h;s`Ik|vkkϲ(L /?|rQ ޭ_GUtIENDB`flatnuke-2.7.2/forum/icons/argument_icons/color.png0000644000175000017500000000350310533367004022007 0ustar simonesimonePNG  IHDRw=gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?-@1b< +``db`,dɫ*&-[/^oo^n?{2E P-fS1̐4S+KԔ[ Y߮exq0G'سgs S`8B/W.1>Y2 \2 1000p00\~R7y l`Vn$*>Ͽs/34 GIXzMR *d+ }c` {6>cS ~o;@wejo V! quS&g,>>}G ^˶>9(okX>/~`O)I{o~f,qH2%o9!ba`KQ򊗾kO d8Ozܴ:Z?0b` ,!1 k320 h,!Nq]3]KWV)_ӀAu:߳?bc`fV` X9~b`a` u 6`X~z .` @,rʼ 2(81 }DU們0B0Ȓ| 6_N 0}\g`S ^2z<07`p<B_o@0rPA-+@`xaE9Č ׵ $>q)s񲂃? $3fX3xAN ^q _3D<óE3oo~{=TN'㟿 oz1<{3Ó =d0Zq a3|S 3eX @j#`x(+05'vOq-//2H2 ^``Z.Çfc8CϿ @ b_- r32q^fA{ j`ed T{X./BT#)2'39td`gca`?SGRPm~ 5",CIENDB`flatnuke-2.7.2/forum/icons/argument_icons/green.png0000644000175000017500000000277010533367005021777 0ustar simonesimonePNG  IHDRĴl;gAMA7bKGD pHYsHHFk>cIDAT8˕[LTWs @n##(*lވIxFh6M/iIMZc^bFK4JQ@ f̹0X/D޺JR5js\\yT5C.^sʡʀ+s.eo{u9_q-FO]_Ɛ=967Vxs (p}Ӛ[( `"N31%ib=)GV[{Ye48|#2K%GfXb4d&Iqc o^~vKz~WU=^[uoԇL3"Zq;rs$$g8eYSu?ПT\ŕzkQ" ¥`L1^ b[MF$ pCmA$$@$b*? e#bCoC{͙3=ݼ!3Ndf w (@fRnk`$LTMH;(r\s1>" 38L\MX,D* v#L݄4tE3_AI  &"P!1 2?x6{G@ RǠ|Q4(FAg紱'W  *V G@Ea󠰴APN=-PWiS>~ A4?20H]r<;/U| L ?X:gß;ݺ'?3|ûA0v`-a`tqh$e~0\7DſF`g``@33fD w 0p`T p`Nd@1Yy~7H'snoc? 0i(+2.h4@{?_d`ÿ @acdPBƃKE7Gn3`eE # Ŀ!j@A4 j(OIK ُ!pbZV@)   iY1!`F@9b`gS{@>p?G- F 8>xp 0~~ g#Hnc ɨQclaxЊzYexqAY  ߁IXJ(21L7 =8?UIENDB`flatnuke-2.7.2/forum/icons/argument_icons/orange.png0000644000175000017500000000244110533367005022145 0ustar simonesimonePNG  IHDRĴl;bKGDC pHYs  IDAT8˝[lTU9svZʔJAHĪbM4ވFDbL|DAӈEE!QI^ ^H֖R:393粗b'm/_ZY# q,ϭzbjaZlm5X֒9d ^>Loq/`Yrm˗-6L&}|gSv+> T"3i~@)Qw#b+X3U* "HPE"Q2^+ ,cq?]c}T̖.a0uKR(0(B1(j=ҙtkvz>vrw[7Py8Nr6 -ЭskӑZ `s_o'ūa &GZD3(w 2).]*BISJRLF%N]|ۖ~BS!dOǶ(tPTO){n(P6eW➥Yh[) +m"bJ((08nv%S5 )}om Xϩ-r]g(@PCS@Emy)bxyړϼ{ ai۸yks/],aM >  M#ݠ(Ji;07l1 0 |i/wO{(0?Y=阊?}KG@HWyV2 u?g,g^sۋwmX5=zcnC4eIENDB`flatnuke-2.7.2/forum/icons/argument_icons/book.png0000644000175000017500000000242410533367004021624 0ustar simonesimonePNG  IHDRĴl;gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?-@:qĪ &I0T@Hsb  & 0z?WsI;Y78V=tqk=;  64y@7ʰck_?-ƀw?^md7?33 r\,уf(訋0H Idqb_<JϾ/c`cfPS2؏0Š$) ;4/4/ -k "D\?s%|[E `-}M!@👁 " /=adxKKN((K8~!a篿2],\`-΀?@cP`v-4? ;'s> ĻqK{K90 0Ct^v~0) 2}HWLzcL=@ ߂10sq0F C` 3\YNƽw ʲ `p2_x$J? ; wC]HZA՛ \, a *Ą.x9Ex"/0;_(L *k@*А N_{C/bܥ ą &:b`(0t b,<** wgky5sC?çoP} {W.~ǯm.\aÑD=p&fF?] `KXX,~3ɂ 0/ؓ&H1<~A~](p |b8t9?vVy@=!ٙx >?  3ypKK{nm - FeQj Z8Y~/_2s3a;<<T1܉`T E o 33|ʰ s`ǰhtH*۬ y^C@KCG^z'2܈~K@1Ҫ20# uIENDB`flatnuke-2.7.2/forum/icons/argument_icons/cancel.png0000644000175000017500000000156310533367004022122 0ustar simonesimonePNG  IHDRĴl;gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?-@1҅A3/3(\c@7 " 5?ay T Ph_?0m823" P N_W@4PYA qySQOC  3\_?~}gra T|Ca8  `b4###(LAd(p_?>l@ aπз1?Ёf. SA.QNj(@PX A   ;Wfk(`0@a r&` þ4f0@a5* ǰ_[KWB^290W:FȆ2|o3@1Ja 66EEpR<Ǝ=ď_30|33(?Ɗi8@1.Ca>ȥ C1/"`B"  \*h7נd1܆AleFP)EL⇆~e&#nhb8(S@?G_c /AYqo|Dv,ޟ]lef08%] d?-@fJS`K)  ԥ3 0&Py DWM@`.EyH 4IENDB`flatnuke-2.7.2/forum/icons/argument_icons/smile.png0000644000175000017500000000205310533367005022002 0ustar simonesimonePNG  IHDRĴl;IDATxڽMh\Ut&f 4jH3H)}XEj3t#(W ADPȴLiia;LMZ#3y3{\&iνs;oI8* wc!Zh{"령0P:p'5GI=؊R*pKв"r1(AQ ʝp+-a%,,U`㏪Xa("&SdP2r`_YpG%4 IG9o3H%y 2P\`=T"`HЪX~KJe!SX e QrdXư "cY ho/7#0GPX-()Da! LV4Uh'CsyV̢dԩ>z_=c~ xNm2hQ0 FIM|sd@.PhϹ; dO 6o߀4 Σ`maG|7=0%}Ɲ^so,8#dbW)NT;<XK`} tՀdY[8I,Y5փrH!p3:m9ufk~ ؑSEPhf;4n~ A~^k !z FQ83{E4^K$7,Srhd| ((Q:]^Ј;f3J|ctyiRg"4AP9>߇u%}!5"**Ýzש[}k"_euD+?R+z\/B"fGb. /@RFFk"MZWc+o76i(RzN5q pb7ܚ2XiMɽܚ{?E=?IENDB`flatnuke-2.7.2/forum/icons/argument_icons/ok.png0000644000175000017500000000140110533367005021276 0ustar simonesimonePNG  IHDRĴl;gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?-@11  FFFƷA! 2s!CMϠ4h ffGbd,!Dg ddJ./ | 3Lf0 I@0``萠"4oC %2x#33~< ez_X3#ԃʍ+ n^:t#C&Rb`b``]e@{64[3gg/xD zy:!$I41gev`RgbsM?0?0dF9 #P ?~_Pǐ`b?6_u -`af@>s B@DB ..z>C+ bv$+@Q \/~;-á*o 0&N g eg``\h((O!.phx#Aa: P `RF/8r@^g`x 4i0 ?`H30|@AI7Ln.eK tc4J# #&Y @43 䭛pEIENDB`flatnuke-2.7.2/forum/icons/argument_icons/alarm.png0000644000175000017500000000266610533367004021776 0ustar simonesimonePNG  IHDRĴl;bKGD pHYs  @AtIME +JCIDATxuMl\W3ogXIzΙ|vE8eo|~l+@R5nݺ}q*= QGPYX*~}s'`?vMFPj8[7Uzh|a$JFzV'U]rbɗK_vU! ]7<=3}b?Zk_8 ~ ?ٕ7:X8nhO8CZT9sͻwwZ/oW/|Ǘ31Y A>' d~~I )t'EU t8@l,i?~,mcCCC!RRBׇiR=ѓel0̤yCpg2j:Mb \v珀RJtRR*pfpU8xY|4@qB}? !躎 DC|}f8 ̝Xt|)QJPy5|)9{Ghl.RO.lRVD"(m\.i$ Q`|0<<`nqq#4d2J=,|fݵq\?(RRSSSB\}{TG潵T fryH)iZ\~86Q.i5|ZD"@ uIMqFGGFG9TuI{g* K={T;W#-$S, J`0R ql o>+eV*q T^d8i=iy%@$@Jhi~AlT{9> vw[b~}{/y*”eP`B4) NcV ޹Y+W'@:#k>Xw00nR({>]h]A# t!xȯ|ap?{fᗚr*Y(]_,:}a"iGΔSզ{Ў}Ϟ -Dl6ڮ0 $zYx?d2 @Q/ >3IENDB`flatnuke-2.7.2/forum/icons/argument_icons/configure.png0000644000175000017500000000732510533367005022661 0ustar simonesimonePNG  IHDRĴl; pHYs   9iCCPPhotoshop ICC profilexڝwTTϽwz0R޻{^Ea`(34!ED"HPĀP$VDT$(1ET,oF֋oZ/K<Qt`)LVF_{ͅ!r_zXp3NY|9,8%K.ϊ,f%f(Aˉ9a >,٩<9SbL!GĈ 3,F0+7T3IlpX"61"H _qW,d ėrIKst.ښAdp&+g]RәY2EE44432PuoJEzg`̉j- -b8o׿M]9La.+-%Mȧg3YះuAxEK i<:ŹPcu*@~(  ]o0 ~y*s7g%9%(3H*@C`-pn VH@ A1 jPA3hA'8΃Kn`Lg` a!2D!H҇ dAP B Byf*z: @]h ~L CUp΅ p%;56< ?" GxG iE>&2 oQEGlQP UFFuzQ7QcYG4G۠t]nB/o'Я1 xb"1I>Lf3bX} *QYvGĩp( &q x)&gsF|7:~@&h!$&B%pH$D.q#xx8F|K!\H$!i.%L";r3EHK-AFCbH$^RSIrdd 3Rx)-))zR#RsiSiT#Wd2Z2n2l2d)EBaQ6S))T UEMSPgeedɆfȞ!4--VJ;N g%K-sɵݖ{'OwO%)P_RRۥEK/+))U<د8䡔TtAiF쨜\|FyZbU)W9.Kw+YUEUOUjꂚZZZCu:C=^\G}VCEO#OE&^WOs^K[+\kV֔vv[]n>z^^u}XROm`m3h01$:fь|:kG23hbabhrT4ߴw3=3Y-s.q_vǂbgբ⃥%߲rJ*֪jAe0JOY6rvvtXLǎl&I']$NϝM.6.\ι"En2nnn[g=,=t٪E2}4\j5loDŽǞ~q=''Z^utv&vvEv >mяN9-{ LOgsΝK?7s>xOL n\x }N}g/]>uɫ,u[dS@u]7ot.<30tKn]p;;SwSyoEV߽$k@aEVW@-^m#P E'F?@1̜nk ͞~ ='2 XO E1頤$_0 ϟ@ faѱl8n! _a`/BPOO+  Z 011 ƿ~O_,  >@ .))2fffK@雠Ĭgn ""Π*r߿Q0Obd}^b7&o{tE=>ym߿bx!L8k? /k7P FLmm S&AY7VVS~e`UGcp4)b1bbj qq!N`G ??sdA7GV .n]0 &4BH0(bqq~ad{ #g~wtn6 ɝkJekH`fcf`D_ygܫ"@ J_p\r7 1  &b Ԏ'3]x(  dΠ_Dli?ap"030|_~20÷ XY)Ei@bpk;(!٘1tldp 5x[LN%›+o``[BKAX]dx )e:CAe=~? }ibŚ S+FIENDB`flatnuke-2.7.2/forum/icons/argument_icons/cd.png0000644000175000017500000000300010533367004021247 0ustar simonesimonePNG  IHDRĴl;gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb:hn'V+.(+'o>ť߿h݇  (fo-44`a/?ϟ0x޿=VE6  evuةc褧+_'ÅOn^f @LPCY\\w9::03R4?XXX9dKd B5:f @\2\ `y? 4/0u[5E%&F ,@000 b b?$~ 29Õݻ w \\| TOXw!@hhj213 1] 47!dee` ng/ З|ij A!9W^^_`gĿ.c~ë o^ h0{\9$II71޾zgr@HJp] &P  O@R/"7?+;'dac#`bae` E HpqaX#? IYZ30s1'P`\0 @,?0< KY711.G3:Gm -_<:EV/m6Dʁwo4@<}rg&߿~0QonV$ (]!-%/ aAnn#`SN. X^=ɳ~f@/1Ë RJ VV?04fex b(;"^C X|{;#<(@I) bF ~%e)/?aAPqhÇG@,\?q '0pq5-fEx99!b >(${`u&j߄ AA!!C6 - Qˑ?~1ܾkA|bj4:;ý Ӭ8 xMXXÙY Ǐˍ}'7cu?`SPRWA,) mP3ͻ 'N\p9OXH9r׷wA/6/`9pMN|عs>z h7 SUUUHBx,0 ׮9wN}EA[ߟªΡo/$(2T~͛/޾{p'˱y?*IYIENDB`flatnuke-2.7.2/forum/icons/argument_icons/2rightarrow.png0000644000175000017500000000207410533367004023145 0ustar simonesimonePNG  IHDRĴl;gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?-@1%sz _Yb @zs  @ o]~ a`/.Eտ$41jO`b`e u20ϗv_ 7CeY r~ YTp@Lc7)9 ߍ쀆3͗_ 6߿ \,jƈ0D\-ہpbi7b` `ay~P'P}_(Df_Af  W_XK᧵;?&`P0ozgvhB l|(L˯Gӛ;v^ 5_10Yq0%3K`f/@k3{1$b=a`.5O`x5y/0gp P\ -`x0{g %?[ !&5 X y~d y0z"R/$I;3+fe 9OoLa 86$(dbLG@Ο4 / A4/SK/Xb+  D@^2ܸׯ ˴`:?W2U.׿u3xtLS _]-_v$R9XHngƍSF}?@17(.nv1v. `jbqViΝOkޭS_Ov,f|W)W_Q IENDB`flatnuke-2.7.2/forum/icons/lock.png0000644000175000017500000000135610522421265016606 0ustar simonesimonePNG  IHDRabKGD pHYs  ~tIME $84Fe{IDATx}MHTQ81IR*CPw)DZjpn (E\Xʍ"4;!Mgq8ӌSgu=\ιuo#mmᇭ͏Ȳf\zrTw^áDZq(*# ɟZ&hVBuEέJyi3 iLuNWs$uUxv `57 'ՑPc(p"D$ nXAT)y {ˆP_ <J܋mǀP- qŝ;_~ʀ@1Džڐ8ʅfps0 * Kpp!93@`5 *VEXp@5lLl4m-(``X12I#2l0ٴ̦:pg*V7mp)āݹ[IENDB`flatnuke-2.7.2/forum/icons/normal.png0000755000175000017500000000212710522421265017146 0ustar simonesimonePNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxbe;_ L  VV|İ_o~002 cP95WG]\ϟ 2" &~.& )~m 䳀ˑ嬨c+&Xci +l*&ҕl @1kK112|pW32Y@L?疠/ -$x e@ ""),#k %bdצ㷿 _4dy%DExAWd`raz ׭xAS]D _ b *B "Pf  K=z;߿޼ ?2|AH \ z ~;3|@Le`ӗV}gs=Ý4А <@WAEVAAEǛ_&b~ƛ>ū@@?w?89X$E9dxT% @/VGO>3 r2<}_@W}AA}).+  3#'Ý$>o8, @,j $ OGNM^>v``22|ș /dx× Wog FC tTtěfax o1po[~ܺv?- F&M/`?C~E'3 ~39痟6wL`%JgXؙT4EsEݓm d}L; KK|UjIENDB`flatnuke-2.7.2/forum/icons/profile.png0000644000175000017500000000136110254334320017307 0ustar simonesimonePNG  IHDRagAMA7IDATx}KSqƟםM7]n6'bhP # @z 01 "*owы`Ė\Uwί+E{<|>_`琊7&h1[}G.ޝ>y֋,^6X8p\cS+.3KB?ݦjkwHS,:":,X⫛?m奚VeeIe DyG0nu+=@AHuBqta  A\᷊܏% 31D=7׷}^RUezjv]VfX6h͵5hEY"7b1*FР4R2Z & Uus35M-rnz<[c~<9y9EDVYR/[]ǃ#py{heJVX^,hNf=y 2ZŲSrcA:\r%N^6upM&JEcR%20,F(y}ޞ{J~,Ͽmk 7OsDj\Mo,$ccrc-ukjy\/|ԯbI*il.m!'7glu u;N*%IޢXmxw[ƕƅVf;`൬7h9KG !NϓZ~k-wvB^|JF--fUG3)v5k5<tӤW vg}|uF v[_>A8"#·Wd(1-J4z{&ta*C (,).hp>opq Hp# 4ڃpUo0b~v :7-J`ǤYǒ|$z͝3g*UYQʝo5å3G* 8"R#{HOgQ=dvpp(|^pt{wG&wXcD݄[z ܍K* ):^z:;fyH/BN61)"撞C/ |m9 s:.bM eJ%\l3q_<IENDB`flatnuke-2.7.2/forum/icons/unlock.png0000644000175000017500000000163310522421265017147 0ustar simonesimonePNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<-IDATxb?Crr3fcccWVI?Û7_߽xߦ_έe ('9?*M]] 4O+-۷H0}7BƞD7a͛p?~SWU0gOH[:o @L ,>XZ((3[am]O5x֭S@Hӧ& = @`>|2@AEEV͛ _:eee:uֵkݼyANNLO = @`/UNd~^_¥12,'߿1U^  Z?R((L~K?@563 "L'&& 2`JL|b``ebU@afo&f |'I}{Y lW^Mt!E/+|a`x>0@ x t'P=@(hK`ûJl?@o? adhT ?@ R؀ I FmA5A "/$@ ف @?i }/$llwb?Ff(A d8wc Msn'!IENDB`flatnuke-2.7.2/forum/icons/quote.png0000644000175000017500000000025710522421265017012 0ustar simonesimonePNG  IHDR%=m"gAMA aPLTEU~tRNS@6:bKGDH pHYs  d_tIME ;KIDATxc`xU<uIENDB`flatnuke-2.7.2/forum/icons/show.png0000644000175000017500000000145210522421265016633 0ustar simonesimonePNG  IHDRabKGD pHYs  tIME :irIDATxuKHTař3x#ENI-LAQ" ,jM",EPX"H"(b o9ʌm33"ӻzy95Jpvʁq9Ҵ=--Gt8tvv{yyϣʲ-'F_[Is3v{"~/D3dA% =wCK͏ _S}>/>T?ƠPvhtXK(0HFP$ nE,I`:'HRR/Bx] 8B` "._CHOOSEGROUPNAME.":

    "; echo "