diff --git a/README.mirror b/README.mirror index f16ddedb7..5407978b5 100644 --- a/README.mirror +++ b/README.mirror @@ -1,3 +1,11 @@ +NOTE: If you want to become an official PHP mirror, please sure to +read and follow these instructions carefully. You should have the +consent of your hosting company (if you aren't a hosting company +yourself), and be prepared for some reasonably significant bandwidth +usage (a reasonable estimate as of 2/2001 is 100MB/day). Also, +we are currently only accepting new official mirrors in countries +where we don't already have two active official mirrors. + Here is how to mirror the PHP site: First, you need to have a rsync (http://rsync.samba.org/) installed. @@ -19,17 +27,22 @@ to www.php.net to fetch user contributed manual notes. Once you create a virtualhost which looks something like: - ServerName xx.php.net - ServerAdmin yourname@yourdomain.com - DocumentRoot /www/htdocs/phpweb - php_value include_path .:/www/htdocs/phpweb/include - php_flag short_open_tag on - ErrorLog logs/error_log - TransferLog logs/access_log - DirectoryIndex index.php index.php3 index.html index.htm - ErrorDocument 404 /error/ - ErrorDocument 401 /error/ - ErrorDocument 403 /error/ + ServerName xx.php.net + ServerAlias www.xx.php.net + ServerAdmin yourname@yourdomain.com + DocumentRoot /www/htdocs/phpweb + + php3_include_path .:/www/htdocs/phpweb/include + + + php_value include_path .:/www/htdocs/phpweb/include + + ErrorLog logs/error_log + TransferLog logs/access_log + DirectoryIndex index.php index.html + ErrorDocument 404 /error/ + ErrorDocument 401 /error/ + ErrorDocument 403 /error/ modified to reflect your local paths and country, of course, then your site @@ -73,14 +86,11 @@ appropriate steps will be taken to integrate your mirror site: available in the preferred language yet, so long as English is an acceptable secondary default. -Don't worry about graphics for your country's flag - we've got them all! - -You must also sign up to the mirrors mailing list, by sending an empty -message to: - - php-mirrors-subscribe@lists.php.net - -We need to be able to keep in touch with you! +It is *not* required to sign up to the mirrors mailing list, by +sending an empty message to: php-mirrors-subscribe@lists.php.net +as we are able to keep in touch with you using your given email +address. The traffic on the mentioned mailing list is mainly +interesting for the webmasters of php.net. And finally, don't forget to put a nice little PHP logo somewhere on your hosting company's site if possible. Grab one of the logos from the diff --git a/bin/projects.xsl b/bin/projects.xsl index 4c05468ef..d76d17f65 100644 --- a/bin/projects.xsl +++ b/bin/projects.xsl @@ -28,11 +28,6 @@ - -
- - @@ -45,33 +40,10 @@ License: -- Updated: - - -
- - -
-
- - -
- - - - - -
- - - -
-
- -
- +
+
+ +
diff --git a/bin/update-projects b/bin/update-projects index 0dce6403d..efa2e010d 100755 --- a/bin/update-projects +++ b/bin/update-projects @@ -1,9 +1,34 @@ #!/bin/sh -lynx -source http://www.freshmeat.net/search/?q=php\&mode=xml > backend/projects.xml~ +lynx -source http://freshmeat.net/search-xml/?q=php\&filter=183 > backend/projects.xml~ if [ $? -ne 0 ]; then echo problem getting results from freshmeat exit 1 fi mv backend/projects.xml~ backend/projects.xml + +# won't be necessary when this is running on a machine that has php+sablotron +# but for now is necessary to give time for projects.xml to get mirrored over +# to www.php.net +sleep 900 + +lynx -source http://www.php.net/bin/projects.php > backend/projects.html~ +if [ $? -ne 0 ]; then + echo problem converting results to html + exit 1 +fi + +mv backend/projects.html~ backend/projects.html + +# generating the include file projects.inc +sleep 900 + +lynx -source http://www.php.net/bin/projects_inc.php > backend/projects.inc~ +if [ $? -ne 0 ]; then + echo problem generating the include file + exit 1 +fi + +mv backend/projects.inc~ backend/projects.inc + diff --git a/books.php b/books.php index 199b2c170..ed8ace8f7 100644 --- a/books.php +++ b/books.php @@ -75,12 +75,8 @@ function showBook($title, $title_link, $author, $author_link=false, $image=false echo "
\n"; echo "

\n\n"; echo "\n\n\n"; - } - ?> - -

PHP Books

@@ -424,6 +420,15 @@ showBook( array("PHP 4","Webserver-Programmierung für Um- und Einsteiger"), "de" #lang ); +showBook( "PHP 4", # title(s) + "http://www.amazon.de/exec/obidos/ASIN/3826690044/wwwphpnet07", #title_link + "Dr. Susanne Wigard", #author(s) + "", #author_link(s) + "susanne_wigard.jpg", #img + "BHV, December 2000, ISBN 3-8266-9004-4, 448 pages", #info + "http://www.bhv.net/bhv/buchreihen/deinst_1110_3.html", #info_link + "de" #lang +); showBook( "Das Einsteigerseminar PHP 4.0", #title(s) "http://www.amazon.de/exec/obidos/ASIN/3828711103/wwwphpnet07", #title_link @@ -501,6 +506,15 @@ showBook( "PHP 4 für Profis. Werkzeugkiste und Kochbuch", #title(s) "de" #lang ); +showBook( "PHP 4 programmering", #title(s) + "http://pagina.se/bok.html?20660", #title_link + "Jesper Ek and Ulrika Eriksson", #author(s) + "", #author_link(s) + "ek-eriksson.gif", #img + "February 2001, ISBN 9-1636-0660-7, 220 pages", #info + "", #info_link + "se" #lang +); showBook( "Guía Prácticas PHP 4", #title(s) "http://www.AnayaMultimedia.es/", #title_link @@ -760,6 +774,6 @@ showBook( "Mastering Regular Expressions", #title(s) - diff --git a/bugs-php3.php b/bugs-php3.php index a3c5bb9d1..425184ba5 100644 --- a/bugs-php3.php +++ b/bugs-php3.php @@ -155,7 +155,6 @@ function show_types($first_item,$show_any,$var_name) { "mhash related", "Misbehaving function", "FrontPage related", - "Feature/Change Request", "Other"); echo " -

-'); ?>

Thank you. Your request has been sent. diff --git a/docs.php b/docs.php index 15de36b55..aa7bbe3d8 100644 --- a/docs.php +++ b/docs.php @@ -1,13 +1,38 @@ "English", + "pt_BR" => "Brazilian Portuguese", + "cs" => "Czech", + "nl" => "Dutch", + "fr" => "French", + "de" => "German", + "hu" => "Hungarian", + "it" => "Italian", + "ja" => "Japanese", + "kr" => "Korean", + "es" => "Spanish" +); + +$formats = array( + "bigmanual.html.gz" => array("Single HTML (compressed)", "html.gz"), + "manual_doc.pdb" => array("PalmPilot DOC", "doc.pdb"), + "manual_isilo.pdb" => array("PalmPilot iSilo", "isilo.pdb"), + "manual.pdf" => array("PDF", "pdf"), + "manual.txt.gz" => array("Plain text (compressed)", "txt.gz"), + "manual.tar.gz" => array("Many HTML files (compressed tar)", "tar.gz"), + "manual.zip" => array("Many HTML files (zip)", "zip"), + "manual.chm" => array("Windows HTML Help", "chm") +); ?>

PHP FAQ

@@ -15,20 +40,18 @@ PHP FAQ +

The PHP Manual On-line

@@ -44,7 +67,7 @@ PHP FAQ all of the documentation, this will be the most current version, as it is updated (and annotated) daily. -
  • PHP Manual +
  • PHP Manual Errata. This is the collected errata from the on-line errata/note system. @@ -53,83 +76,57 @@ PHP FAQ +

    Downloadable PHP Manuals

    -

    Downloadable PHP Manuals

    -

    HTML Version

    - -

    Latest Versions (Daily Snapshots)

    - -

    WinHelp (CHM) versions (January 12, 2001)

    - +

    The PHP manual is also available in a selection of downloadable +formats for off-line use. Pick your format and language from the +table below:

    -

    PDF Versions (February 04, 2001)

    - + + + + $v[0]\n"; + }?> + + \n\n"; + reset($formats); + while (list($fn,$details) = each($formats)) { + echo ""; + continue; + } + # temporary hack until chm are auto-generated + if ($fn == "manual.chm") { + echo "$details[1]"; + continue; + } + $size = @filesize("manual/$langcode/$fn"); + if ($size) { + echo "$details[1]"; + } + else { + echo " "; + } + echo "\n"; + } + }?> +
    $language"; + # temporary hack until pdf are auto-generated + if ($fn == "manual.pdf") { + echo "$details[1]
    -

    Other Versions

    - +

    More Information

    - - - - - -

    Translations

    - - - - - - - -

    More Information

    @@ -152,12 +149,10 @@ with the development of PHP, read this. -

    Old/Unsupported Information

    +

    Old/Unsupported Information

    - + diff --git a/gifs/books/ek-eriksson.gif b/gifs/books/ek-eriksson.gif new file mode 100644 index 000000000..f13f5ccef Binary files /dev/null and b/gifs/books/ek-eriksson.gif differ diff --git a/gifs/books/susanne_wigard.jpg b/gifs/books/susanne_wigard.jpg new file mode 100644 index 000000000..e4cdddf89 Binary files /dev/null and b/gifs/books/susanne_wigard.jpg differ diff --git a/include/email-validation.inc b/include/email-validation.inc index 7f027f7b5..7c6939321 100644 --- a/include/email-validation.inc +++ b/include/email-validation.inc @@ -1,187 +1,26 @@ =2 - && substr($line,$length-2,2)=="\r\n") - { - $line=substr($line,0,$length-2); - if($this->debug) - $this->OutputDebug("< $line"); - return($line); - } - } - } - - Function PutLine($connection,$line) - { - if($this->debug) - $this->OutputDebug("> $line"); - return(fputs($connection,"$line\r\n")); - } - - Function ValidateEmailAddress($email) - { - return(eregi($this->email_regular_expression,$email)!=0); - } - - Function ValidateEmailHost($email,$hosts=0) - { - if(!$this->ValidateEmailAddress($email)) - return(0); - $user=strtok($email,"@"); - $domain=strtok(""); - if(GetMXRR($domain,&$hosts,&$weights)) - { - $mxhosts=array(); - for($host=0;$hostGetLine($connection))) - { - if(!strcmp(strtok($line," "),$code)) - return(1); - if(strcmp(strtok($line,"-"),$code)) - return(0); - } - return(-1); - } - - Function ValidateEmailBox($email) - { - if(!$this->ValidateEmailHost($email,&$hosts)) - return(0); - if(!strcmp($localhost=$this->localhost,"") - && !strcmp($localhost=getenv("SERVER_NAME"),"") - && !strcmp($localhost=getenv("HOST"),"")) - $localhost="localhost"; - if(!strcmp($localuser=$this->localuser,"") - && !strcmp($localuser=getenv("USERNAME"),"") - && !strcmp($localuser=getenv("USER"),"")) - $localuser="root"; - for($host=0;$hostdebug) - $this->OutputDebug("Connecting to host \"".$hosts[$host]."\"..."); - if(($connection=($this->timeout ? fsockopen($hosts[$host],25,&$errno,&$error,$this->timeout) : fsockopen($hosts[$host],25)))) - { - if($this->debug) - $this->OutputDebug("Connected."); - if($this->VerifyResultLines($connection,"220")>0 - && $this->PutLine($connection,"HELO $localhost") - && $this->VerifyResultLines($connection,"250")>0 - && $this->PutLine($connection,"MAIL FROM: <$localuser@$localhost>") - && $this->VerifyResultLines($connection,"250")>0 - && $this->PutLine($connection,"RCPT TO: <$email>") - && ($result=$this->VerifyResultLines($connection,"250"))>=0) - { - if($this->debug) - $this->OutputDebug("This host states that the address is ".($result ? "" : "not ")."valid."); - fclose($connection); - if($this->debug) - $this->OutputDebug("Disconnected."); - return($result); - } else { // Jesus M. Castagnetto - if($this->debug) - $this->OutputDebug("Unable to validate the address with this host."); - fclose($connection); - if($this->debug) - $this->OutputDebug("Disconnected."); - return false; - } - } - else - { - if($this->debug) - $this->OutputDebug("Failed."); - return false; // JMC - } - - } - return(-1); - } -}; - - -// checks that is an *outside* host, and removes the -// SPAM protection, before passing the address to the validation class +// checks that is an *outside* host, and tries to remove anti-SPAM bits function clean_AntiSPAM ($email) { $remove_spam = "[-_]?(NO|I[-_]?HATE|DELETE|REMOVE)[-_]?(THIS)?(ME|SPAM)?[-_]?"; return eregi_replace($remove_spam,"",trim($email)); } -function is_emailable_address( $email ) { +function is_emailable_address( $email) { $hosts_regex="lists\.php\.net|chek.*\.com"; $excluded_hosts = ereg($hosts_regex,$email); + $email_regex="^([-!#\$%&'*+./0-9=?A-Z^_`a-z{|}~ ])+@([-!#\$%&'*+/0-9=?A-Z^_`a-z{|}~ ]+\\.)+[a-zA-Z]{2,4}\$"; if (!$excluded_hosts && $email != "") { - $validator = new email_validation_class; - $validator->timeout=10; - //$validator->debug=1; - return $validator->ValidateEmailBox($email); + return eregi($email_regex, $email); } else { return false; } } - -// test of the validation function -// remove this part once all changes seem to work -/* -$test_add = array ( - "wrong-email-address@lists.php.net","jcastagnetto@yahoo.com", - "some-wrong@asdas.com", "jcastagnetto-NO-SPAM@yahoo.com", - "jcastagnetto@NoSpam-yahoo.com", "jmcastagnetto@chek2.com", - "jcastagnetto-i-hate-spam@NOSPAMyahoo.com", - "asasasd324324@php.net", "jcastagnetto-delete-this-@yahoo.com", - "wrong-address-with@@@@-remove_me-and-some-i-hate_SPAM-stuff"); - -while (list(,$v) = each($test_add)) { - echo "The address: $v (".clean_AntiSpam($v).") is"; - if (!is_emailable_address(clean_AntiSPAM($v))) - echo " not"; - echo " valid\n"; -} -*/ ?> diff --git a/include/shared-manual.inc b/include/shared-manual.inc index 32ae4c1ca..deafdb2f3 100644 --- a/include/shared-manual.inc +++ b/include/shared-manual.inc @@ -165,7 +165,7 @@ function makeEntry($date,$name,$blurb,$id=0) {
    - +
    delete | reject | diff --git a/include/site.inc b/include/site.inc index d87b907b3..3213716d6 100644 --- a/include/site.inc +++ b/include/site.inc @@ -15,19 +15,24 @@ $MIRRORS = array( "http://at.php.net/" => array("at", "Goodie Domain Service", "gds", "http://gd.tuwien.ac.at/", 1, 0, "de"), "http://bg.php.net/" => array("bg", "Bulgaria Online", "", "http://online.bg/", 1, 0, "en"), "http://br.php.net/" => array("br", "SST Internet", "sst", "http://www.sst.com.br/", 1, 0, "pt_BR"), +# "http://br2.php.net/" => array("br", "Lune Networks", "", "http://www.lunenetworks.com.br/", 1, 0, "pt_BR"), "http://ca.php.net/" => array("ca", "easyDNS", "easydns", "http://www.easydns.com/", 1, 0, "en"), - "http://cn.php.net/" => array("cn", "China GNU/Linux Forum", "", "http://www.linuxforum.net/", 1, 0, "cn"), +# "http://cn.php.net/" => array("cn", "China GNU/Linux Forum", "", "http://www.linuxforum.net/", 1, 0, "cn"), +# "http://hk.php.net/" => array("hk", "TraLand.com", "", "http://www.traland.com", 1, 0, "en"), "http://php3.globe.de/" => array("de", "@GLOBE GmbH", "globe", "http://www.globe.de/", 1, 0, "de"), "http://php3.de/" => array("de", "Schlund + Partner", "schlund", "http://admin.schlund.de/s+p/count.phtml?BName=logo-schlund.gif&BLocation=(www.php3.de)&url=www.schlund.de", 1, 1, "de"), "http://dk.php.net/" => array("dk", "Børsen Online", "borsen", "http://www.borsen.dk/", 1, 0, "dk"), "http://fi.php.net/" => array("fi", "NIC Finland", "nic", "http://www.nic.fi/", 1, 0, "fi"), - "http://fi2.php.net/" => array("fi", "NIC Finland", "nic", "http://www.nic.fi/", 2, 0, "fi"), +# "http://fi2.php.net/" => array("fi", "IMG-Multimedia", "", "http://www.img-media.com/", 1, 0, "fi"), "http://fr.php.net/" => array("fr", "L'Université Michel de Montaigne Bordeaux III","montaigne", "http://www-recherche.montaigne.u-bordeaux.fr/", 1, 0, "fr"), "http://hu.php.net/" => array("hu", "Externet", "externet", "http://www.externet.hu/", 1, 0, "hu"), "http://php.fmal.com/" => array("it", "Open Technology Consulting", "sts", "http://otc.fmal.com/", 1, 0, "it"), "http://it2.php.net/" => array("it", "Utility Line Italia S.r.l.", "utilina", "http://www.uli.it/", 1, 0, "it"), +# "http://it3.php.net/" => array("it", "Italia OnLine", "", "http://www.iol.it/", 1, 0, "it"), "http://jp.php.net/" => array("jp", "HappySize, Inc.", "happy", "http://jp.gigahit.com/", 1, 1, "jp"), - "http://kr.php.net/" => array("kr", "HolyNet", "holynet", "http://www.holywar.net/", 1, 1, "kr"), +# "http://jp2.php.net/" => array("jp", "Hitachi Business International, Ltd.", "http://mirrors.hbi.co.jp/", 1, 1, "jp"), +# "http://kr.php.net/" => array("kr", "HolyNet", "holynet", "http://www.holywar.net/", 1, 1, "kr"), +# "http://li.php.net/" => array("li", "Lie-Comtel AG", "", "http://www.lie-comtel.li", 1, 0, "de"), "http://mx.php.net/" => array("mx", "Urbano.com.mx", "urbano", "http://web.urbano.com.mx/?in=php", 1, 0, "es"), "http://nl.php.net/" => array("nl", "WEBtic Internet Consultancy", "webtic", "http://www.webtic.com/", 1, 0, "nl"), "http://php.nederland.net/" => array("nl", "Nederland.net", "nederlandnet", "http://www.nederland.net/", 1, 0, "nl"), @@ -39,13 +44,14 @@ $MIRRORS = array( "http://pt2.php.net/" => array("pt", "SONET", "", "http://www.sonet.pt/", 1, 0, "pt"), "ftp://ftp.utt.ro/mirrors/php3/" => array("ro", "University of Timisoara","upt", "http://www.utt.ro/", 0, 0, "ro"), "http://ru.php.net/" => array("ru", "Direct Internet", "directnet", "http://www.dn.ru/", 1, 0, "ru"), - "http://se.php.net/" => array("se", "Chalmers Lindholmen", "cl", "http://www.ios.chalmers.se/", 1, 1, "se"), - "http://sg.php.net/" => array("sg", "Hwa Chong Junior College", "", "http://www.hjc.edu.sg/", 1, 0, "en"), + "http://se.php.net/" => array("se", "Chalmers Lindholmen", "cl", "http://www.chl.chalmers.se/", 1, 1, "se"), +# "http://sg.php.net/" => array("sg", "Hwa Chong Junior College", "", "http://www.hjc.edu.sg/", 1, 0, "en"), "http://ch.php.net/" => array("ch", "Laboratoire de Bases de Données", "lbd", "http://lbdwww.epfl.ch/", 1, 1, "en"), "http://sk.php.net/" => array("sk", "Isternet SR", "isternet", "http://www.isternet.sk/", 1, 0, "sk"), - "http://es.php.net/" => array("es", "IBD Internet", "ibd", "http://www.ibd.es/", 1, 0, "es"), +# "http://th.php.net/" => array("th", "", "", "", 1, 0, "th"), "http://tr.php.net/" => array("tr", "Bilkent Sunsite", "sunsite", "http://sunsite.bilkent.edu.tr/", 1, 0, "tr"), - "http://tw.php.net/" => array("tw", "DW", "", "http://www.dw.com.tw", 1, 0, "en"), +# "http://tr2.php.net/" => array("tr", "proGEN Internet ve Bilisim Teknolojileri", "", "http://www.progen.com.tr/", 1, 1, "tr"), +# "http://tw.php.net/" => array("tw", "DW", "", "http://www.dw.com.tw", 1, 0, "en"), "http://ua.php.net/" => array("ua", "PACOnet", "paco", "http://www.paco.net.ua/", 1, 0, "ua"), "ftp://ua.php.net/" => array("ua", "PACOnet", "paco", "http://www.paco.net.ua/", 0, 0, "ua"), "http://ua2.php.net/" => array("ua", "New Damage/Outline", "ndot", "http://www2.newdamage.com/", 1, 0, "ua"), @@ -76,6 +82,7 @@ $COUNTRIES = array( "es" => "Spain", "fi" => "Finland", "fr" => "France", + "hk" => "China (Hong Kong)", "hu" => "Hungary", "id" => "Indonesia", "il" => "Israel", @@ -94,6 +101,7 @@ $COUNTRIES = array( "se" => "Sweden", "sk" => "Slovakia", "sg" => "Singapore", + "th" => "Thailand", "tr" => "Turkey", "tw" => "Taiwan", "ua" => "Ukraine", @@ -107,7 +115,7 @@ $COUNTRIES = array( $MYSITE='http://'.getenv("SERVER_NAME").'/'; if (!isset($MIRRORS[$MYSITE])) { - $MIRRORS[$MYSITE] = array("xx", "Unknown", "none", $MYSITE, 1, 0); + $MIRRORS[$MYSITE] = array("xx", "Unknown", "none", $MYSITE, 1, 0, "en"); } # fix for non-standard port in Australian mirror diff --git a/index.php b/index.php index 8573573a4..bcda53832 100644 --- a/index.php +++ b/index.php @@ -6,10 +6,17 @@ echo "\n\n"; ?> -

    -Patch Level 1 Released For PHP 4.0.4 -

    -

    +

    Announcing PHP-GTK

    + +The first release of PHP-GTK is now available. PHP-GTK is a PHP extension that +provides an object-oriented interface to GTK+ toolkit and enables you to write +client-side cross-platform GUI applications. For more information, visit +http://gtk.php.net/. + + + +

    Patch Level 1 released for PHP 4.0.4

    + Due to two security issues found in the Apache module version of PHP 4.0, PHP 4.0.4pl1 has been released. This bug-fix release also fixes a few party-crashing bugs that were discovered in PHP 4.0.4. diff --git a/links.php b/links.php index cf398439f..b3e252e4e 100644 --- a/links.php +++ b/links.php @@ -10,12 +10,21 @@ Brian Schaffner has put up a PHP Employme PHP developers can post their resumes, and employers can post their job notices.

    -

    -You can also try searching at Yahoo Careers for PHP-related jobs (US only for now). -

    +

    Other Job Sites with PHP jobs:

    + + +

    For a more exhaustive list of job +search sites on the web, take a look at dmoz.org's +Job Search listings.

    diff --git a/manual/add-note.php b/manual/add-note.php index e6c7ad78a..e57e32811 100644 --- a/manual/add-note.php +++ b/manual/add-note.php @@ -18,7 +18,8 @@ CREATE TABLE note ( */ - commonHeader("Manual Notes"); +require("shared-manual.inc"); +commonHeader("Manual Notes"); /* clean off leading and trailing whitespace */ $user = trim($user); @@ -28,99 +29,116 @@ $note = trim($note); on notes */ if ($user == "") { $user = "php-general@lists.php.net"; - } +} if ($note == "") { unset ($note); - } +} # turn the POST data into GET data so we can do the redirect if(!strstr($MYSITE,"www.php.net")) { - Header("Location: http://www.php.net/manual/add-note.php?sect=".urlencode($sect)."&lang=".urlencode($lang)."&redirect=".urlencode($redirect)); + Header("Location: http://www.php.net/manual/add-note.php?sect=".urlencode($sect)."&lang=".urlencode($lang)."&redirect=".urlencode($redirect)); + exit; } - mysql_pconnect("localhost","nobody", ""); - mysql_select_db("php3"); +mysql_pconnect("localhost","nobody", ""); +mysql_select_db("php3"); - if (isset($note)): - $now = date("Y-m-d H:i:s"); - $query = "INSERT INTO note (user, note, sect, ts, lang) VALUES "; - # protect all HTML-like stuff (may be "Joe Blow ") - $query .= "('" . htmlspecialchars($user) . "',"; - # only protect PHP-code start tags. - $query .= "'" . ereg_replace("<\\?", "<?", $note) . "',"; - # or we could protect all HTML - #$query .= "'" . htmlspecialchars(nl2br($note)) . "',"; - $query .= "'" . $sect . "',"; - $query .= "'" . $now . "',"; - $query .= "'" . $lang . "')"; - //echo "\n"; - if (mysql_query($query)):?> +if (isset($note) && isset($action) && strtolower($action) != "preview"): + $now = date("Y-m-d H:i:s"); + $query = "INSERT INTO note (user, note, sect, ts, lang) VALUES "; + # no need to call htmlspecialchars() -- we handle it on output + $query .= "('$user','$note','$sect','$now','$lang')"; + //echo "\n"; + if (mysql_query($query)):?>

    Your submission was successful -- thanks for contributing! -

    There was an error processing your submission. It has been automatically e-mailed to the developers. - +

    You can go back from whence you came, or you can browse the manual with the on-line notes. - - + +

    This is what your entry will look like, roughly:

    +'; + makeEntry(time(),stripslashes($user),stripslashes($note)); + echo ""; + else:?>

    You can contribute to the PHP manual from the comfort of your browser! -Just add your comment in the big field below (and your email address in the -little one). +Just add your comment in the big field below, and, optionally, your email +address in the little one (usual anti-spam practices are OK, e.g. +johnNOSPAM@doe.NO_SPAM.com).

    -

    Note that HTML tags are not allowed in the posts. We tried allowing them -in the past, but people invariably made a mess of things making the manual -hard to read for everybody. +

    Note that most HTML tags are not allowed in the posts. We tried +allowing them in the past, but people invariably made a mess of +things making the manual hard to read for everybody. You can include +<p>, </p>, and <br> tags.

    -

    Note: If you are trying to report a bug, you're in the wrong place. -If you are just commenting on the fact that something is not documented, -save your breath. This is where you add to the documentation, not -where you ask us to add the documentation. This is also not the -correct place to ask questions. The notes -are being edited and support questions are being deleted from them, -so if you post a question, it will be removed. (But once you get an -answer, feel free to come back and add it here!) -

    -Click here to go to the support pages.
    -Click here to submit a bug report.
    -Click here to request a feature. +

    Read carefully the following note. If your post falls into one of the +categories mentioned there, it will be rejected by one of the editors.

    - +

    Note: If you are trying to report a +bug, or request a new fature or language +change you're in the wrong place. If you are just commenting on the fact +that something is not documented, save your breath. This is where you +add to the documentation, not where you ask us to add the +documentation. This is also not the correct place to ask questions (even if you see others have done that +before, we are editing the notes slowly but surely). If you post a note in +any of the categories above, it will edited and/or removed. +

    +

    +Just to make the point once more. The notes are being edited and support +questions/bug reports/feature request/comments on lack of documentation, are +being deleted from them (and you may get a rejection email), so +if you post a question/bug/feature/complain, it will be removed. (But once you +get an answer/bug solution/function documentation, feel free to come back +and add it here!)

    +

    +Click here to go to the support pages.
    +Click here to submit a bug report.
    +Click here to request a feature. +

    +

    To add a note, you must click on the 'Add Note' button -on the bottom of a manual page so we know where to add the note! - -

    - - - - +on the bottom of a manual page so we know where to add the note!

    + + + + + +
    - + - - + + +
    Your email address:
    Your notes:
    +

    -
    -
    + + +
    - diff --git a/manual/html/index.php b/manual/html/index.php index 18f1cff6b..2e2061e77 100644 --- a/manual/html/index.php +++ b/manual/html/index.php @@ -3,6 +3,6 @@ require_once 'prepend.inc'; $lang = $MIRRORS[$MYSITE][6]; if (is_dir("../$lang/html")) { - header("Location: ../lang/html/"); + header("Location: ../$lang/html/"); } header("Location: ../en/html/"); diff --git a/mirror_list.txt b/mirror_list.txt index c8e02e227..d11183efe 100644 --- a/mirror_list.txt +++ b/mirror_list.txt @@ -1,26 +1,29 @@ at at.php.net Antonin Sprinzl 192.35.244.50 au au.php.net:81 David Robley 129.96.218.17 port 81 au au2.php.net jason andrade php.planetmirror.com -bg bg.php.net Alexander Keremidarski -php.online.bg +bg bg.php.net Alexander Keremidarski php.online.bg br br.php.net Antonio Dias 200.223.199.4 +br2 br2.php.net Nelson Junior php-mirror.lunenetworks.com.br ca php.easydns.com Colin Viebrock 205.210.42.153 ch ch.php.net prochat@lbdsun.epfl.ch 128.178.77.33 -cn cn.php.net Yu Sun ,mirror@linuxforum.net 210.77.60.220 +cn cn.php.net Yu Sun ,mirror@linuxforum.net 210.77.60.218 #cz www.php.cz jap@maya.cz 212.24.129.2 de www.php3.de smartin@schlund.de 62.104.64.10 de de.php.net Markus Wirtz php3.globe.de dk dk.php.net mkyed@borsen.dk 194.239.128.56 -es es.php.net alfre@ibd.es 195.55.198.14 fi fi.php.net Kaj-Michael Lang php.nic.fi -fi fi2.php.net Kaj-Michael Lang php.nic.fi +fi fi2.php.net Toni Viemerö php.selfdestruct.net fr fr.php.net web.montaigne.u-bordeaux.fr +hk hk.php.net Marquis Chan ns1.traland.com hu hu.php.net Hojtsy Gabor same as phpnet.externet.hu it it.php.net fmal@fmal.com php.fmal.com it it2.php.net www.php.uli.it +it it3.php.net Dino Uras php.iol.it jp jp.php.net sgk@happysize.co.jp jp-php-net.happysize.co.jp +jp jp2.php.net Hitachi BI Mirrors Administrator php.hbi.ne.jp kr kr.php.net JunSeon Oh php.holywar.net -mx mx.php.net webmaster@goliath.urbano.com.mx 200.36.127.163 +li li.php.net Roland Guthauser php.unitec-inc.com +mx mx.php.net webmaster@goliath.urbano.com.mx php.uservers.net nl nl.php.net paulj@ns.web-tic.com php.webtic.com nl php.nederland.net Sander Steffann 193.67.110.5 no no.php.net Stig Bakken 195.1.254.5 same as php.guardian.no @@ -29,9 +32,12 @@ pt pt.php.net melo@co.telenet.pt php.telenet.pt pt pt2.php.net jfa@mail.sonet.pt 195.8.11.34 #ro ro.php.net cbredi@timisoara.roedu.net 193.226.9.16 ru ru.php.net Roma Kuzmin 195.222.162.101 -se se.php.net Kalle Kiviaho 129.16.214.87 +se se.php.net Kalle Kiviaho ,Fredrik Öhrn rampart.chl.chalmers.se sg sg.php.net Chen Shiyuan php.hjc.edu.sg sk sk.php.net bednar@isternet.sk 195.72.0.6 +th th.php.net spcom@loxinfo.co.th php.ubon.asianet.co.th +tr tr.php.net Mustafa Akgul php.bilkent.edu.tr +tr tr2.php.net Emre Odabas php.progen.com.tr tw tw.php.net Eagle Chao php.dw.com.tw ua ua.php.net Alexander Ivanov php.paco.net.ua ua ua2.php.net Max Khaikin php.ndot.com.ua diff --git a/projects.php b/projects.php index cc7ca94d2..564e1ab4b 100644 --- a/projects.php +++ b/projects.php @@ -1,753 +1,23 @@ -'; - - echo hdelim(); - - echo '

    ' . $project . '

    '; - if ($author) { - echo 'by '; - if ($email) { - print_link('mailto:'.$email, $author); - } else { - echo $author; - } - echo '
    '; - } - if ($url) { - print_link($url,$url); - echo '
    '; - } - echo ''; - echo '
    '; -} - -function endEntry() { - echo '
    '; -} - - - ?>

    Projects using PHP

    -

    -An increasing number of projects, both commercial and Open Source, -are using PHP as their main development tool. -This page is a listing of cool things based on PHP, available for download. -

    +

    An increasing number of projects, both commercial and open source, +are using PHP as their main development tool. This is a listing of +some of the open-source PHP applications available, courtesy of +freshmeat. (Last updated: +.)

    -

    -If you have a project you feel belongs on this list, send us email us at -projects@php.net (we consider a project to be -a software package where the code is available for download). -

    + + -
    +

    If you have a project you feel belongs on this list, submit it to +freshmeat and make sure to categorize +it in the "Programming Language : PHP" category.

    - -Keystone is a web-based application designed to help a workgroup keep -track of issues and tasks via a shared central resource. The system was -designed specifically with the IT department in mind, where quick access -to shared data and history is a requirement. This centralized model works -to help organize the department, as well as giving the group the -information it needs to best serve its customers. - -
    -Keystone can be used for: -
      -
    • Bug tracking on software projects -
    • Problem ticketing for helpdesk operations -
    • IT department trouble ticketing -
    • Any environment where quick access to historical data on workgroup -activity is a requirement. -
    - - - - -Double Choco Latte is a system for tracking bugs, changes, -enhancements, requests for software. The system is suited for multiple -products and multiple accounts (clients). It is in its infancy now and -should only be downloaded by experienced users. Once the web interface -is completed, a Java 2/Swing enabled version will be started. - - - - -Forums and message boards are popping up all over the place. To this -point the most popular has been the free perl one at Matt's Script -Archive. This project is trying to design a better forum with the use -of PHP and a database. We are currently using MySQL, but hope to either -have a database independent version or multiple versions for different -databases in the future. - - - - -NeoBoard is a web based threaded message board written in PHP 3.0. -NeoBoard uses MySQL to manage its messages. If you have some knowlege on PHP, -it won't be too much trouble to get it to work with other database engines. -You need a PHP-enabled web server (or CGI PHP) and MySQL 3.22 or later to -get NeoBoard working. - - - - -The Ministry of Truth is a web-based job, equipment, and software -tracking system that works via PHP and MySQL. MOT is a handy way for -an IT support department to keep track of its support calls in a way -that also maintains change logs for all machines and software packages. - - - - -IMP is a set of PHP 3.0 scripts that implement an IMAP based webmail system. -Assuming you have an account on a server that supports IMAP, you can theoretically -use an installation of IMP to check your mail from anywhere that you have web access. - - - - - - - -The PHP Base Library is a toolkit of extremely useful functions needed in many web applications. - - - - -DJPIM is a very simple web-based interface to a MYSQL table that -serves as a prioritized list of reminders. It's designed for rapid -data entry of things to do, like telephone messages, prepare quotations, -and send invoices. The author uses it as a substitute for a paper -"to do" list. - - - - -OBM is an Intranet application which goal is to help manage a company, -but can be used as a contact database. It is written by Pierre Baudracco, -with contributions by Patrice Bridoux and Pierre Carlier (and more to -come) and released under the terms of the GPL. - - - - - - - -W-Agora is a web-based and customizable forum package. It allows you to install forums, BBS, guestbooks and all derived things. -More than "just another web BBS/forum software", w-agora is designed so you can easily adapt it to your needs. For example you can also use it to: -
      -
    • distribute informations, news, announcements -
    • diffuse software updates to people on an intranet site -
    • publish adverts, FAQs, -
    • allows people to upload documents and share information on your server -
    - - - - -A multiuser time tracking system. Users can check in and out and it keeps -track of how long they've worked. - - - - -FocalMail is a web based email interface which allow you to manage your mail virtually anywhere with any Javascript enabled web browser. - - - - -A web based recipe calculator with a recipe database and other beer related goodies.
    -Note from Rasmus: This might sound like a trivial little thing, but go have a look. It is -a very complete and complex site and not your average, "duh.. I like beer site". - - - - -phpMyAdmin is intended to handle the adminstration of MySQL over the -web. Currently it can: -
      -
    • create and drop databases -
    • create, copy, drop and alter tables -
    • delete, edit and add fields -
    • execute any SQL-statement, even batch-queries -
    • manage keys on fields -
    • load text files into tables -
    • create and read dumps of tables -
    • export data to CSV values -
    • administer multiple servers and single databases -
    - - - - -DBE is a web-based database interface. - - - - -The SQLFusion project is a collection of components in java for netobject Fusion. -It's an easy and fast way to build php3 and mSQL web sites with NetObject -Fusion. Its all free under a GNU license. - - - - -TWIG (formerly known as Muppet) came about because several of our users were -running Windows 3.x with non-javascript browsers (specifically MSIE 3.x for Win3.x). -Although we like IMP (http://web.horde.org/imp/), it wasn't exactly practical for -them to use. Muppet works in every browser we've tested so far, including lynx. - - - - -phpAds is a free banner management system for PHP. Currently it can -
      -
    • manage multiple clients (each with own login) -
    • manage multiple banners (any size) per client -
    • view daily, overall and summary statistics -
    • send statistics to clients via email -
    • use HTML, GIF, JPEG and PNG-banners -
    • show random, pre-defined or HTML/image banners -
    • show banners belonging to a specific group -
    • activate and de-activate individual banners -
    - - - - -The Diary lets you keep notebooks and write notes in them. You can add -notes or browse through your notes from any Web browser anywhere in -the world. You can also search inside your notebooks to find entries -that interest you. - - - - -Freemed is a medical management system written using PHP and MySQL. - - - - -PHPGem is a program accelerates the process of creating of PHP scripts for -working with tables. It works with a variety of SQL servers (PostgreSQL, -MySQL, mSQL, ODBC). You input a description and parameters of your -table's fields (name, on/off searching in the field, etc.). The result -is another PHP script which will work with this tables (view table, -edit table, add/delete entries, search in the tables). - - - - -IRM is a powerful tracking utility for computers and software. Demos have -been set up where IRM successfully tracked thousands of records. Features -include: -
      -
    • A complete tracking utility with new and old jobs, followups, and more -
    • Software to computer relationships: Track the number of licenses of a -piece of software. -
    • Search utilities that get better every day. -
    • A comprehensive number of fields, everything from Contact Person to the -NIC brand. -
    • Multi-user, easy to use and light weight interface, user preferences -
    • Adding from templates and batch update support (update more than one -computer at a time) -
    - - - - - - - -FishCartSQL(sm) is a catalog management system for online e-commerce -solutions; it has been in active use since January 1998. A few of the key -benefits include multiple parallel catalogs, multiple languages, timed -sales, Associate ID tracking, and Web based catalog maintenance. The -order output of FishCartSQL(sm) can be adapted for easy integration with -existing order processing systems. - - - - -EU-Webboard is a Webboard solution for Internet and Intranet-Servers -written in PHP 3.0 with a MySQL-connection. Freeware. (This site is in German.) - - - - -bookmarker is a WWW based application for managing bookmarks. It allows -multiple users to list, search, maintain, and create bookmarks. It is -written in PHP using PHPLIB, which allows support for multiple -databases. bookmarker includes functions to store URLs and send URLs via -e-mail directly from your browser (quik-mark, mail-this-link) using -javascript functions that link directly to the application. - - - - -This is a simple guestbook application that uses MySQL and supports -several languages. - - - - -Provides full SMTP validation of a mailing list subscription before forwarding -the request on to Majordomo. - - - - -Xhoo is a collaborative project whose goal is to create Open Source -Web Catalog software for various platforms and languages that can -selectively import data from the Open Directory Project. This project -is currently being supported by Webreference.com. Early releases are -currently available for Perl, ASP, and PHP. - - - - -kidSister is a to-do list and a time logger. It was designed to help -programmers organize many intricate tasks pertaining to multiple projects -as well as keep track of the completion of such tasks. kidSister also has -workgroup-like features that give its users the ability to "spy" -on each other when granted the proper permission. - - - - -Midgard is a freely-available Web application -development and publishing platform based on the popular -PHP scripting language. It is an Open Source development -project, giving you the freedom to create your solutions -in an open environment. Midgard is the tool for -creating, modifying and maintaining dynamic -database-enabled Web services - - - - -The Script Formerly Known As PHPMail. As features were added to PHPMail, its name became -inaccurate, as it can now do so much more than just mailing form results, including -sending an autoresponder, logging to a text file, and logging to a MySQL database. -The next version will support validation of email addresses, credit card numbers -and U.S. phone numbers. - - - - -phpDB is a database wrapper that provides a consistent interface to -various database servers thus eliminating the need to port PHP software -to support another database specific server. Supported database servers -are MySQL, MSQL, PostgreSQL, Microsoft SQL Server, Sybase. - - - - -Dominion is a "Universal Database Administration System Generator". It allows creation of -multifunctional lists, and forms to insert, update and delete data against any kind of -database, just by changing one variable. It just reduces administration time developement -from 10 to 1. - - - - -TreeDoc allows even php-ignorant page designers to create "Tree Documents," or -"Fluid Documents," in which hyperlinks are opened in boxes in the middle of the -calling page, right below the link, instead of on a new page. This lets you -open a document's sections, subsections, definitions etc. just like you would -open sub-folders in a "tree control." The recursive code is encapsulated in php -tags analogous to HTML <a href="..."> tags, so non-programmers can create such -documents. - - - - -xml2tree is a single PHP include file for manipulating XML "tree objects" (i.e. a -PHP4 "treeNode" object which contains an array of attributes and an array of child-strings and -child-treeNodes). treeNodes can be constructed from XML files, created from -scratch, edited, copied, referenced, and written; smaller treeNodes can be extracted from larger -treeNodes based on simple criteria. No other libraries or software are needed; everything is 100% PHP. - - - - -PHPXref is a small Perl script that cross-references functions, variables, and SQL tables used -in a PHP-based Web site and generates HTML output. In addition, it can extract inline -formatted comments from the PHP files to provide browsable documentation for the functions -defined in the scripts. - - - - -eGrail is a comprehensive web management system with templates, and revision -control. It is based completely on open source products. - - - - -FireSite is a Content Management System with very flexible role based user access. -Using a module based approach it is easy to adopt into various organisations -with different information needs. - - - - -PHP scripts to help manage a html form to admin data in MySQL. With only some -lines of PHP code you get a html form. Features: easy management, customizations, -drop down lists easy, and others. - - - - -SquirrelMail is a web-based mail program that will read and send your mail on -IMAP-based mail servers. This script is very easy to install and configure. -The newest version supports plugins, which expand SquirrelMail's capabilities -and allows developers to try their hand at developing new features. -
      -
    • It is written entirely in PHP 4. -
    • It has its own IMAP implementation (you don't need it compiled into PHP) -
    • Address book supports LDAP (if compiled in) -
    • Source (and CVS) available on SourceForge.net -
    • Works with a wide variety of IMAP servers -
    - - - - -PHP Bind is a fully self-contained PHP class for controlling -Bind 8.2's config files. It can parse, regenerate, modify, and -activate/deactivate domains in named.conf and domain db -files. - - - - -The GroupIT v0.90 Engine (for PHP) is a open source content and community -management engine for online communities, extranets and intranets. Forums -supported in this version include Message forums, Article forums, Link forums, -Contributor Forums, and Photo Gallery forums. GroupIT administrators can use -the engine as a turnkey solution or, because the entire source code is available, -the package can be completely customized to suit the requirements of any web site. -
    -
    -The entire source code of the GroupIT engine is available for download and use -under the terms of the "Orchestrated Open Source License -(OOSL - http://www.groupit.org/oosl). - - - - -'Les Visiteurs v1.4' (Visitors) is a comprehensive Web site statistics analysis -program written in PHP that uses a MySQL database on backend for data handling. -Key reports include details on last 30 visitors, Daily breakdowns for each month, -Visitor OS, browsers, Top 30 referrers, Top 30 domains, hits by hour, and more. -It uses the GD library for creating statistical charts. Note that the document -and scripts are written in French. - - - - -PhpDocumentor is a php script that allows you to create javadoc style documentation from your php code. - - - - -phpGroupWare is a multi-user web-based groupware suite written in PHP. It also -provides an API for developing additional applications.
    - - - - -phpCMS is a PHP-Powered Content Management System [Note: phpCMS is a German-language site] - - - - -Searcphp - a search engine written exclusively in PHP. It does not require any database or external program. Works with PHP3 and above. Great for all sites, but especially for sites that can't use other search tools such as agrep, htdig, glimpse or swish. Indexes information from any source that PHP can access -- local files, web pages, databases -- whatever. - - - - -PHP Time Tracking - Time Tracking tool for knowing what you did for whom. Good for programmers or web authors. Serves as a Journal for keeping track of what you did. - - - - -XML Class - An EXTREMELY easy to use XML Tree and statistic parser. You need PHP4 (even if you have XML if PHP3, this requires PHP4). Basically, in two lines, this class will turn XML Data into PHP objects with internal data arrays. This means you can access your XML data with minimal effort. - - - -PHPLOT is a graphics class for generating graphics on the fly and now -used in several countries for graphing things like GPS skiing routes in -the alps and stock market graphs. Its released under the PHP license and -supports all versions of GD, TTF & non-TTF systems, PHP3, PHP4, PNG, GIF, -JPEG, and data in text-linear, linear-linear, and linear-linear-error -formats. - - - - -Ciao EmailList Manager is a PHP/MySQL opt-in mass e-mail program. This -program is intended to assist in the sending of updates/ notifications/ -newsletters/ etc. via the web. A single message can be e-mailed to a -large number of addresses. Each recipient has no way of knowing who -else is on the mailing list. - - - - + diff --git a/search.php b/search.php index a3e3803b0..0a8078013 100644 --- a/search.php +++ b/search.php @@ -42,7 +42,7 @@ if (isset($pattern) && ($pattern)) { exit; } if (!$HAVE_SEARCH) { - $location="http://uk.php.net/search.php"; + $location="http://www.php.net/search.php"; $query = "show=".$show."&pattern=".urlencode($pattern)."&sourceurl=".urlencode($MYSITE); Header("Location: ".$location."?".$query); exit; @@ -118,7 +118,7 @@ Restrict the search to:
    if ($HAVE_SEARCH && isset($htsearch_prog)) { $form=$PHP_SELF; } else { - $form="http://uk.php.net/search.php"; + $form="http://www.php.net/search.php"; } if (!isset($base)) { if (ereg("^(.+//[^/]+)/",$HTTP_REFERER,$reg)) { diff --git a/support.php b/support.php index 48a30f808..e4f9be569 100644 --- a/support.php +++ b/support.php @@ -142,6 +142,11 @@ lists. There are many PHP-related mailing lists available. 'A list for those working with template engines in PHP', false, true, true ), + Array ( + 'php-gtk', 'PHP-GTK mailing list', + 'A list for those who would like to use PHP to write client-side GUI applications' , + false, true, false + ), Array ( 'php-kb', 'Knowledge Base list', 'This list receives daily mailings with summaries of topics on the user list, as well as others drawn from the Knowledge Base',