PHP
Each of the purple diamonds represents PHP code that can be run in nuBuilder Forte and when.
eg. You might add this in AS - After Save of an invoice Browse and Edit Form.
$update = "UPDATE stock SET sto_units = sto_units - ? WHERE stock_id = ?" nuRunQuery($update, [$units, $stockId]);
- All of the AS BS BB and BE code blocks are for PHP only and are executed on the server-side.
- You can create and call a JavaScript routine ( nuJavaScriptCallback($string1) )
- All JavaScript to run on the client side should be done in the Custom Code of the object (most likely for the onclick that you're trying to do).
- Each field or label on the form has a Custom Code (click the OBJ button to see all the objects on your form) and so does the form itself (click the Prop button).
db_fetch_array
$object = db_fetch_array($object1)
Parameters
$object1 : nuRunQuery() result.
Return Value
$object : Returns an associative array of strings that corresponds to the fetched row, or FALSE if there are no more rows.
Description
A function for looping through the result of a SELECT query returned from nuRunQuery.
Example
$select = "SELECT cus_lastname FROM customer WHERE cus_city = ?"; $stmt = nuRunQuery($select, ['New York']); while($row = db_fetch_array($stmt)){ nuDebug($row['cus_lastname']. ' lives in New York.'); }
[0]: Robert Paulson lives in New York.
Also See :
db_field_names, db_fetch_row, db_fetch_object, db_num_rows, db_fetch_value, nuRunQuery, PDOStatement
db_fetch_object
$object = db_fetch_object($object1)
Parameters
$object1 : nuRunQuery() result.
Return Value
$object : PDO object
Description
A function for looping through the result of a SELECT query returned from nuRunQuery.
Example
$select = "SELECT emp_fullname FROM member WHERE nickname = ?"; $stmt = nuRunQuery($select, ['Bob']); while($row = db_fetch_object($stmt)){ nuDebug('His name is ' . $row->emp_fullname); }
[0]: His name is Robert Paulson
Also See :
db_field_names, db_fetch_array, db_fetch_row, db_fetch_value, db_num_rows, nuRunQuery
db_fetch_row
$object = db_fetch_row($object1)
Parameters
$object1 : nuRunQuery() result.
Return Value
$object : Returns an numerical array of strings that corresponds to the fetched row, or FALSE if there are no more rows.
Description
A function for looping through the result of a SELECT query returned from nuRunQuery.
Example
$select = "SELECT emp_fullname FROM member WHERE nickname = ?"; $stmt = nuRunQuery($select, ['Bob']); while($row = db_fetch_row($stmt)){ nuDebug('His name is ' . $row[0]); }
[0]: His name is Robert Paulson
Also See :
db_field_names, db_fetch_array, db_fetch_object, db_fetch_value, db_num_rows, nuRunQuery
db_fetch_value
$string = db_fetch_value($string1 ,$string2 ,$string3 ,$string4)
Parameters
$string1 : table name $string2 : primary key $string3 : record id $string4 : field name
Return Value
$string : a value from a table.
Description
Returns one value from a certain record's field value in a certain table.
If the function returns more or less than one row, it will return false.
Example
$v = db_fetch_value('customer', 'customer_id', '64555c358ef332c', 'cus_name'); nuDebug(db_num_rows($v));
[0]: Tyler Durden
Also See :
db_field_names, db_fetch_array, db_fetch_object, db_fetch_row, nuRunQuery, db_num_columns
db_field_names
$array = db_field_names($string1)
Parameters
$string1 : Database table name.
Return Value
$array : Field names.
Description
Returns an array of field names from a database table.
Example
$fields = db_field_names('customer'); nuDebug($fields);
[0]: Array ( [0] => customer_id [1] => cus_name [2] => cus_phone [3] => cus_address )
Also See :
db_fetch_array, db_fetch_object, db_fetch_row, db_fetch_value, db_num_rows
db_num_columns
$integer = db_num_columns($object1)
Parameters
$object1 : PDO object.
Return Value
$integer : Number of columns returned.
Description
The number of fields in the result from nuRunQuery.
Example
$stmt = nuRunQuery("SELECT * FROM customer"); nuDebug(db_num_columns($stmt));
[0]: 6
Also See :
db_field_names, db_fetch_array, db_fetch_object, db_fetch_row, db_fetch_value, nuRunQuery, db_num_rows
db_num_rows
$integer = db_num_rows($object1)
Parameters
$object1 : PDO object.
Return Value
$integer : Number of records returned.
Description
The number of records in the result from nuRunQuery.
Example
$stmt = nuRunQuery("SELECT * FROM customer"); nuDebug(db_num_rows($stmt));
[0]: 3453
Also See :
db_field_names, db_fetch_array, db_fetch_object, db_fetch_row, db_fetch_value, nuRunQuery, db_num_columns
nuAddJavaScript
nuAddJavaScript($js, $beforeCreated = false, $first = false)
Parameters
$js : JavaScript code to add. $beforeCreated : (optional) If true, adds JavaScript before form objects are created. $first : (optional) If true and $beforeCreated is also true, adds JavaScript at the very top before all other JavaScript.
Return Value
Description
Adds JavaScript code to a form's JavaScript section. By default, JavaScript is added after form objects are created and before it is run.
Example
// Basic usage $js = "console.log('Hello from nuBuilder!');"; nuAddJavaScript($js); // Example with options $js = "alert('This is at the top!');"; nuAddJavaScript($js, true, true);
// JavaScript added to the specified section of the form's JavaScript.
Also See :
Before Browse, Before Edit
nuDebug
nuDebug($anytype1, $anytype2..)
Parameters
$anytypes : string, object or array.
Return Value
Description
This function takes multiple parameters and creates a record that can be viewed by clicking nuDebug Results in the Options menu.
Each nuDebug record's first line will explain when or why it was created. There are 3 types...
- Procedure - 2017-11-03 06:52:02 - Procedure ABC line 1
- Event - 2017-11-03 06:58:08 - Before Edit of Form nuhome line 5
- SQL Error - 2017-11-03 06:58:09 - SQL Error in nuRunQuery
Example
$s = 'Hello world'; $a = [1,2,3,4]; $o = ['name' => 'Bob', 'phone' => '555 123456']; nuDebug($s, $a, $o); nuAddJavaScript($j);
[0] : Hello world [1] : Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) [2] : Array ( [name] => Bob [phone] => 555 123456 )
Also See :
Before Browse, Before Edit, Before Save,After Save, Before Delete, After Delete
nuDisplayError
nuDisplayError($string1)
Parameters
$string1 : error message.
Return Value
Description
This function adds an error message that will stop the Edit Form from saving or deleting the current record but will then display all generated error messages.
If any error messages are created in Before Save or Before Delete the current record will not be saved or deleted. eg.
- No messages - Continue to Save or Delete record.
- One or more messages - No not Save or Delete record.
If any messages are created in After Save or After Delete the current record will be saved or deleted and will display this message once saved.
(The green Yes or red No elements in the flowchart below.)
Example
nuDisplayError('That did not work!');
Also See :
Before Save, Before Delete, nuMessage, nuGetLastError
nuGetLastError
$object = nuGetLastError()
Parameters
Return Value
$object : Last error details.
Description
This function can be used to retrieve error details when running a query with nuRunQuery().
When you run a query with nuRunQuery() and the function returns -1, it means the query was not successful.To retrieve the error details as an object, you can call this function.
Example
$t = nuRunQuery('SELECT * FROM table_that_does_not_exist'); if ($t === -1) { $error = nuGetLastError(); nuDebug($error); }
[0] : stdClass Object ( [user] => globeadmin [message] => SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.table_that_does_not_exist' doesn't exist [sql] => SELECT * FROM table_that_does_not_exist [trace] => C:\xampp\htdocs\test\core\nucommon.php(1406) : eval()'d code - line 1 (nuRunQuery) C:\xampp\htdocs\test\core\nucommon.php - line 1406 (eval) C:\xampp\htdocs\test\core\nuform.php - line 21 (nuEval) C:\xampp\htdocs\test\core\nuform.php - line 1133 (nuBeforeBrowse) C:\xampp\htdocs\test\core\nuform.php - line 460 (nuBrowseColumns) C:\xampp\htdocs\test\core\nuapi.php - line 84 (nuGetFormObject) )
Also See :
nuDisplayError, nuDebug
nuGetURLParams
$array = nuGetURLParams()
Parameters
Return Value
$array : An associative array containing the parameters specified when index.php is called.
Description
This function returns an array with all of the parameters set via the URL for a session. The parameter 'p' (password) is not included in the array. If new parameters are set, or existing ones replaced, within the same session then nuGetURLParams() will return the full list with the latest values for those which are replaced.
Example
// These parameters are specified in the URL : index.php?country=CA&language=EN&project=187 $params = nuGetURLParams(); $country = $params['country'] ?? "not specified"; $language = $params['language'] ?? "not specified"; $project = $params['project'] ?? "not specified"; nuDebug("Country is $country", "Language is $language" , "Project is $project");
Country is CA; Language is EN; Project is 187
Also See :
Login : Parameter Passing in GET_URL
nuGlobalAccess
$boolean = nuGlobalAccess()
Parameters
Return Value
$boolean : true or false
Description
Returns true if a user with global access is logged in, otherwise false
Example
if(!nuGlobalAccess()){ nuDisplayError('Access denied!'); }
Also See :
nuSendEmail
$object = nuSendEmail($to, $from, $fromname, $content, $subject, $filelist, $html = false, $cc = "", $bcc = "", $reply_to_addresses = array())
Parameters
$to: (string) The email address of the primary recipient of the email. $from: (string) Optional. The email address that you want to appear as the sender in the email header. If left empty, the email address from Setup -> Email Settings is used as the sender's email address. $fromname: (string) Optional. The name that you want to appear as the sender in the email header. If left empty, the email address from Setup -> Email Settings is used as the sender's name. $content: (string) The body/content of the email message. If the $html parameter is set to true, you can include HTML content. $subject: (string) The subject line of the email message. $filelist: (array) Optional. An array of files to attach to the email message. If you do not want to send attachments, you must still supply an empty array here. Otherwise, the array should be in the following format: [$filename => $filesource]. $filename is the name of the file as it will appear in the email attachment, and $filesource is the path to the file on the server. $html: (bool) Optional. Whether or not to format the email message using HTML. If set to true, you can include HTML content in the $content parameter. $cc: (string) Optional. A comma separated-list of email addresses to include in the CC (carbon copy) field of the email message. $bcc: (string) Optional. A comma separated-list of email addresses to include in the BCC (blind carbon copy) field of the email message. $reply_to_addresses: (array) Optional. An array of email addresses to use as the reply-to address(es) for the email message. The array should be in the following format: [$to_address=>$to_name] or [$to_address]
Return Value
$object: If an error has occurred the function returns false, as well as the error message. The function will return true and a confirmation message of "Message sent successfully" will be returned.
Description
Sends an email using the settings stored in Setup -> Email Settings
Example
$r = nuSendEmail('to@test.com','from@test.com','From','Content','Subject', [], true, 'cc_email@test.com', 'bcc_email@test.com')
( [0] => 1 [1] => Message sent successfully [2] => [3] => )
Also See :
nuHash
$array = nuHash()
Parameters
Return Value
$array : list of Hash Cookies.
Description
Returns a list of Hash Cookies available to use in PHP.
Example
nuDebug(nuHash());
[0] : Array ( [USER_ID] => globeadmin [USER_GROUP_ID] => [HOME_ID] => [GLOBAL_ACCESS] => 1 [invoice_id] => s14919516899490 [record_id] => s14919516899490 [title] => Invoice // and more items... )
Also See :
nuDebug()
nuHasNewRecordID
$boolean = nuHasNewRecordID()
Parameters
Return Value
$boolean : true or false
Description
Matches #PREVIOUS_RECORD_ID# with #RECORD_ID# and returns true or false.
So that the user can tell if a record is being cloned.
Example
if(nuHasNewRecordID()){ nuUpdateCounter($r->zzzzsys_object_id); }
Also See :
nuHasNoRecordID
$boolean = nuHasNoRecordID()
Parameters
Return Value
$boolean : true or false
Description
Returns true if #RECORD_ID# = '-1' so that the user can tell if this is a new reecord.
Example
if(nuHasNoRecordID()){ nuUpdateCounter($r->zzzzsys_object_id); }
Also See :
nuGetFormProperties
$object = nuGetFormProperties($string1)
Parameters
$string1 = Primary Key
Return Value
$object : Form record.
Description
Returns a Form record as an object.
Example
nuDebug(nuGetFormProperties('nuuser'));
[0] : stdClass Object ( [zzzzsys_form_id] => nuuser [sfo_type] => browseedit [sfo_code] => nuuser [sfo_description] => User [sfo_table] => zzzzsys_user [sfo_primary_key] => zzzzsys_user_id [sfo_browse_redirect_form_id] => [sfo_browse_row_height] => 0 [sfo_browse_rows_per_page] => 15 [sfo_browse_sql] => SELECT * FROM zzzzsys_user LEFT JOIN zzzzsys_access ON zzzzsys_access_id = sus_zzzzsys_access_id ORDER BY sus_name [sfo_javascript] => )
Also See :
nuGetIPAddress
$myIP = nuGetIPAddress();
Parameters
Return Value
Description
Retrieves the IP address of the user's device.
Example
See Forum Post
{{{result}}}
Also See :
nuGetNuDataValue
$object = nuGetNuDataValue($nudata, $formId, $field)
Parameters
$nudata = array of form fields $formId = Form's ID $field = the field in the form
Return Value
$value : Form field value.
Description
Returns a Form's field value.
Example
{{{result}}}
Also See :
nuSetNuDataValue
$bool = nuSetNuDataValue(&$nudata, $formId, $field, $value)
Parameters
$nudata = array of form fields $formId = Form's ID $field = the field in the form $value = value to be set in the field of the form
Return Value
Boolean success or failure of the setting of the form field value
Description
Returns the success or failure of the field value set operation
Example
$nuMainForm = nuHash()['nuFORMdata'][0]->id; // Get the value of the object "not_title" $title = nuGetNuDataValue($nudata, $nuMainForm, 'not_title'); // Replace the value of the object "not_title" by adding a -test postfix: nuSetNuDataValue($nudata, $nuMainForm, 'not_title', $title . "-test");
Also See :
nuID
$string = nuID()
Parameters
Return Value
$string : random string.
Description
Creates a string from
- 1502690897383 - Date.now().
- 1012 - An incrementing number looping between 1000 and 9999.
Example
nuDebug(nuID());
[0] : 14998774211012
Also See :
nuTT, nuID
Before Save,After Save
nuJavaScriptCallback
nuJavaScriptCallback($string1)
Parameters
$string : JavaScript Code
Return Value
Description
Runs after nuRunPHPHidden() has returned from the server.
Example
$js = " nuMessage('<h1>It worked!</h1>');"; nuJavaScriptCallback($js);
Also See :
nuRunPHPHidden()
nuLookupRecord
$object = nuLookupRecord()
Parameters
Return Value
$object : every field from the selected (Browse Form's) record.
Description
Returns all fields from a selected Lookup record.
Example
nuDebug(nuLookupRecord()->ID); //-- the id of the chosen Lookup record. nuDebug(nuLookupRecord()); //-- all fields from then chosen Lookup's record - as well as ID.
[0] : 5a67739f464cd96 [1] : stdClass Object ( [company_id] => 58ade54dac2128b [com_code] => 777 [com_name] => 7 Up [com_business_id] => 568a00c77f8f709 [com_company_id] => [com_color_id] => 568ef5a6968322b#nuSep#568ef920846a089 [com_age] => 3 [com_notes] => [com_test] => )
Also See :
After Browse, nuSetFormValue
nuProcedure
$string = nuProcedure($string1)
Parameters
$string1 : Procedure Code
Return Value
$string : PHP Code with all Hash Cookies replaced
Description
Returns PHP code from a Procedure with all Hash Cookies replaced, ready to eval(). If the function does not exist, it returns an empty string.
Example
$p = nuProcedure('HW'); if ($p != '') { eval($p); }
Also See :
Before Browse,
After Browse,
Before Edit,
Before Save,
After Save,
Before Delete,
After Delete
nuReturnNewRecord
nuReturnNewRecord($string1 = -1)
Parameters
$string1 : record_id (if left blank this will return a blank record.)
Return Value
Description
When placed in the After Save Event, this sets the Edit Form to the record passed by $string1, ready for editing.
Example
nuReturnNewRecord(); or nuReturnNewRecord('5a72a0fce65fea2');
Also See :
After Save
nuRunProcedure
$boolean = nuRunProcedure($string1)
Parameters
$string1 : Procedure Code
Return Value
$boolean : Returns true if the procedure exists, otherwise false.
Description
Runs a nuBuilder Procedure
Example
nuRunProcedure('procedure_code');
Also See :
Before Browse,
After Browse,
Before Edit,
Before Save,
After Save,
Before Delete,
After Delete
nuRunQuery
This function is to be used to access the database. If it is passed a SQL statement it will prepare the statement and then execute it. The results of the query can be fetched using the db_fetch_ family of functions below.
If the SQL statement is not defined or no parameters are passed to the function, then an array containing information about the database is returned such as:
- The database host
- The name of the database
- The username for the database.
- The password for the user to access the database.
Array ( [0] => 127.0.0.1 [1] => site_c [2] => root [3] => root123 )
The statement template can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed. The variables array must have the values to be used for each (:name) or ? in the query.
$object = nuRunQuery([$sql = $string1] [, $variables = array()] [,$isInsert = false]);
Parameters
$string1 : The SQL query to run. $variables : An array of values that will replace ?s. $isInsert : Set to true for insert queries.
Return Value
If $isInsert is set to true and the primary key is set to auto-increment, it returns the id of the last inserted entry. If $isInsert is set to true and no auto-increment primary key is used, it returns 0 if the insert was successful, otherwise -1 (in case of a duplicate entry, invalid syntax etc.) Else, returns the results of the SQL query as a $object : PDO object.
Description
Runs an SQL query and returns an Object (for SELECT Statements).
This Object can be used by db_fetch_object, db_fetch_array, db_fetch_row, db_num_rows
Example
// 1. Select statement $s = "SELECT cus_address FROM customer WHERE customer_id = ?"; $t = nuRunQuery($s, array('#LOOKUP_RECORD_ID#')); if (db_num_rows($t) == 1) { $r = db_fetch_object($t); nuSetFormValue('inv_address', $r->cus_address); } // 2. Insert statement $insertSql = " INSERT INTO `message` (`subject`, `body`, `date_sent`) VALUES (:subject, :body, :date_sent) "; $data = array( "subject" => 'nuBuilder!', "body" => 'Testing insert statement', "date_sent" => date("Y-m-d H:i:s") ); $r = nuRunQuery($insertSql, $data, true); if ($r == 0) { nuDebug('Insert sucessful!'); }
Also See :
db_fetch_object, db_fetch_array, db_fetch_row, db_num_rows
nuSetFormValue
nuSetFormValue($string1, $string2);
Parameters
$string1 = id of nuBuilder Object on current Edit Form. $string2 = value used to update $string1's Object.
Return Value
Description
Updates an Object on an Edit Form After Browse after a Lookup value is chosen.
Example
$lu = nuLookupRecord(); nuSetFormValue('inv_address1', $lu->cus_address1); nuSetFormValue('inv_address2', $lu->cus_address2); nuSetFormValue('inv_address3', $lu->cus_address3);
Also See :
After Browse, nuLookupRecord
nuSubformObject
$object = nuSubformObject($string1)
Parameters
$string1 : Subform id **Passing an empty string will return the main Edit Form as a Subform object.
Return Value
$object : subform properties
Description
Returns a PHP object that can be looped through.
All Subform values in this object will have any formatting removed. eg $ 1,234.50 will be 1234.5
Example
nuDebug(nuSubformObject('invoice_item_sf'));
[0] : stdClass Object ( [id] => invoice_item [foreign_key] => ite_invoice_id [primary_key] => invoice_item_id [object_id] => 58a09180222faae [table] => invoice_item [action] => save [rows] => Array ( [0] => Array ( [0] => s14941671441215 [1] => 6 [2] => thing1 [3] => 3 [4] => 18 [5] => 0 ) [1] => Array ( [0] => s14998769369058 [1] => 4 [2] => thing2 [3] => 2 [4] => 8 [5] => 0 ) [2] => Array ( [0] => -1 [1] => [2] => [3] => [4] => [5] => 1 ) ) [edited] => Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 ) [1] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 ) [2] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 ) ) [deleted] => Array ( [0] => 0 [1] => 0 [2] => 1 ) [fields] => Array ( [0] => ID [1] => ite_units [2] => ite_thing [3] => ite_unit_price [4] => ite_total [5] => nuDelete ) )
Also See :
nuSubformObject
nuStringContains
$boolean = nuStringContains($needle, $haystack, $ignoreCase)
Parameters
$needle : The string to search for. $haystack : The string to search within. $ignoreCase (optional): A boolean value indicating whether the search should be case-sensitive or not. The default value is false, which means the search is case-sensitive.
Return Value
Description
A function that searches for a string within another string and returns a boolean indicating whether the search string was found or not.
Example
$there = nuStringContains($needle, $haystack);
Also See :
nuStringStartsWith, nuStringEndsWith, nuStringLeft, nuStringRight
nuStringEndsWith
$boolean = nuStringEndsWith($needle, $haystack, $ignoreCase)
Parameters
$needle : The string to look for at the end of $haystack. $haystack : The string to look in for $needle $ignoreCase (optional): A boolean value indicating whether the search should be case-sensitive or not. The default value is false, which means the search is case-sensitive.
Return Value
Description
A function that looks for one string at the end of another and returns true or false.
Example
$there = nuStringEndsWith($needle, $haystack);
Also See :
nuStringContains, nuStringStartsWith, nuStringLeft, nuStringRight
nuStringLeft
$boolean = nuStringLeft($string1, $number1)
Parameters
$string1 : The string to return the left of. $number1 : An integer that specifies the number of characters to return.
Return Value
Description
This function returns a specified number of characters from the left side of a string.
Example
$left = nuStringLeft($needle, $haystack);
Also See :
nuStringContains, nuStringStartsWith, nuStringEndsWith, nuStringRight
nuStringRight
$boolean = nuStringRight($string1, $number1)
Parameters
$string1 : The string to return the right of. $number1 : An integer that specifies the number of characters to return.
Return Value
Description
A function that returns a specified number of characters from the right side of a string
Example
$right = nuStringRight($needle, $haystack);
Also See :
nuStringContains, nuStringStartsWith, nuStringEndsWith, nuStringLeft
nuStringStartsWith
$boolean = nuStringStartsWith($needle, $haystack, $ignoreCase)
Parameters
$needle : The string to look for at the beginning of $haystack. $haystack : The string to look in for $needle $ignoreCase (optional): A boolean value indicating whether the search should be case-sensitive or not. The default value is false, which means the search is case-sensitive.
Return Value
Description
A function that looks for one string at the beginning of another and returns true or false.
Example
$there = nuStringStartsWith($needle, $haystack);
Also See :
nuStringContains, nuStringEndsWith, nuStringLeft, nuStringRight
nuTT
$string = nuTT()
Parameters
Return Value
$string : A unique string that can be used as a temporary table name
Description
This is a function that generates a unique temporary table name starting with __nu in the form of a string.
Example
$tmp = nuTT(); $s = "CREATE TABLE $tmp SELECT * FROM customer"; nuRunQuery($tmp);
Also See :
nuID
nuUser
$object = nuUser()
Parameters
Return Value
$object : object containing User details
Description
Returns all the information from the zzzzsys_user table for the current, logged in User.
Example
nuDebug(nuUser());
[0] : stdClass Object ( [zzzzsys_user_id] => 5a62ebae2a6994b [sus_zzzzsys_access_id] => 5a62eb4e09ffd46 [sus_language] => [sus_name] => Robert [sus_email] => bob@fclub.com [sus_login_name] => bob [sus_login_password] => c81e728d9d4c2f636f067f89cc14862c )
Also See :