Ajax Poll Script
Ajax Poll Admin
Ajax Poll DX
Address Book Script
Form2DB
PayPal IPN + eProduct Delivery Script
Ajax Likes-Dislikes Counter
Text Ad Script
Lead Follow-Up Database Script
Ajax ContactUs Script
URL Shortening Script
AdFreely -Ad Board Script-
Protect HTML Script
Fade-In Slideshow

Address Book Script

Ver 1.18 ( Security patch applied )
AB201-118

Download
Address Book
Address Book
  • First Name
  • Last Name
  • Company
  • Tel
  • Fax
  • Cell
  • Email
  • Street1
  • Street2
  • City
  • State
  • Zip
  • Address Book Mini
    Address Book Mini
  • First Name
  • Last Name
  • Department
  • Contact Email
  • Telephone Number
  • Contact Book Mini
    Contact Book Mini
  • Full Name
  • Full Address
  • Mobile No
  • Email ID/ Facebook ID
  • Comments
  • Company Directory
    Company Directory
  • Business Name
  • First Name
  • Last Name
  • Tel
  • Cell
  • Email
  • Street1
  • Street2
  • City
  • State
  • Zip
  • Country
  • Note
  • Customer List
    Customer List
  • First Name
  • Last Name
  • Home Phone
  • Home Phone2
  • Mobile Phone
  • Other Phone
  • Primary Phone
  • Business Phone
  • Anniversary
  • Birthday
  • Categories
  • Email
  • Email Display Name
  • Home Street
  • Home Street2
  • Home City
  • Home State
  • Home Zip
  • Note
  • Year
  • ... 2 more fields
    : Scripts generated by Address Book Script Builder
    : Scripts generated by Form2DB Builder

    This is a free Address Book PHP script with a MySQL database. This script allows users to search, view, add, edit, and delete address entries from a web browser. Each user can have a different login username.

    It's very easy to add/remove fields to/from the script. In fact, I've seen others using this script to store something totally different from addresses.

    You can customize Address Book Script online and/or manually.

    To manually customize it, please see Customization Quick Guide.

    To customize online, use Address Book Builder, which guides you through the steps of building a custom version of Address Book Script. To start Address Book Builder, click this link.

    License

    GPL

    Demo

    Installation Guide

    Quick Feedback to Tom, the developer

    If you have any suggestions or find any problems, please leave them as a comment down below. we'd appreciate the feedback!

    Name:
    Subject:
    Comment:
    Email: (Will not appear online)
    Posted by Ajit
    1411395202

    Can I change staff folder name?
    Posted by ron
    1411139137

    It appear to be a very difficult task to import from another CSV file, how can this be done. I need to know this priorto getting into this.
    Posted by Tom
    1411190603

    Hi, it doesn't have the import feature yet. Maybe in the next version!
    Posted by babeloo
    1411125573

    Hello

    I can't tell you how you helped me !
    Thanks, thanks, thanks and thanks again. You're great !
    Posted by Tom
    1411190537

    I'm glad to hear that!
    Posted by Daniel
    1411066397

    Not sure if this is something you would be able to help with but I got CKeditor setup and it converts all the textareas to a nice editor.

    What i cant figure out is why is it that CKeditor putting ... Read More
    Posted by Tom
    1411119514

    Sorry, I can't answer to your question. Never used CKEditor. Checking the generated HTML source code may give you a clue.
    Posted by Carlos
    2014-09-12

    Hi Tom, thx for reply,
    Ok. can me plese tel me the code for the hide te Note: Display in the Adresses previue? In you adresses demo no show the text in listing. Make create and show . this is right ... Read More
    Posted by Tom
    2014-09-13

    >can me plese tel me the code for the hide te Note:

    If you want to write it yourself, I'd suggest reading web/codelib/sys/CField.inc.php. This file contains php class implementations for all the ... Read More
    Posted by PK-OSO
    2014-09-11

    ...Or maybe I can use my own list of users to be authenticated using the Sript by itself? The problem with this option is that We are about 200 users. :-D
    Posted by Tom
    2014-09-11

    >Or maybe I can use my own list of users to be authenticated using the Sript by itself?

    The staff table can hold 200 users easily. Why not go ahead?
    Posted by PK-OSO
    2014-09-11

    Hi Tom, thank you again for this app and your help...

    This time I´d like to know if there is a way to create an authentication mechanism maybe based on the MySQL BD created with the AB App or maybe ... Read More
    Posted by Tom
    2014-09-11

    >LDAP server

    I had some chance to implemenent it when my client showed interest but unfortunately the plan didn't materialize. Now I have to wait for the next chance!
    Posted by Carlos
    2014-09-11

    Hello,
    its possible edit the code from Note: text to define max. display text... Its to long... and the table its to hight.

    possible include the code or the ...red more text to colum table from ... Read More
    Posted by Tom
    2014-09-11

    Hi Carlos,

    >its possible edit the code from Note: text to define max. display text

    Sorry, not yet in the current version but I think it's important. Thanks for your feedback!
    Posted by PK-OSO
    2014-09-08

    Hi there,

    My question at this time is: How many values are possible to add on a dropdown list field? 20? 50 ? 100? No limit?

    Thank You
    Posted by Tom
    2014-09-08

    >How many values are possible to add on a dropdown list field? 20? 50 ? 100? No limit?

    Basically there is no limit but the script has to load all the values before displaying it, so many values will ... Read More
    Posted by Gary
    2014-09-03

    Hi,

    Can we export the content to xls format?
    Posted by Tom
    2014-09-04

    >Can we export the content to xls format?

    Sorry, not yet in the current version. I plan to add a csv export feature in a future version, which should allow users to transfer data to Excel.
    Posted by PK-OSO
    2014-09-03

    Hi there,
    This is an excellent and very easy to use AB app. This time we need to hide/show some fields (Columns) and rename them. We have two separates GUI, one for ADMIN users (Edit access) and the ... Read More
    Posted by Tom
    2014-09-04

    Hi,

    in the templates ( any files that starts with "tpl." ), you can use IsAdmin function to hide things from non-Admin users like
    ... Read More
    Posted by Nicole Taylor
    2014-09-02

    How many and what files do I need to edit to add or change the field names?

    For example ID Agendy Type Agency Name Contact Address etc
    Posted by Tom
    2014-09-03

    Hi,

    >How many and what files do I need to edit to add or change the field names?

    You can find all field labels in web/codelib/cfg/res.eng.app.inc.php.
    Posted by doki
    2014-08-31

    Hi,

    Thanks for the script, this is the best script i found the suits my need. Thank you.

    I have one question, How can i customize the script to make it validate if the data is already exist in the ... Read More
    Posted by Tom
    2014-09-01

    Hi, there is code that prevents users from registering the same username twice. You can find it in web/staff/app/cls_ps_staff.inc.php. See the CheckUsernameConflict( &$def, $id ) function. You may ... Read More
    Posted by Ashwinkumar
    2014-08-30

    Hello Tom,
    I am using your script with many modification into it. I have almost 13000 contacts on my addressbook and have manually added few on my google contacts. I was wondering if I can syncronise ... Read More
    Posted by Tom
    2014-08-31

    OK I'll see if there is API interface for Gmail contact. Thanks for your feeback!
    Posted by Whitney
    2014-08-27

    I wanted to use the address book locally - it keeps bring it up into Dreamweaver and will not run -
    Posted by Tom
    2014-08-27

    Hi Whitney,

    >I wanted to use the address book locally

    In order to use a web application like Address Book, you need to install a web server in your computer. If you are new to web servers, I ... Read More
    Posted by Ajithkumar
    2014-08-24

    The problem is that when I log in - I see the index page with the list of my clients. But when I click on something (other page, menu item or custumer details,editing,deleting) it kicks me out of the ... Read More
    Posted by Tom
    2014-08-24

    Hi,

    > But when I click on something (other page, menu item or custumer details,editing,deleting) it kicks me out

    Your PHP session feature is not working. Please ask your web administrator to fix ... Read More
    Posted by Dmitry
    2014-08-23

    how to get access to search without login / password
    Posted by Tom
    2014-08-24

    >how to get access to search without login / password

    To remove the login feature, open web/staff/app/cls_sys_base.inc.php, and find $spec_sys_base array. It looks like this:
    ... Read More
    Posted by David
    2014-08-23

    Down loaded the newer version and dumped my data back in and again work flawlessly. Thanks again for you hard work!!!!

    David
    Posted by Tom
    2014-08-24

    Great!
    Posted by David
    2014-08-22

    Tom
    Found some thing interesting. I took a look in the database, and nothing is set up. None of the table, so of course it's going to return bad user name and or password. The problem hinges around ... Read More
    Posted by Tom
    2014-08-22

    > I took a look in the database, and nothing is set up.

    Chances are that you didn't finish the installation script. Maybe an error message showed up but you didn't notice it?

    Anyway, there isn't a ... Read More
    Posted by David
    2014-08-21

    Been using your scripts for quite some time, and think you've done a fantastic job. I have just moved to Ubuntu 14.04 and reloaded all my scripts again. After getting the installation done screen. I ... Read More
    Posted by Tom
    2014-08-21

    Hi David,

    >After getting the installation done screen. I get an error Wrong user name or password.

    That's strange. This is the first time I heard about that type of problem. You may want to check ... Read More
    Posted by PHPNoob Norway
    2014-08-20

    Hi,

    >>I need the address book to be able to display the letters ÆØÅæøå (norwegian/danish)

    >The character code of Address Book is UTF-8. I believe UTF-8 covers Norwegian & Danish, so you don't ... Read More
    Posted by Tom
    2014-08-21

    > I need to edit the text of the menus when translating it.

    OK, you can find all strings in the following two files:
    web/codelib/cfg/res.eng.app.inc.php
    web/codelib/cfg/res.eng.sys.inc.php
    Posted by PHPNoob Norway
    2014-08-20

    I need the address book to be able to display the letters ÆØÅæøå (norwegian/danish)

    Where and how do enable the script to do this?
    Posted by Tom
    2014-08-20

    Hi,

    >I need the address book to be able to display the letters ÆØÅæøå (norwegian/danish)

    The character code of Address Book is UTF-8. I believe UTF-8 covers Norwegian & Danish, so you don't ... Read More
    Posted by mahsum deveci
    2014-08-18

    Hi i want to admin mode and viewer mode,
    everyone view but not change anything admin mode change everthing
    how can i do it
    Posted by Tom
    2014-08-18

    >everyone view but not change anything

    OK, maybe this article will help you.
    http://www.phpkobo.com/article--m2351
    Posted by Luc
    2014-08-17

    Hello Tom,

    Your scripts are awesome. The poll script is great. Well done.
    I am still looking for a good free newsletter script. Are you working on a script at the moment? I am currently checking out ... Read More
    Posted by Tom
    2014-08-18

    Hi, I didn't have any plans to write it but I'm curious now. I'll check how phplist looks like. Thanks for the info!
    Posted by Jan
    2014-08-16

    So I installed phpkobo adress book on my site like 4 months ago. Everything worked, since the server update. I try to downgreate the php version to 5.2 but still no success.

    The problem is that when ... Read More
    Posted by Tom
    2014-08-16

    Hi Jan,

    >I think that the problem is with session

    You are correct. It really sounds session problem. You need to ask your web administrator to fix the PHP session. It usually requires the server ... Read More
    Posted by Hobs
    2014-08-12

    Could you please hlp
    How do I make a field clickable if for a full website url

    Kind regards
    Hobs
    Posted by Tom
    2014-08-13

    Hi Hobs,

    >How do I make a field clickable if for a full website url

    This article will help you.
    http://www.phpkobo.com/link--m2072
    Posted by Samuel Chan
    2014-08-11

    Hi, I need this function:

    In my phone book, I have 4 numbers:
    1000
    1001
    1002
    1003

    Where 1002 want to unsubscribe from my phone book. Do you have a link like this for them to unsubscribe? ... Read More
    Posted by Tom
    2014-08-11

    Yes, it's possible to implement it.
    Posted by Ehab Magdy
    2014-08-10

    can i set user to read only and assign only admin user to modify in addressbook
    Posted by Tom
    2014-08-11

    Hi, you can make it read-only by disabling edit&delete features. Check out this article. http://www.phpkobo.com/article--m2294
    Posted by Widi
    2014-08-06

    Sorry Tom, i mean, can you add script to upload photo :-)
    Posted by Tom
    2014-08-07

    Hi,

    >can you add script to upload photo :-)

    if you need custom programming services, please fill out this form
    http://www.phpkobo.com/contact-us

    Thank you!
    Posted by Widi
    2014-08-05

    can i add photo for edit detail, thank you
    Posted by Tom
    2014-08-05

    > can i add photo for edit detail, thank you

    There isn't a build-in feature for it but it's possible to write the code.
    Posted by Sergik
    2014-08-05

    solved,uncomment and set date.timezone in php.ini
    Posted by Tom
    2014-08-05

    Great!
    Posted by Sergik
    2014-08-04

    Hello,
    Win 2008 R2 64 bit, php 5.3.28 (only this version is tested with no errors), IE 11.
    After entering the username and password in the menu of your php-script, I get an error 500 in IE. Can you ... Read More
    Posted by Peter
    2014-08-03

    I found this great address book, and used the builder.
    Downloaded and followed the easy installtion steps.
    I log in as admin, but what ever I try I get a new login screen.
    I'v tried Ad, Staff, ... Read More
    Posted by Tom
    2014-08-04

    Hi,

    >I log in as admin, but what ever I try I get a new login screen.

    The PHP session is not working. That's why the script can not remember your login state and you get kicked out to the login ... Read More
    Posted by FRANCK
    2014-07-31

    Hello there,

    In template 'tpl.customers.search.inc', we use the code:
    <td>
    <? php
    $ varvideo = trim ($ hm-> Zb ('rs: def: video'));
    if (! empty ($ varvideo)) {
    echo ... Read More
    Posted by Tom
    2014-08-01

    >On empty fields 'video' of BDD, it appears on the images links web page URL of the website

    I can't tell you why because I don't know how you are inputting data into the database. To recognize the ... Read More
    Posted by FRANCK
    2014-07-30

    Hello there,

    In template 'tpl.customers.search.inc' I want to make an image appear only if the field 'video' in my SQL database is not empty.

    The code below works correctly and displays fine and ... Read More
    Posted by Tom
    2014-07-31

    When the value is null hm->Zb('rs:def:video'); may return "&nbsp"
    Would check what it returns with the following code?
    echo hm->Zb('rs:def:video');
    Posted by FRANCK
    2014-07-29

    Log in to the admin panel and try to delete records. You should get a blank page. Next, remove or hide the delete button from the template. The path of the template is ... Read More
    Posted by Tom
    2014-07-30

    Hi, in the templates ( any files that starts with "tpl." ), you can use IsAdmin function to hide things from non-Admin users like
    ... Read More
    Posted by FRANCK
    2014-07-28

    Hello,

    New and final question: How do I add an automatic calendar next to the input field to assist in the selection of a date.

    thank you
    Posted by Tom
    2014-07-29

    I assume you already know how to setup the date calender on a regular input box like this.
    <input id='some-id' type='text' name='some-name' />
    To use the date calendar on an input box, you need to ... Read More
    Posted by FRANCK
    2014-07-28

    Hello there,

    I do not want to display the DELETE button on the search page only for members of staff.

    But I want the button to appear for administrators ...

    How?

    thank you
    Posted by Tom
    2014-07-29

    To disable deleting for non-administrator, first you need to disable the backend code for deletion. open web/staff/app/cls_ps_(--table-name--).inc.php and add

    if ( !$this->sys->IsAdmin() ) exit; ... Read More
    Posted by FRANCK
    2014-07-27

    I have a 500 error after installing the script?

    Thank you for your help
    Posted by Tom
    2014-07-28

    >I have a 500 error after installing the script?

    The error message should've been logged to a log file. The first thing you need to do is find the error message. I can't tell you where to find the ... Read More
    Posted by jstrange
    2014-07-26

    I Like you addr. book script very easy to use and set up. Once i have added my list of contacts I would like to display on my web page. Is this possible do you have a solution? using a php echo to ... Read More
    Posted by Tom
    2014-07-28

    Hi jstrange,

    >Is this possible do you have a solution?

    It really depends on what you want to show on the page. If it's very simple, just use "echo" to output data. If it's similar to the search ... Read More
    Posted by Matthew Sarino
    2014-07-18

    Hi Tom,

    I am seeing little white square boxes at the border corners of the search and search results box. how do I remove these?
    Posted by Tom
    2014-07-19

    > little white square boxes at the border corners of the search and search results box.

    I'm not sure what you meant by "little white square boxes" but here is a solution. You can replace the default ... Read More
    Posted by Matteo Scirpoli
    2014-07-16

    I wanted to know if it is possible aumentarela limiting the number of characters in the test area. I'd like to have infinite
    Posted by Tom
    2014-07-17

    Hi,

    >limiting the number of characters in the test area.

    You can't make it infinite but you can change it.Open web/codelib/asc/df.fl.(table-name).inc.php in a text editor and find the field ... Read More
    Posted by Matteo Scirpoli
    2014-07-15

    Hello,
    congratulations for the great script for contact management.
    I wanted to ask for information. you can implement the export xls, csv, inserted fields?
    Posted by Tom
    2014-07-15

    Sorry, It still doesn't have export functions. It's in my to-do list, though.
    Posted by Matteo Scirpoli
    2014-07-15

    Is possible translate? Help?
    Posted by Tom
    2014-07-15

    >Is possible translate? Help?

    You can find the text resources in the following two files:
    web/codelib/cfg/res.eng.app.inc.php
    web/codelib/cfg/res.eng.sys.inc.php
    Posted by Daniel
    2014-07-12

    Hi Tom,

    I was in the process of implementing CKEditor on with this tool and was wondering if you knew how to allow HTML to be displayed in the search page? At the moment I just get plain text in ... Read More
    Posted by Tom
    2014-07-14

    OK, so you want to display raw html instead of encoded html. Then you need this helper function. Open web/staff/common.inc.php in a text editor, and put the following line on the top. The function ... Read More
    Posted by Tom
    2014-07-10


    To prevent non-administrators from adding/editing/deleting records, open web/staff/app/cls_ps_(--table-name--).inc.php and add

    if ( !$this->sys->IsAdmin() ) exit;

    after

    case 'edit_inp':

    The ... Read More
    Posted by Tom
    2014-07-11

    You can print some message before exiting like this:
    case 'edit_inp': if ( !$this->sys->IsAdmin() ) { echo "Access Denied"; exit; };
    Please change "Access Denied" to anything you want to display.
    Posted by Matthew Sarino
    2014-07-09

    Thanks Tom!

    I've reinstalled the script and it works fine.
    Posted by Tom
    2014-07-09

    Glad to hear that!
    Posted by Matthew Sarino
    2014-07-07

    I've just tried adding a record to the Phonebook. I get the following error:

    Location : CDatabase/CMySQL::InsertRecord
    Message : Insert Record (tbl_clients) : Incorrect integer value: ... Read More
    Posted by Tom
    2014-07-08

    >Location : CDatabase/CMySQL::InsertRecord
    Message : Insert Record (tbl_clients) : Incorrect integer value:

    Uh-oh, it looks like you broke it. I've never encountered the error. I think it's ... Read More
    Posted by Matthew Sarino
    2014-07-07

    Thanks for the quick reply Tom! I guess my quick fix would be to iframe the app on Joomla. Having said that, I will need to remove the Menu and Breadcrumbs bars. Which line and template file ... Read More
    Posted by Tom
    2014-07-08

    > I will need to remove the Menu and Breadcrumbs bars.

    Plese remove
    <?php include(INC_BODY_HEADER); ?>
    from web/staff/tpl.(table-name).detail.inc.php and web/staff/tpl.(table-name).search.inc.php
    Posted by Matthew Sarino
    2014-07-06

    Hi! This script is exactly what I am looking for. However, I need to put in a Joomla environment along with all the other applications that we currently have. Is there a way to remove the login ... Read More
    Posted by Tom
    2014-07-07

    Hi Matthew,

    >Is there a way to remove the login system on this script?

    Yes ( but I don't know if it runs in a Joomla environment )

    To remove the login system, open ... Read More
    Posted by Kelton Joyner
    2014-07-05

    Tom.
    Thanks for the prompt reply. The changes to the guest folder fixed it so that guest could not add,edit and delete. Didn't understand which top menu and which template to remove. The logout ... Read More
    Posted by Tom
    2014-07-06

    >Didn't understand which top menu and which template to remove.

    So you are working on "guest" folder, right? Then the template path should be web/guest/tpl.(tablename).search.inc.php Open the ... Read More

    Customization Quick Guide

    Important Note: The guide assumes that the table name in the script is "Address"

    Yes, it always used to be that way. ( for 4 years! )

    But the thing has changed. Address Book Builder v1.1 or later allows users to choose any name for the table, so the table name is no longer always "address."

    Before you start reading the guide, it's good idea to make sure what table name is used in your script. To do so, use phpMyAdmin to check the table names. There should be two tables. one is "staff", which stores the staffs data. And the other one holds your data.

    Monday, August 12, 2013

    Address Book Script: Converting a Text Field to a Date Field

    To convert a text field to a date field, open web/codelib/asc/df.fl.(table-name).inc.php, and find the text field that you want to modify.

    The following example is a typical text field definition:

    (example)

    'last_name'=>array(
    XA_CLASS=>'CVText',
    XA_CAPTION=>RSTR_LAST_NAME,
    XA_SIZE=>24,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>36,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(sp)(sr)(fd)'
    ),
    

    Edit the value of XA_CLASS and XA_SEARCH, and add XA_FORMAT line like shown below:

    'last_name'=>array(
    XA_CLASS=>'CVDateTime',
    XA_CAPTION=>RSTR_LAST_NAME,
    XA_FORMAT=>'Y-m-d H:i:s',
    XA_SIZE=>24,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>36,
    XA_SEARCH_OP=>'s%',
    XA_SEARCH_OP=>'s=',
    XA_LIST=>'(sp)(sr)(fd)'
    ),
    

    Lastly, change the data type of the field in the MySQL database from VARCHAR to DATETIME.

    Wednesday, April 24, 2013

    Address Book Script : Editing options in a dropdown listbox

    To edit the options of a dropdown list box generated by Address Book Builder, open web/config/config.selection.inc.php in a text editor. In the following example, three options are defined for the "State" dropdown list box.

    (example)

    define( 'SEL_STATE', "
    S1001=California
    S1002=New York
    S1003=Florida
    " );
    

    The format of options are a list of key-value pairs. The keys are stored in the database and the values are shown in the dropdown list box. You may freely add new key-value pairs to the list. Please make sure that all keys are unique and that the length of the key is equal to or less than the length of the field in the database.

    (example)

    Key=Value
    Key=Value
    Key=Value
    ...=.....
    ...=.....
    ...=.....
    ...=.....
    

    You are free to edit values any time you want. The changes are immediately reflected in the dropdown list box.

    On the other hand, editing a key may require extra works. If you have already created some records in the database, you must also change the corresponding keys in the records.

    Tuesday, March 26, 2013

    Address Book Script : Setting the id attribute of an input box

    Sometimes, you may need to specify the id attribuets of input boxes. You can set an id attribute by passing it in "$hm->Zb()."

    (example)

    <?php echo $hm->Zb('rs:def:first_name', ZB_ATTR, array( "id" => "enter-your-id-here" ) ); ?>
    

    Monday, March 25, 2013

    Address Book Script : Installing multiple copies in the same database

    If you try to install multiple copies of Address Book Script, table name collisions occur. In order to avoid it, you can change the table names before running the installation script. Change the table names in web/install/sql/sql.txt, which will be used to create tables in the database by the installation script. Also, you need to change the table names in web/codelib/cfg/config.table_name.inc.php.

    Sunday, March 24, 2013

    Address Book Script : changing the default sorting order

    To change the default sorting order, open web/staff/app/df.fieldlist.inc.php in a text editor and edit XA_INIT_ORDER_BY

    (example)

    'addresses' => array(
    XA_CLASS=>'cls_fl_addresses',
    XA_SPEC_FILE=>'df.fl.addresses.inc.php',
    XA_TABLE_NAME=>TBL_ADDRESSES,
    XA_ID_NAME=>'addresses_id',
    XA_INIT_ORDER_BY=>'addresses_id DESC',
    XA_INIT_PAGE_SIZE=>20
    ),
    

    Saturday, March 23, 2013

    Address Book Script : Template Path
    Search Page:
    Path: web/staff/tpl.(table-name).search.inc.php
    Detail ( Add New / Edit ) Page:
    Path: web/staff/tpl.(table-name).detail.inc.php

    Top
    Editing a Field Label

    You can often reuse existing fields by changing labels. For example, you can use the Cell field as the Office Tel# field by changing the caption of Cell to Office Tel#. To do so, follow the step below

     Step 1 
    Find the following code in web/codelib/cfg/res.eng.app.inc.php.
    define( 'RSTR_CELL', 'Cell' );
    Make the following modification (the BLUE text) like shown below. (1 location)
    define( 'RSTR_CELL', 'Office Tel#' );
     Done! 
    Note: The procedure above does not change the name of the field in the database.

    Top
    Making a Field Required or Optional

    You can easily make fields required or optional. For example, to make the email field required, follow the step below

     Step 1 
    Find the following code in web/codelib/asc/df.fl.address.inc.php.
    'email'=>array(
    XA_CLASS=>'CVEmail',
    XA_CAPTION=>RSTR_EMAIL,
    XA_SIZE=>24,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>100,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(sp)(sr)(fd)'
    ),
    Make the following modification (the BLUE text) like shown below. (1 location)
    'email'=>array(
    XA_CLASS=>'CVEmail',
    XA_CAPTION=>RSTR_EMAIL,
    XA_SIZE=>24,
    XA_REQUIRED=>true,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>100,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(sp)(sr)(fd)'
    ),
     Done! 
    To change it back to "optional", set it to "false" like XA_REQUIRED=>false,

    Top
    Changing Size of Input Box

    You can easily change the size of input box in the New/Edit page. For example, to change the size of the input box of the email field from 24 to 48, follow the step below

     Step 1 
    Find the following code in web/codelib/asc/df.fl.address.inc.php.
    'email'=>array(
    XA_CLASS=>'CVEmail',
    XA_CAPTION=>RSTR_EMAIL,
    XA_SIZE=>24,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>100,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(sp)(sr)(fd)'
    ),
    Make the following modification (the BLUE text) like shown below. (1 location)
    'email'=>array(
    XA_CLASS=>'CVEmail',
    XA_CAPTION=>RSTR_EMAIL,
    XA_SIZE=>48,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>100,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(sp)(sr)(fd)'
    ),
     Done! 

    Top
    Resizing Column Size (Field Size)

    Do you need to make the size of a field larger/smaller? The following guide will show you an example for changing the size of a field. In this guide, you change the size of the email field from 100 chars to 200 chars.

     Step 1 
    Use phpMyAdmin to change the size of "email" field of the table, tbl_address to 200 chars.

    If you prefer to use a sql statement, use the following command:
    ALTER TABLE `tbl_address` CHANGE `email` `email` VARCHAR( 200 ) DEFAULT NULL;
     Step 2 
    Find the following code in web/codelib/asc/df.fl.address.inc.php.
    'email'=>array(
    XA_CLASS=>'CVEmail',
    XA_CAPTION=>RSTR_EMAIL,
    XA_SIZE=>24,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>100,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(sp)(sr)(fd)'
    ),
    Make the following modification (the BLUE text) like shown below. (1 location)
    'email'=>array(
    XA_CLASS=>'CVEmail',
    XA_CAPTION=>RSTR_EMAIL,
    XA_SIZE=>24,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>200,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(sp)(sr)(fd)'
    ),
     Done! 

    Top
    Copying a Field

    Do you need another field similar to an exsiting field in the script? If so, the following step-by-step guide will help you. In this guide, you will add a copy of the email field to the script. Let's call it "email2."

     Step 1 
    Use phpMyAdmin to create a new field named "email2" in the table, tbl_address. The attributes of the email2 field should be exactly the same as the email field except the name.

    If you prefer to use a sql statement to create the email2 field, use the following statement:
    ALTER TABLE `tbl_address` ADD `email2` VARCHAR( 100 ) NULL AFTER `email`;
    		
     Step 2 
    Find the following code in web/codelib/asc/df.fl.address.inc.php.
    'email'=>array(
    XA_CLASS=>'CVEmail',
    XA_CAPTION=>RSTR_EMAIL,
    XA_SIZE=>24,
    XA_REQUIRED=>true,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>100,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(sp)(sr)(fd)'
    ),
    Copy the code above, paste it after the original, and make the following modifications (the BLUE text) shown below. (2 locations)
    'email2'=>array(
    XA_CLASS=>'CVEmail',
    XA_CAPTION=>'My New Email2',
    XA_SIZE=>24,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>100,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(sp)(sr)(fd)'
    ),
     Step 3 
    Find the following code in web/staff/tpl.address.detail.inc.php.
    <tr>
    <td class='column_caption'>
    <?php if ( $b_reg || $b_edit ) { ?><span class="required"></span><?php } ?>
    <?php echo RSTR_EMAIL; ?> :
    </td>
    <td class='column_value'><?php echo $hm->Zb('rs:def:email'); ?>
    </td>
    </tr>
    Copy the code above, paste it after the original, and make the following modifications (the BLUE text) shown below. (2 locations)
    <tr>
    <td class='column_caption'>
    <?php if ( $b_reg || $b_edit ) { ?><span class="required"></span><?php } ?>
    My New Email2 :
    </td>
    <td class='column_value'><?php echo $hm->Zb('rs:def:email2'); ?>
    </td>
    </tr>
     Done! 
    Log in the staff area and check the detail page of one of address records. You will see the email2 field and it's ready to use!

    Optionally, you can add the email2 field to the Search page.
    To add it as a search criteria, see Adding a Search Criteria.
    To display it in the Search Results table, see Adding a Field to Search Results table.

    Top
    Adding a Search Criteria

    The following steps guide you add a search criteria to the Search page. Let's use the street1 field as an example.

     Step 1 
    Find the following code in web/codelib/asc/df.fl.address.inc.php.
    'street1'=>array(
    XA_CLASS=>'CVText',
    XA_CAPTION=>RSTR_STREET1,
    XA_SIZE=>40,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>100,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(fd)'
    ),
    Insert the BLUE text like shown below. (1 location)
    'street1'=>array(
    XA_CLASS=>'CVText',
    XA_CAPTION=>RSTR_STREET1,
    XA_SIZE=>40,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>100,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(sp)(fd)'
    ),
     Step 2 
    Find the following code in web/staff/tpl.address.search.inc.php.
    <!-- [BEGIN] Main Form -->
    <div id="main_div">

    <?php include(INC_FORM_BEGIN); ?>

    <?php include(INC_BODY_INFO); ?>

    <!-- [BEGIN] Search Criteria -->
    <?php echo $hm->SectBegin( RSTR_SEARCH_CRITERIA ); ?>

    <div style='overflow:auto;'>
    <table width='99%'>


    Insert the BLUE text like shown below. (1 location)
    <!-- [BEGIN] Main Form -->
    <div id="main_div">

    <?php include(INC_FORM_BEGIN); ?>

    <?php include(INC_BODY_INFO); ?>

    <!-- [BEGIN] Search Criteria -->
    <?php echo $hm->SectBegin( RSTR_SEARCH_CRITERIA ); ?>

    <div style='overflow:auto;'>
    <table width='99%'>

    <tr>
    <td align="right"><?php echo RSTR_STREET1; ?> : </td>
    <td align="left"><?php echo $hm->Zb( 'sp:def:street1' ); ?></td>
    <td align="right">&nbsp;</td>
    <td align="left">&nbsp;</td>
    <td align="right">&nbsp;</td>
    <td align="left">&nbsp;</td>
    </tr>



     Done! 

    Top
    Adding a Field to Search Results table

    The following instruction explains how to display a field in the Search Results table. We use the street1 field as an example.

     Step 1 
    Find the following code in web/codelib/asc/df.fl.address.inc.php.
    'street1'=>array(
    XA_CLASS=>'CVText',
    XA_CAPTION=>RSTR_STREET1,
    XA_SIZE=>40,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>100,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(fd)'
    ),
    Insert the BLUE text like shown below. (1 location)
    'street1'=>array(
    XA_CLASS=>'CVText',
    XA_CAPTION=>RSTR_STREET1,
    XA_SIZE=>40,
    XA_REQUIRED=>false,
    XA_MIN_CHAR=>0,
    XA_MAX_CHAR=>100,
    XA_SEARCH_OP=>'s%',
    XA_LIST=>'(sr)(fd)'
    ),
     Step 2 
    Find the following code in web/staff/tpl.address.search.inc.php.
    <tr class='data_table_caption'>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:address_id'); ?> <?php echo RSTR_ADDRESS_ID; ?></th>
    <th><?php include(INC_SR_SELREC_HEADER); ?></th>
    <th><?php include(INC_SR_EDIT_BTN_HEADER); ?></th>
    <th><?php echo RSTR_ACTIVE; ?></th>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:first_name'); ?> <?php echo RSTR_FIRST_NAME; ?></th>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:last_name'); ?> <?php echo RSTR_LAST_NAME; ?></th>
    <th><?php echo RSTR_CITY; ?></th>
    <th><?php echo RSTR_STATE; ?></th>
    <th><?php echo RSTR_EMAIL; ?></th>
    </tr>


    Insert the BLUE text like shown below. (1 location)
    <tr class='data_table_caption'>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:address_id'); ?> <?php echo RSTR_ADDRESS_ID; ?></th>
    <th><?php include(INC_SR_SELREC_HEADER); ?></th>
    <th><?php include(INC_SR_EDIT_BTN_HEADER); ?></th>
    <th><?php echo RSTR_ACTIVE; ?></th>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:first_name'); ?> <?php echo RSTR_FIRST_NAME; ?></th>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:last_name'); ?> <?php echo RSTR_LAST_NAME; ?></th>
    <th><?php echo RSTR_CITY; ?></th>
    <th><?php echo RSTR_STATE; ?></th>
    <th><?php echo RSTR_EMAIL; ?></th>
    <th>Street1</th>
    </tr>

     Step 3 
    Find the following code in web/staff/tpl.address.search.inc.php.
    <?php while( $hm->zb('@rs:def:begin_table') ) { ?>
    <tr>
    <td style='text-align:right;'><?php echo $hm->Zb('rs:def:address_id'); ?></td>
    <?php include(INC_SR_ID_PARAM); ?>
    <?php include(INC_SR_SELREC); ?>
    <?php include(INC_SR_EDIT_BTN); ?>
    <td style='text-align:center;'><?php echo $hm->Zb('rs:def:active'); ?></td>
    <td style='text-align:left;'><?php echo $hm->Zb('rs:def:first_name'); ?></td>
    <td style='text-align:left;'><?php echo $hm->Zb('rs:def:last_name'); ?></td>
    <td style='text-align:left;'><?php echo $hm->Zb('rs:def:city'); ?></td>
    <td style='text-align:left;'><?php echo $hm->Zb('rs:def:state'); ?></td>
    <td style='text-align:left;'><?php echo $hm->Zb('rs:def:email'); ?></td>
    </tr>

    Insert the BLUE text like shown below. (1 location)
    <?php while( $hm->zb('@rs:def:begin_table') ) { ?>
    <tr>
    <td style='text-align:right;'><?php echo $hm->Zb('rs:def:address_id'); ?></td>
    <?php include(INC_SR_ID_PARAM); ?>
    <?php include(INC_SR_SELREC); ?>
    <?php include(INC_SR_EDIT_BTN); ?>
    <td style='text-align:center;'><?php echo $hm->Zb('rs:def:active'); ?></td>
    <td style='text-align:left;'><?php echo $hm->Zb('rs:def:first_name'); ?></td>
    <td style='text-align:left;'><?php echo $hm->Zb('rs:def:last_name'); ?></td>
    <td style='text-align:left;'><?php echo $hm->Zb('rs:def:city'); ?></td>
    <td style='text-align:left;'><?php echo $hm->Zb('rs:def:state'); ?></td>
    <td style='text-align:left;'><?php echo $hm->Zb('rs:def:email'); ?></td>
    <td style='text-align:left;'><?php echo $hm->Zb('rs:def:street1'); ?></td>
    </tr>

     Done! 

    Top
    Adding Sort Buttons

    This section will explain how to add sort buttons on the header of Search Result Table.

    You already have sort buttons on First Name and Last Name, so let's try the City field.

     Step 1 
    Find the following code in web/staff/tpl.address.search.inc.php.
    <tr class='data_table_caption'>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:address_id'); ?> <?php echo RSTR_ADDRESS_ID; ?></th>
    <th><?php include(INC_SR_SELREC_HEADER); ?></th>
    <th><?php include(INC_SR_EDIT_BTN_HEADER); ?></th>
    <th><?php echo RSTR_ACTIVE; ?></th>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:first_name'); ?> <?php echo RSTR_FIRST_NAME; ?></th>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:last_name'); ?> <?php echo RSTR_LAST_NAME; ?></th>
    <th><?php echo RSTR_CITY; ?></th>
    <th><?php echo RSTR_STATE; ?></th>
    <th><?php echo RSTR_EMAIL; ?></th>
    </tr>


    Insert the BLUE text like shown below. (1 location)
    <tr class='data_table_caption'>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:address_id'); ?> <?php echo RSTR_ADDRESS_ID; ?></th>
    <th><?php include(INC_SR_SELREC_HEADER); ?></th>
    <th><?php include(INC_SR_EDIT_BTN_HEADER); ?></th>
    <th><?php echo RSTR_ACTIVE; ?></th>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:first_name'); ?> <?php echo RSTR_FIRST_NAME; ?></th>
    <th nowrap='true'><?php echo $hm->Zb('ob:rs:def:last_name'); ?> <?php echo RSTR_LAST_NAME; ?></th>
    <th><?php echo $hm->Zb('ob:rs:def:city'); ?> <?php echo RSTR_CITY; ?></th>
    <th><?php echo RSTR_STATE; ?></th>
    <th><?php echo RSTR_EMAIL; ?></th>
    </tr>

     Done! 

    Monday, March 4, 2013

    Bug Fix : Address Book Builder 1.2

    Description: This is a bug introduced in Address Book Builder v1.2. In some builds, some of data columns of the search result table get cut off. ( Thank you for reporting, Mikitty! )
    Status: Fixed

    Thursday, February 28, 2013

    Pickup Center Update : Popup Info Card

    Added popup info cards to Pickup Center. When you hover the mouse cursor over a script box, a small window pops up and displays the list of fields used in a script.

    Friday, February 22, 2013

    Address Book Builder v1.1 Update

    Address Book Builder was updated to v1.1. The new version of Address Book Builder allows you to choose a field type from an input box, textarea, checkbox and dropdown listbox.

    Also, you can name the table as you like. ( In the previous version, the name of the table is always "address" )

    Monday, January 21, 2013

    Address Book Builder v1.0 Now Available Online

    Address Book Builder allows you to generate a web-based Address Book Script ( PHP + MySQL ), which you can install on your web site.

    Just enter a title and a list of fields you would like to have. Address Book Builder will generate the PHP code for you.

    Since you can specify fields freely, the application is not limited to address books. You can use Address Book Builder to create scripts that store a member list, customer list, employee list or any lists you can imagine.

    Friday, December 14, 2012

    A new section, 'Adding Sort Buttons' was added to Customization Quick Guide

    Sunday, December 9, 2012

    The new section, 'Editing a Field Label' was added to Customization Quick Guide

    Tuesday, December 4, 2012

    An easy alternative way to upgrade Address Book Script v1.16 to v1.17

    To upgrade Address Book Script v1.16 to v1.17, you don't need to reinstall the entire script again.

    Download this zip file and replace "web/codelib/asc/df.fl.address.inc.php" in your copy of Address Book Script (v1.16) with "web/codelib/asc/df.fl.address.inc.php" in the zip package.

    Monday, December 3, 2012

    Address Book v1.17

    Bugfix: Fix duplicate string resources.