Global Functions in 2.10 and Higher
Global Functions
These functions can be used throughout FreePBX to obtain relevant data. Click below to see more about each function:
- 1 Global Functions
- 1.1 Get the Asterisk Version
- 1.2 Get the FreePBX Version
- 1.3 Get the FreePBX Framework Version (Depreciated in favor of FreePBX Version)
- 1.4 Compare Two 'Version' Strings (2.11.0 vs 2.11.1)
- 1.5 Send Message to Log
- 1.6 Generate Debug Message
- 1.7 Generate FreePBX Die Message
- 1.8 Show "Apply Changes" (Need Reload) Button
- 1.9 Check if "Apply Changes" (Need Reload) flag is set
- 1.10 Locate System Application
- 1.11 Recursively Remove a Directory
Get the Asterisk Version
Used to get the Version of Asterisk
engine_getinfo(); |
Example:
$ast_info = engine_getinfo();
$version = $ast_info["version"]; |
Get the FreePBX Version
Used to get the Version of FreePBX (Which is the Framework Version)
/**
* Get the FreePBX/Framework Version
* @param bool $cached Whether to pull from the DB or not
* @return string The FreePBX version number
*/
getversion($cached=true); |
Get the FreePBX Framework Version (Depreciated in favor of FreePBX Version)
Used to get the Framework Version of FreePBX
/**
* Get the FreePBX/Framework Version
* @param bool $cached Whether to pull from the DB or not
* @return string The FreePBX Framework version number
*/
get_framework_version($cached=true); |
Compare Two 'Version' Strings (2.11.0 vs 2.11.1)
Compare two versions of software, with special FreePBX nomenclature assumed.
/**
* version_compare that works with FreePBX version numbers
*
* @param string $version1 First version number
* @param string $version2 Second version number
* @param string $op If you specify the third optional operator argument,
* you can test for a particular relationship.
* The possible operators are:
* <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne respectively.
* @return mixed returns -1 if the first version is lower than the second,
* 0 if they are equal, and 1 if the second is lower.
* When using the optional operator argument, the function will
* return TRUE if the relationship is the one specified by the
* operator, FALSE otherwise.
*/
version_compare_freepbx($version1, $version2, $op = null); |
Example:
$string1 = '2.11.0beta1';
$string2 = '2.11.1';
if(version_compare_freepbx($string1,$string2,'<')) {
echo "Yes";
} else {
echo "No";
}
//returns Yes |
Send Message to Log
FreePBX Logging facility to FILE or syslog
this is not the same as the dbug() function!
/**
* FreePBX Logging facility to FILE or syslog
* @param string The level/severity of the error. Valid levels use constants:
* FPBX_LOG_FATAL, FPBX_LOG_CRITICAL, FPBX_LOG_SECURITY, FPBX_LOG_UPDATE,
* FPBX_LOG_ERROR, FPBX_LOG_WARNING, FPBX_LOG_NOTICE, FPBX_LOG_INFO.
* @param string The error message
*/
freepbx_log($level, $message); |
Generate Debug Message
FreePBX Debugging function, you can view the messages output by this function by running (On the CLI): amportal a dbug
/**
* FreePBX Debugging function
* This function can be called as follows:
* dbug() - will just print a time stamp to the debug log file ($amp_conf['FPBXDBUGFILE'])
* dbug('string') - same as above + will print the string
* dbug('string',$array) - same as above + will print_r the array after the message
* dbug($array) - will print_r the array with no message (just a time stamp)
* dbug('string',$array,1) - same as above + will var_dump the array
* dbug($array,1) - will var_dump the array with no message (just a time stamp)
*
*/
dbug(); |
Generate FreePBX Die Message
Throws a PHP DIE message from FreePBX
/**
* Throw FreePBX DIE Message
* @param string $text The message
* @param string $extended_text The Extended Message (Optional)
* @param string $type The message type (Optional)
*/
die_freepbx($text, $extended_text="", $type="FATAL"); |
Show "Apply Changes" (Need Reload) Button
Tell the user we need to apply changes and reload Asterisk
/**
* Tell the user we need to apply changes and reload Asterisk
*/
needreload(); |
Check if "Apply Changes" (Need Reload) flag is set
Check to see if Apply Changes/Need Reload flag has been set
/**
* Check to see if Apply Changes/Need Reload flag has been set
* @return bool true if flag is set, false if otherwise
*/
check_reload_needed(); |
Locate System Application
returns the absolute path to a system application
/**
* returns the absolute path to a system application
*
* @pram string
* @retrun string
*/
fpbx_which($app) |
Recursively Remove a Directory
Recursively remove a directory
/**
* Recursively remove a directory
* @param string - dirname
*
* @return bool
*/
rrmdir($dir) |