naming conventions, 41–43 numRow(), 79 parse(), 11 populateCategory(), 378, 380–381, 386–387 populateResource(), 387 populateSubCategory(), 378, 381, 387 prepareLocalList(), 517 processForm(), 670 processRequest(), 457–458, 459, 683 pushMappedFields(), 517 quote(), 50 readKeywordCacheFile(), 414 redirectTest(), 545 _removeExcludedWords(), 414 reorderDriver(), 269 Report class, 522–523 reportDriver(), 231, 236 reporter application, 459–461, 681–682 resetPassword(), 197–198 resetPasswordDriver(), 197 resource manager application, 379–385 resource tracking application, 385–386 Response(), 259 Response class, 258–260 run(). See run() method saveSurvey(), 486 search(), 408–409 search manager application, 386–391 searchContact(), 303 searchResource(), 366–367, 384 sendEmail(), 197 sendMail(), 672 session_destroy(), 143 session_unset(), 143 setAccessObjectID(), 445 set_block(), 10 setCampaignID(), 521 setCatID(), 252, 298 setCurrentIP(), 445 setDocID(), 256 setEcampaignCampaignID(), 522 setEcampaignListID(), 516 setEcampaignMessageID(), 520 setFormID(), 436, 672–673 setMessageID(), 208, 442 setPollID(), 699, 704 setResponseID(), 259 SETRETURNVALUE(), 481, 483 SETSTATUS(), 480 SETSURVEYEXECID(), 484 SETSURVEYFORMID(), 483 SETSURVEYID(), 479 SETSURVEYLISTID(), 481 setupForm(), 670 setUserType(), 278, 314 set_var(), 11, 58–59 showAddMenu(), 381–382 showContents(), 316, 349, 352 showDetail(), 318 showEcampaignReport(), 548 showHelp(), 421 showMail(), 318 showMenu(), 378–379, 387–388 showModifyMenu(), 382–383 showMostVisitedResource(), 390 showMsgPreview(), 538 showPage(), 680 showReport(), 681–682 showResponse(), 281 showScreen(), 198 showStatusMessage(), 277, 282 showSurveyReport(), 492–493 showTopRankingResource(), 390 showWithTheme(), 379, 390–391 sortAndDisplay(), 389 sortByResourceAddedBy(), 391 sortByResourceRating(), 391 sortByResourceTitle(), 391 sortByResourceVisitor(), 391 storeCategory(), 272–273 storeDoc(), 271 storeMail(), 318 storeTrack(), 522 storeUnsub(), 522 continued Index 861 549669 Index.qxd 4/4/03 2:42 PM Page 861 methods continued submission manager application, 679–681 submitData(), 671 submitResponse(), 282 subscriber application, 458–459 SURVEY(), 479 Survey class, 479–480 survey execution manager application, 490–491 survey form manager application, 488–489 survey list manager application, 486–488 survey manager application, 485–486 survey response manager, 491–492 SURVEYFORM(), 482 SurveyForm class, 482–483 SURVEYLIST(), 481 SurveyList, 480–482 SURVEYREPORT(), 484 SurveyReport class, 484 SURVEYRESPONSE(), 483 SurveyResponse class, 483–484 takeFormLabels(), 489 takeMap(), 531 toggleDescField(), 493, 549 trackResourceVisit(), 367 unhtmlentities(), 229 Unsubscription Track class, 522 unsubscription tracking application, 545–547 unsubUser(), 547 updateCampaign(), 541 updateCategory(), 274 updateCategoryOrders(), 253 updateDoc(), 273 updateDownloadTrack(), 674 UpdateEcampaignMessage(), 520 UpdateEcampaignMessageHdr(), 520 updateMessage(), 537 updateMsgTrack(), 223 updateOrders(), 272 updateRecentSearchList(), 410–411 updateUser(), 190, 198 uploadFile(), 672 URL class, 518–519 URL manager application, 532–534 URL Track class, 521–522 URL tracking/redirection application, 544–545 User(), 158 user administration application, 168–170 User class, 159–160 user interface application, 528 user password application, 190–191 user tip application, 237 validate_any_string(), 669 validateData(), 671 validate_email(), 669 validate_file_size(), 669 validate_name(), 668 validate_number(), 668 validate_number_range(), 668 validate_org_name(), 668 validate_size(), 667 validate_string_size(), 668 validate_url(), 669 Vote(), 699 vote application, 703–705 Vote class, 699–701 writeKeywordCacheFile(), 414 writeSearchHistory(), 414 MinSpareThreads directive, 794 mkdir command, 826 modEcampaignList() method, 517 modifyCampaign() method, 521, 540 modifyCategory() method Category class, 253, 300 category manager application, 376 contact category manager application, 315–316 862 Index 549669 Index.qxd 4/4/03 2:42 PM Page 862 document publisher application, 271 IrmCategory class, 364 modifyContact() method, 304, 320 modifyDatabaseFieldMap() method, 531 modifyDoc() method, 257, 270 modifyDriver() method category manager application, 375 document publisher application, 370 list manager application, 530 message manager application, 536–537 resource manager application, 380 user administration application, 169 modifyEvent() method, 341, 351–352 modifyForm() method, 438 modifyList() method, 530–531 modifyMapList() method, 518 modifyMessage() method, 211, 227–228, 444 modifyResource() method, 367, 383 modifyURL() method, 534 modifyURLDriver() method, 533 modifyUser() method, 169 modURL() method, 519 monitors CPU load, 595–605 hard disk usage, 587–595 MOTD manager application, intranet system, 225–229 multidimensional arrays $ERRORS, 116 $MESSAGES, 116 multidimensional associative arrays, error messages, 20–21 multiprocessing modules, Apache 2.0, 783–784 mv command, 826 mycustomers.csv script, 500 myform.php script, 37 myFunction() method, 44 mysite.php script, 38 MySQL access rights, 764 advantages, 763 CD, 754 central authentication database, 146–147 command-line use, 764 databases, 764–770 inserting data into databases, 767–768 installation/configuration, 808–810 intranet database, 204–206 one-sweep multijoin, 763, 809 program interface support, 808 relational database, 4, 21, 69–70 RPM package installation, 809 server access, 809–810 tables, 765–767 users creating, 148 MySQL database, manage with phpMyAdmin, 771–780 N NAMED_CONF constant, 642 named.master_zone.conf script, 646 navigation, online help system element, 403 non_cached.php script, 730–731 numRow() method, 79 O object-oriented code base, PHP applications, 3–4, 5 Object-Oriented Programming (OOP) PHP, basics, 757–762 objects PHPApplication, 116 $result, 51 sampleApp, 116 Template, 58–59 $thisApp, 116–117 one-sweep multijoin, MySQL, 763, 809 Index 863 549669 Index.qxd 4/4/03 2:42 PM Page 863 one-to-many relationships, relational databases, 249 one-way hash passwords, forgotten- password recovery app, 194 online help system application configuration files, 415–417 classes, 404–415 error messages, 417 help application, 420–423 help indexing application, 418–420 help.conf file, 415–417 help.errors file, 417 help.messages file, 417 HTML templates, 417–418 installation, 423–424 keyword index display, 427 keyword search, 404 messages, 417 navigation ease, 403 search output display, 425 search results display, 426–427 section page display, 425 security issues, 427–428 structured contents, 403 table of contents page, 403 table of contents page display, 424 template-based interface, 404 testing, 424–427 OOP (Object-Oriented Programming) PHP, basics, 757–762 opcode, PHP application caching, 734–736 Options directive, 797–798 Oracle, relational database, 69–70 output buffering, 723–725 compression, 725–726 output pages, printing, 11 output template files, directory path, 8–9 output_buffering directive, 819 P $params associative array, 46–47 $params variable, 49 parse() method, 11 passwd command, 28–29 passwords authentication access control method, 24 central user management system, 158 e-mailing reset requests, 168 encrypting, 169 implementing, 190–194 login application authentication, 132–133 MD5 message digest login, 740–743 modifying, 168, 190–193 one-way hash, 194 recovery process, 194–195 resetting, 168, 197–198 PEAR, CD, 754 PEAR cache, PHP applications, 729–734 pear_content_cache.php script, 731–732 pear_func_cache.php script, 733 permissions, Apache virtual host, 609 persistent logins, Web server farms, 149–155 personalization tag fields, e-campaign system, 510 PHP basic information, 757–762 CD, 754 PHP Accelerator (PHPA), opcode cache, 735–736 PHP Application Framework (PHPAF) layer, intranets, 68–69 PHP interpreter, CGI-mode solutions, 811 PHP module, Apache 2.0, 811–812 php_admin_flag directive, 813 php_admin_value directive, 813 PHPApplication object, 116 864 Index 549669 Index.qxd 4/4/03 2:42 PM Page 864 php_flag directive, 814 php.ini file Apache 2.0 configuration, 813 PHP directives, 814–821 PHPLIB, CD, 754 PHPLIB library, directory path, 7–8 phpMyAdmin accessing via Web, 773 databases, 773–780 installing and configuring, 771–772 table creation, 773–775 php_value directive, 814 PidFile directive, 792 poll form, vote application, 706–707 populateCategory() method, 378, 380–381, 386–387 populateResource() method, 387 populateSubCategory() method, 378, 381, 387 portable directory structure, PHP applications, 4, 22–23 preg_grep() function, 36 preg_match() function, 36 preg_match_all() function, 36 preg_quote() function, 36 preg_replace() function, 36 prepareLocalList() method, 517 presentation layer, template-based, 68 print_banner() function, 88 printing banners, 87–88 buffer content, 89–90 output pages, 11 processForm() method, 670 processRequest() method, 457–458, 459, 683 production environment, php.ini settings, 748 prompt() function, 563 $PS_BIN array, 597 $PS_OPT array, 597 pushMappedFields() method, 517 pwd command, 827 Q queries database access controls, 747 databases, 76–77 error condition return, 51 results display, 77 sessions database, 154–155 query() function, 76 quote character (‘), strings, 79 quote fields, databases, 49–50 quote() function, 79 quote() method, 50 R readKeywordCacheFile() method, 414 Red Hat Linux, Apache server RPM package installation, 781 redirectTest() method, 545 regular expressions, functions, 36 relational databases. See also databases intranet requirement, 69–70 one-to-many relationships, 249 PHP applications, 4, 21 reminder tool configuration file, 570–571 functions, 581–582 implementing, 573–580 installation, 582–583 symbolic links, 569 tasks, 570 user configuration, 571–573 user messages, 573–580 reminder.conf script, 571 reminder.php script, 573–580 reminders intranet calendar manager, 356–357 intranet contact manager, 294 reminders.txt script, 571–573 _removeExcludedWords() method, 414 reorderDriver() method, 269 repeatable events, intranet calendar manager, 355 Index 865 549669 Index.qxd 4/4/03 2:42 PM Page 865 . 510 PHP basic information, 757–762 CD, 754 PHP Accelerator (PHPA), opcode cache, 735–736 PHP Application Framework (PHPAF) layer, intranets, 68–69 PHP interpreter, CGI-mode solutions, 811 PHP. Apache 2.0, 811–812 php_ admin_flag directive, 813 php_ admin_value directive, 813 PHPApplication object, 116 864 Index 549669 Index.qxd 4/4/03 2:42 PM Page 864 php_ flag directive, 814 php. ini file Apache. 813 PHP directives, 814–821 PHPLIB, CD, 754 PHPLIB library, directory path, 7–8 phpMyAdmin accessing via Web, 773 databases, 773–780 installing and configuring, 771–772 table creation, 773–775 php_ value