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 Script

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.

    Ajax Fileup Addon
    for Address Book Script

    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 Matthew Sarino
    1405742155

    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
    1405774786

    > 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
    1405524523

    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
    1405584823

    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
    1405428334

    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
    1405492882

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

    Is possible translate? Help?
    Posted by Tom
    1405492739

    >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
    1405184601

    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
    1405360806

    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
    Posted by Serg
    2014-06-30

    How to allow staffs to view his/her own records only, but admins to view all records?
    Posted by Tom
    2014-07-03

    Hi Serg,

    >How to allow staffs to view his/her own records only, but admins to view all records?

    I think Lead Follow-Up script is what you are looking for.
    http://www.phpkobo.com/lead_follow_up.php
    Posted by Michal
    2014-06-30

    Hi,

    i have a question, how make related dropdown list like:

    color >> red / blue / etc
    size >> 40 / 41 / 42

    One dropdown list as parent, so when we choose first type then apperas other details to ... Read More
    Posted by Tom
    2014-06-30

    You can do it with javascript. When you add the javascript to the template, probably you need to assign an id to select the element. To assign an ID , add "ZB_ATTR" to the placeholder like this.

    ... Read More
    Posted by Kelton Joyner
    2014-06-29

    Tom.
    I copied the staff folder and renamed it guest then made the changes suggested to S. Samatha on 2014-04-27.
    Next, replace $spec_sys_base with the following code:

    $spec_sys_base = array( ... Read More
    Posted by Tom
    2014-06-30

    >click on Logout I get this error

    It makes sense. You already removed the login/logoff feature, so the logoff link shouldn't work. Please remove the top menu from the template.

    To prevent ... Read More
    Posted by Nidhin
    2014-06-23

    Thanks for your previous support.
    Also I want to know How to disable edit option in Staffs. Only admin can add/edit. For Staffs, read only right is more.
    Posted by Tom
    2014-06-24

    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 Nidhin
    2014-06-21

    Hi,
    How to change its template? Thanks in advance
    Posted by Tom
    2014-06-21

    Hi Nidhin,

    >How to change its template?

    Open web/staff/ folder and you see files whose name begins with tpl. They are the template files for the admin panel. Feel free to edit them.
    Posted by charles
    2014-06-19

    I like the multi delete capability and want to add to this menu bar if possible. Do you have any code allowing for updating fields in selected records from this bar using a field with a Submit button ... Read More
    Posted by Tom
    2014-06-20

    >Do you have any code allowing for updating fields in selected records from this bar

    Sorry, I don't have it.
    Posted by VGRs1
    2014-06-17

    Dear Tom
    Thank you very much for your immediate response . It was very helpful. It is perfect .

    Keep up good work
    Posted by Tom
    2014-06-17

    All right!
    Posted by VGRs1
    2014-06-16

    Hello again Tom
    unluckily the solution didn't work , or maybe it's my mistake , (although it's very easy just a copy) . Is there any other "trick" ?

    Thank's again.


    (I did this
    Try this. Open ... Read More
    Posted by Tom
    2014-06-16

    OK then probably some other php files in the same web site are overwriting php session files.
    You can have a separete session folder for the script so other scripts won't overwrite it.
    To do so, ... Read More
    Posted by pttla
    2014-06-15

    I will try that..
    BY the way
    can you add Captcha when make a new short URL
    Thank you very much
    Posted by Tahmidul
    2014-06-15

    i want to publish my address book for public visitors,,,
    how can i do that???
    Posted by Tom
    2014-06-16

    Hi Tahmidul,
    The first step is copy the staff folder and rename it as something like "guest" The "guest" folder now works exactly the same way as "staff" folder does. Feel free to remove anything you ... Read More
    Posted by Sonu
    2014-06-13

    Hii Tom, is there any option to add date calender in search box and in ADD NEW field to sorting addresses by date
    Posted by Tom
    2014-06-13

    Hi Sonu,

    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 ... Read More
    Posted by Daniel
    2014-06-13

    Another thing, is there a way to switch an input box to a drop down and allow multiple choices?
    Posted by Tom
    2014-06-13

    Hi, you can convert an text input box to a dropdown but it's not multiple choice. To have a multiple choice list box, you need to write new code & add it to the script, which takes some effort. If ... Read More
    Posted by Daniel
    2014-06-12

    Hi there, is there any way to add dropdown list and have have it to allow multiple choices and have php treat it like an array of strings like selection1; selection2; etc ...?
    Posted by Tom
    2014-06-13

    >is there any way to add dropdown list and have have it to allow multiple choices

    No, the script doesn't have the field like that. The closest one is just adding many checkboxes.
    Posted by VGRs1
    2014-06-12

    Hi Tom
    sorry to bother you again . I would like to help me in this :
    I connect to my base and it goes grate but if I don't make a "movement" for a while the session close and I must reconnect. Is ... Read More
    Posted by Tom
    2014-06-12

    Try this. Open web/staff/index.php in a text editor and put this line on the top.
    ini_set('session.gc_maxlifetime', 24*60*60);
    It should be after <?php, so the result should look like this
    ... Read More
    Posted by Michael
    2014-06-11

    Thank you for all your help.
    Posted by Tom
    2014-06-11

    You are welcome : )
    Posted by Michael
    2014-06-10

    Hi Tom, I have a solution to the being able to view and search but not add or delete.

    Can we not disable the display of the add and delete buttons, and leave it at that for now ? Thats seems to be ... Read More
    Posted by Tom
    2014-06-10

    You can remove any buttons from the template, web/staff/tpl.(table-name).search.inc.php but some people know how to execute the backend code without buttons. So, you should first disable the backend ... Read More
    Posted by Michael
    2014-06-10

    Hi Tom I don't know if this is a dumb question but here goes.

    Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the ... Read More
    Posted by Tom
    2014-06-10

    Open web/staff/index.php and put date_default_timezone_set function on the top like this:
    <?php
    date_default_timezone_set('Europe/Paris');
    You need to replace 'Europe/Paris' with your time zone. ... Read More
    Posted by Michael
    2014-06-10

    Wonderful. Wonderful. Wonderful.
    After some brief sorting out of things its up and running.
    Posted by Tom
    2014-06-10

    Great!
    Posted by Michael
    2014-06-09

    Hello Tom. Do you have an ETA for the patch to PHP 5.5.x for the install app. I would really like to try your apps but can't it installed. Any tips or guidance ?
    Posted by Tom
    2014-06-09

    Hi Michael,

    >Do you have an ETA for the patch to PHP 5.5.x for the install app.

    Open web/install/app/lib.inc.php in a text editor and find the following code ( near the top of the file )
    ... Read More
    Posted by Tom
    2014-06-03

    This is a reply to charles

    To allow users to view his/her own records only, insert these lines to web/staff/app/cls_ps_addresses.inc.php

    ... Read More
    Posted by David
    2014-06-03

    Hi Tom your work is totally assume. I have one seemly dumb question. To give my form a little more pizzazz I would like to change the background colour to a jpg file. I've look in the css file but I ... Read More
    Posted by Tom
    2014-06-03

    Hi David,
    >I would like to change the background colour to a jpg file.

    If I remember correctly, I used only png and gif files. You can find png/gif files in web/staff/images folder.
    Posted by JoeMac
    2014-05-29

    Hi Tom, I would like to start by saying Thank you for sharing, you have made my life a lot easier...

    I'm looking to change the layout of the form. What I would like is to have items run parallel to ... Read More
    Posted by Tom
    2014-05-30

    Hi Joe,

    >I seen an earlier post were you suggested to edit the template, web/staff/tpl.(table-name).detail.inc.php

    Yes, that's correct.

    >I've done that and nothing has changed.

    Yes it should ... Read More
    Posted by John
    2014-05-29

    Hi Tom, I was wondering if it is possible for each staff to have his own lists? The others will not see the lists each other.

    Thanks
    Posted by Tom
    2014-05-30

    Hi John,

    >I was wondering if it is possible for each staff to have his own lists?

    Yes, it's possible. Check out "Lead Follow-Up Database." It may give you some ideas about how to implement the ... Read More
    Posted by c
    2014-05-29

    I have a number of users (staff) that I've added and as you know each of these have staff_Id. I would like the search form for customers to automatically use the staff_Id as a search parameter when ... Read More
    Posted by Tom
    2014-05-30

    First, create a search input box for staff_id and make sure you can select the customer records with a particular staff_id. Then assign the staff_id of the logged user to the search input box, so the ... Read More
    Posted by charles - 58000 records
    2014-05-25

    I didn't change any code for the IDs but it's even weirder than I thought. I clicked through roughly 200 pages and it's not consistent. I have screenshots and will send them to your email that you ... Read More
    Posted by Tom
    2014-05-26

    OK, I PMed you.
    Posted by LHammonds
    2014-05-25

    I just did a derive of Address Book Mini 1.18, updated the database info and uploaded to my Apache server, did the install script and BAM! Instant app and working app. Thank you so much. What you ... Read More
    Posted by Tom
    2014-05-25

    You are welcome!
    Posted by charles
    2014-05-25

    I imported 58000 records into the database. confirmed the ID field is unique for each record. While the app shows there are 58000 unique records the ID field resets to 1101 once you get to 153xx ... Read More
    Posted by Tom
    2014-05-25

    >the ID field resets to 1101 once you get to 153xx records, not the database, the number shown in the webpage

    That's very weird. I don't think I can reproduce it. "1101" looks so arbitrary. Did you ... Read More
    Posted by Bhushan
    2014-05-24

    I am not able to install it properly, please help
    Posted by Tom
    2014-05-25

    Hi Bhushan, Would you briefly describe the problems you encountered?
    Posted by philip
    2014-05-21

    thanks for sharing! GBU
    Posted by Tom
    2014-05-23

    You are welcome!
    Posted by charles
    2014-05-16

    Tom,

    Have you ever added sub-menus to the main menu so that a menu item could have a pulldown for other pages?
    Posted by Tom
    2014-05-17

    >Have you ever added sub-menus to the main menu so that a menu item could have a pulldown for other pages?

    Whenever I need sub-menus, I replace the entire menu ( in ... Read More
    Posted by mike
    2014-05-13

    Hello,

    Whats the simplest way possible to add a Guest Login or a Public Viewing of the address book list. Something where someone can't add or delete options?
    Posted by Tom
    2014-05-14

    Hi Mike,

    > a Public Viewing of the address book list.

    There isn't a turn key solution but I think many users modified it successfully. The first step is copy the staff folder and rename it as ... Read More
    Posted by charles
    2014-05-09

    images in database <cont>

    I also use it as the contact manager for our clients. I would think someone wanting to use this great tool for members or contacts would find attaching pics for each ... Read More
    Posted by Tom
    2014-05-12

    >>www.thefarmerindale.com
    Wow that's one nice looking site!
    Posted by charles
    2014-05-09

    Images in database thread

    I have converted the app to be used to manage our farm (livestock, clients, produce). There are inventory items in my shopping cart that have pics. I am using the app as ... Read More
    Posted by Grant
    2014-05-08

    Thanks Tom worked great.
    Posted by Tom
    2014-05-09

    You are welcome!
    Posted by charles
    2014-05-08

    Separate question on image upload to address book. I have created a field as blob in my table. I don'd find a class anywhere that defines a field to handle bitmaps and such. CVxxxx in the Sys folder? ... Read More
    Posted by Tom
    2014-05-09

    You are right, I haven't written the blob class. Never thought there was a demand for it. You are the first person who mentioned it. Do you really need to put images in a database? Maybe you are ... Read More
    Posted by Charles
    2014-05-08

    I guess I should have stated it correctly on the search form. That would be a roster of clients with active orders. Editing a client to the details page would reveal orders and the line items in each ... Read More
    Posted by Tom
    2014-05-09

    Hi, in the current version, joining tables is not implemented. It's already in my to-do list, though.
    Posted by Charles
    2014-05-08

    Tom,

    Here a sql statement that I use in my current solution that I want to migrate to your address book.

    $rs = mysql_query("select * from cart inner join items on cart.itemId = items.itemId where ... Read More
    Posted by Grant
    2014-05-08

    Hi
    Fantastic script I was just wondering if it was possible to change the output of one of the text fields such as email to be a clickable URL i.e. mailto:N@N.com or http//.
    Thanks
    Posted by Tom
    2014-05-08

    Hi Grant,

    >wondering if it was possible to change the output of one of the text fields such as email to be a clickable

    First, you need this helper function. Open web/staff/common.inc.php in a ... Read More
    Posted by Tom
    2014-05-05

    Feature request or how to if preferred.

    I have modified the app to do all that I want but I need 1 more feature that I think would be useful for others. The ability to create a form but use ... Read More
    Posted by Tom
    2014-05-06

    Hi Tom,

    Yes, joining tables is very important. I definitely want to implement it in Address Book script. The only problem is there are many ways to join tables. I don't want to ask users to write ... Read More
    Posted by dengyi
    2014-05-04

    Hi

    The problem 'The mysql extension is deprecated and will be removed in the future : use mysqli or PDO instead' happened when I run the install script on PHP 5.5. Can you update your script builder?
    Posted by Tom
    2014-05-05

    Hi dengyi,

    >The problem 'The mysql extension is deprecated and will be removed in the future : use mysqli or PDO instead' happened when I run the install script on PHP 5.5.

    The script specifies ... Read More
    Posted by Usman
    2014-05-03

    Hi

    Sir how can i access the Companies Address Book Builder as i want to add different fields but i am unable to find any option to add fields
    Posted by Tom
    2014-05-05

    Hi Usman,

    >how can i access the Companies Address Book Builder as i want to add different fields but i am unable to find any option to add fields

    Just click the "drive" link next to the "download" ... 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.