ccustomizedMost parts of the application is customizable without completely rewriting the code.

Therefore making it easier to keep upgrading without redoing all the change you have done.

Keep in mind that you always have to check if your modifications are still working with the new release. So that it works with the program and not breaking it!

For each page there are the following functions.
Code in the custom folder of a module is save from updating but not always when you install a new module.

Before load.

Before the pages pre_process.php is called the program will try to call the extra_defines.php this file can contain extra variables or constants. If you output information at this stage you will get the error HEADER already sent. The file should be located inĀ  /modules/%module_name%/custom/pages/%page_name%/extra_defines.php (replace the %% with appropriate values). The functions in the file includes/common_functions.php and the classes in the includes/common_classes.php will be loaded and can be used.

Extra actions

Each pre_process.php will make a call to the extra_actions.php in this file you can add your own custom code. ie check if variables are set right like when for a inventory item the option add to webshop is selected that the webshop menu isn’t empty (for zencart module users). In that case you can halt the execution and prevent the user form saving.
this file should be located in the /modules/%module_name%/custom/pages/%page_name%/extra_actions.php

Custom Templates

When information is presented to the user. It will be displayed in a template. Some pages have multiple templates others only one. The same as with the previous two options you can create a copy of the template in the /modules/%module_name%/custom/pages/%page_name%/%template_name%.php. This will allow you to change the flow of the page.

Changing JavaScript

When there is a javascript function you want to change on a page you can do this by creating a file /modules/%module_name%/custom/pages/%page_name%/extra_js.php and copying the function over. Because this file will be lower on the page it will use try to use this function. When your function causes a error it will switch to the system default function, higher up the page. Keep in mind that the file you have created is a php file so you will have to start the page with

Custom Language

I assume that you have language files that contain your language but there are some fields that should be named different. Than you can overload the current version. Copy the file you want to change to /modules/%module_name%/custom/languages/%language_code%/%language_file%.php. And modify the line you want.

Custom Classes

Sinds release 3.5 we are trying to use more classes for the program. At (release 3.6) the moment you can create a copy of the processing class for the following modules contacts / inventory and phreepos. The class should be located in the /modules/%module_name%/custom/classes/%class_name%.php. Keep in mind that if the code in your class is broken it won’t fall back on the main class.

if the code isn’t returning results the way you hoped have a look in the error.log in the your files folder in case of java script have a look in the java script error console of your browser.

piecePhreeBooksR37RC1 / March 2015
Author – Charles

One of the USP’s of GPL’ed OpenSource software is the option to amend or add-to the existing code to suit your unique business needs.

If you do not have the capability / time / interest to customise yourself, please consider:

Support from PhreeSoft
Craigs List

e.g. (I was interested :))
a site specific Google search reveals (phreebooks site:<one of above>.com) : … sync-with/ … n-Dolphin/ … /18353285/ … /27207211/