2,401

(86 replies, posted in Modules Add-on's)

Use Firebug in Firefox. Choose to submit an FA Form to a dummy POST page ( <?php echo print_r($_POST, true); ?> ) that will display the parameters and form values.

Attached is the set of SQLs that get executed for a Direct Sales Invoice being entered from the Web UI. There is a split up of the sqls into a Sales Order, a Delivery, An Invoice and a Customer Payment for the same - all of which makes for a Direct Cash Sales Invoice.

2,402

(86 replies, posted in Modules Add-on's)

The Slim 2.x framework with some examples are provided along with links in the hello.php file in the attachment.

2,403

(2 replies, posted in Installation)

Security.

Reported in the Mantis BugTracker as issue #4082.

On a fresh install of FA 2.4.3 on WinXPSP3/XAMPP 1.73/PHP 5.3.1, we find that the "@" prefixing some function calls do not supress errors in the FA /tmp/errors.log. Here are a few errors that arose:

session.inc:440:[before upgrade] include_once(./tmp/faillog.php) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory
session.inc:440:[before upgrade] include_once() [<a href='function.include'>function.include</a>]: Failed opening './tmp/faillog.php' for inclusion (include_path='.;\XAMPP\php\PEAR')
session.inc:490:[before upgrade] include(./company/0/installed_extensions.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory
session.inc:490:[before upgrade] include() [<a href='function.include'>function.include</a>]: Failed opening './company/0/installed_extensions.php' for inclusion (include_path='.;\XAMPP\php\PEAR)
hooks.inc:238:[before upgrade] Invalid argument supplied for foreach()
current_user.inc:735:[before upgrade] opendir(./company/0/js_cache/0) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: No such file or directory
session.inc:440:[before upgrade] include_once(./tmp/faillog.php) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory
session.inc:440:[before upgrade] include_once() [<a href='function.include'>function.include</a>]: Failed opening './tmp/faillog.php' for inclusion (include_path='.;\XAMPP\php\PEAR')

Each time we logout of FA, the following gets logged (date/time prefix removed) in the FA /tmp/errors.log:

logout.php:50:[before upgrade] session_destroy() [<a href='function.session-destroy'>function.session-destroy</a>]: Session object destruction failed

These entries are the result of failure to respect the "@" prefixing the session_destroy() function used therein. Such entries, however, can be leveraged by any log parsing program to monitor logout events.

Just checked all instances of the check_db_has_XXXX() usage in such files  - they are all called after the page() call. It is also so in FA 2.3. Wonder what prompted the change in FA 2.4 to error out thus.

@notrinos: nice eagle eye!
@joe: Thanks for the clarifications.

Isn't it better to implement it likecheck_db_has_customers()inincludes/data_checks.incand as used insales/customer_payments.phpandsales/manage/customer_branches.php? That is how it is now after the commit!

Attached is the latest en_IN-new.sql Indian Chart of Accounts. It is committed in my FA24extensions repo.

@joe: can update the pkg repo.

The check must be called before displaying the page so that any alerts can be shown in it. It should degrade gracefully on no suppliers.

Does this happen for attempting a new sales Direct Invoice when there are no customers?

2,409

(1 replies, posted in Modules Add-on's)

That code and info is for a dated version of FA 2.3.x and needs to be modified for FA 2.4.x. That file was available for fallback purposes in FA 2.3 and stands renamed as

includes/lang/gettext.inc

(the earlier php extension was changed) in FA 2.4. You can alter the include file in the extension to refer to it accordingly. The said file is included in

includes/lang/language.inc

(also so renamed from FA 2.3).

2,410

(86 replies, posted in Modules Add-on's)

You can export out your invoices in CSV format and import it into FA using the Import Transactions module.

Some REST APIs are listed in the Wiki.

To use any REST API (Simple REST API) for live Invoice synch you need to locate the Direct Invoice page and identify the fields needed. Then acquire those equivalent field values for each invoice in your DOT NET and post it to the REST API or with the necessary pre-requisite credentials and hidden field values (CSRF token), you can post directly into FA. This post may be of interest.

2,411

(4 replies, posted in Reporting)

Refer this page in the wiki for Arabic Fonts in FA and this post. The line number is 157 in FA 2.4 in reporting/includes/class.pdf.inc needs to be edited to reference your font.

2,412

(9 replies, posted in Announcements)

The efforts of the last few weeks that led to this release is fantastic.

The forum activity has been summarised and attached.

The forum continues to receive spam (40% of all email verified registrations) and timely manual monitoring and quick remedial  intervention on the part of the devs and conscientious users have kept it relatively clean.

12% of all downloads from SourceForge in the last 3 months are from India as on date. The Spoken Tutorial project's FA Videos and Workshops in India have contributed to it's gaining popularity in India.

Thank you one and all for keeping the FA flag up and waving.

2,413

(4 replies, posted in Reporting)

See this post and this wiki page.

In FA 2.4, the lines are 120-122 in reporting/includes/class.pdf.inc.

2,415

(6 replies, posted in Modules Add-on's)

FA 2.4.x now has a few hidden fields in the login form apart from the ones listed in @elax previous post:

<input id="ui_mode" name="ui_mode" value="1" type="hidden">
..
..
<input name="_focus" value="user_name_entry_field" type="hidden">
<input name="_modified" value="0" type="hidden">
<input name="_confirmed" value="" type="hidden">
<input name="_token" value="iwyLHJUcoMkfRv8-ZpBQVwxx" type="hidden">

The _token field will come up on calling the login form and must be parsed out and submitted with the field values in cURL.

TOKENCODE=`curl -c my_session http://localhost/frontac24/ | sed -ne '/name="_token"/s/.*value="\([^"]*\)".*/\1/p'`

The following would log you in where your admin user's password is "secret":

curl -c my_session \
      -F 'user_name_entry_field=admin' \
      -F 'password=secret' \
      -F 'company_login_name=1' \
      -F 'ui_mode=1' \
      -F 'modified=0' \
      -F 'confirmed=1' \
      -F "_token=${TOKENCODE}" \
      -F '_focus=user_name_entry_field'  \
      http://localhost/frontac24/ > logged_in_page.txt

The file "logged_in_page.txt" will contain the html code for the FA's logged in page.

To study the parameters required for the Sales Summary Report:

curl -b my_session \
     -F 'Class=0' \
     -F 'REP_ID=114' \
     http://localhost/frontac24/reporting/reports_main.php > report_form.txt

To get the Sales Summary Report:

curl -b my_session \
     -F 'REP_ID=114' \
     -F 'PARAM_0=01/01/2015' \
     -F 'PARAM_1=10/31/2017' \
     -F 'PARAM_2=0' \
     -F 'PARAM_3=AutoSalesSummaryReport' \
     -F 'PARAM_4=0' \
     -F 'PARAM_5=0' \
     -F 'Class=0' \
     http://localhost/frontac24/reporting/rep114.php > Sales_Summary_Report.pdf

Now to logout:

curl -b my_session http://localhost/frontac24/access/logout.php? > logged_out_page.txt

The "logged_out_page.txt" will contain the html code for the logged out page.

2,416

(17 replies, posted in Modules Add-on's)

All themes and extensions have been updated with the __construct() syntax.

$module_name property of the hooks extended class in each extension has been made the extension folder name uniformly and used in the menu path formation.

2,417

(17 replies, posted in Modules Add-on's)

@barbarian: Thanks.
Committed.

The following files too will need to be checked in the extensions:

./auth_ldap/hooks.php:1
./auth_ldap/lib/Ldap.php:1
./auth_ldap/lib/ldap_authenticator.php:1
./hello_world/helloworld.php:1
./hello_world/hooks.php:1
./import_items/hooks.php:1
./import_multijournalentries/hooks.php:1
./import_paypal/hooks.php:1
./import_transactions/hooks.php:1
./import_transactions/includes/import_sales_cart_class.inc:2
./osc_orders/hooks.php:1
./repgen/hooks.php:1
./repgen/includes/repgen.inc:2
./rep_tax_cash_basis/hooks.php:1
./requisitions/hooks.php:1
./sgw_sales/generate_recurring_invoices.php:1
./sgw_sales/hooks.php:1
./sgw_sales/includes/common/DataMapper.php:1
./sgw_sales/includes/controller/GenerateRecurring.php:1
./sgw_sales/includes/db/GenerateRecurringModel.php:1
./sgw_sales/includes/db/SalesRecurringModel.php:1
./sgw_sales/vendor/composer/autoload_real.php:1
./sgw_sales/vendor/composer/autoload_static.php:1
./sgw_sales/vendor/composer/ClassLoader.php:1
./zen_import/hooks.php:1

and these theme files as well:

./exclusive/xpMenu.class.php:1
./exclusive_db/xpMenu.class.php:1

The class renderer in each theme do not have any constructor presently.

Check if it denotes Credit Note from Supplier, otherwise try a negative amount.

Journal Entry should be able to credit / debit just about any account isn't it?

Journal Voucher / Debit Note

Arabic Install Wizard translations are fully done.

Arabic, Hindi and Tamil Install Wizard files are attached.

2,421

(9 replies, posted in Announcements)

The set of files that can be used to overwrite their counterparts in an existing FA 2.4.2 installation to update it to FA 2.4.3 is attached herewith.

Tamil, Hindi and Arabic languages stand fully translated in the FA24extensions repo.
Tamil, Hindi and Arabic have their install wizards fully translated too in my repo.
See this post for details and downloads.

Post release commits are listed here.

Anyone upgrading from FA 2.4.2 to this version will need to manually apply the database fixes to every company as detailed in this post.

The core translation strings for Arabic, Hindi and Tamil have been fully translated for FA 2.4.3 as per this commit.

Hindi and Tamil Install Wizard translations too are complete.

2,423

(66 replies, posted in Modules Add-on's)

Should it not be part of the table then and use just 1 sql file?

2,424

(66 replies, posted in Modules Add-on's)

@notrinos: You have an update.sql and a similar update2.sql file in your module with the former having an extra line:

ALTER TABLE `0_gl_trans` ADD `payslip_no` INT(11) NOT NULL DEFAULT 0;

What is the reasoning / usage?

Commissions off the books or amount set aside for possible contractual reasons / bullying the supplier!
A special tax called "On Hold" can be made and on every such purchase invoice it can be credited to a special "Payable Account" from where it can be paid out to the real beneficiary.