Difference between revisions of "Misc"

From AWBS Wiki
Jump to: navigation, search
(After functions)
Line 1: Line 1:
 
== After functions ==
 
== After functions ==
Use our after function script to run custom code after certain functions in the system.
+
Use our after function hook to run custom code after certain functions in the system.
 
Afterfunction code can be run after;
 
Afterfunction code can be run after;
 
*customer log in
 
*customer log in

Revision as of 20:00, November 14, 2008

After functions

Use our after function hook to run custom code after certain functions in the system. Afterfunction code can be run after;

  • customer log in
  • customer log out
  • customer creates a new account
  • hosting account provisioning
  • hosting account cancelled (cancel hosting job run in the job queue)
  • hosting account suspended
  • hosting account unsuspended
  • domain registration
  • invoice payment
  • dedicated server order is placed
  • customer edit profile (account contact information)

Please review includes/afunctions/afunctions.php file for details

Using alternate package display

If you wish to use the alternate display for your packages;

Enter desired information displayed in the 'Layout 2 Package Display Text' for each hosting package. You can use html code in that text area field, just be careful not to use special characters or quotes in the code. Do not include full html page tags, only enter a table or div tags to start and end your code.

In your includes directory, rename hstable-reanme-me.php to hstable.php.

This will change the display for all hosting packages in the system.


For Dedicated Servers, do the same as above, except rename the includes/dstable_rename_me.php file to dstable.php


Displaying testimonials

Add quotes you have received from your customers that you want to post on your site.


The testimonies can be displayed using these variables on any page:


<?=$quotes[0][testimonial]?>
<?=$quotes[0][sig1]?>
<?=$quotes[0][sig2]?>
<?=$quotes[1][testimonial]?>
<?=$quotes[1][sig1]?>
<?=$quotes[1][sig2]?>


You can display as many as you like, just increment the $quotes number for each one. The above example will display 2 testimonials.


Also, set the number_of_quotes to a value of 2 in the Extended System Configuration. (2 to display 2 quotes at a time, adjust as per how many display code settings you put code in the template)

(As long as this number is greater than the number of quotes in the db, all will be returned into the array.)


The testimonials in your database will be randomly chosen to fill the displays.


Displaying the Shopping Cart Box

Variables used to create a 'shopping cart' box on your site:


You have <?=$curcart[items]?> items in your cart.

<a href="<?=$curcart[view]?>">View Cart</a>

<a href="<?=$curcart[checkout]?>">Checkout</a>


Changing the number of tlds displayed on the site home page

Edit the tlimit setting in the Extended System Configuration to set the number of tlds to show on your home page.


Custom Fields

(coming in v2.8.0)

Custom User Fields

Please note: Custom User Fields will become obsolete in future releases. Please use the Custom Fields.

There are 3 available custom fields you can setup to gather custom information during new account creation.


To enable the custom fields, edit the includes/languages/[each_language]/createacct.php and the editprofile.php files with a text editor.

Remove the remarks (//) from the beginning of the lines for the custom fields you wish to use.

Be sure to edit the createacct.php and editprofile.php files in all languages that you offer.

Look for this section:


//CREATEACCOUNT CUSTOM FIELDS;uncomment the below variables to enable adding custom fields to the customer's record during create account
//define(CUSTOM1, "custom 1 field");
//define(CUSTOM2, "custom 2 field");
//define(CUSTOM3, "custom 3 field");
//end custom fields


Example of setting up one extra field used for collecting a customer's VAT ID:


//CREATEACCOUNT CUSTOM FIELDS;uncomment the below variables to enable adding custom fields to the customer's record during create account
define(CUSTOM1, "Your VAT ID");
//define(CUSTOM2, "custom 2 field");
//define(CUSTOM3, "custom 3 field");
//end custom fields


To configure the field(s) as required, edit the same files (createacct.php and editprofile.php in each language directory).

Look for this:

//v1.2.4
//define(CUSTOM1NOTREQUIRED,	"1");
//define(CUSTOM2NOTREQUIRED,	"1");
//define(CUSTOM3NOTREQUIRED,	"1");

For the above VAT example, to make the VAT field required change to this:

//v1.2.4
define(CUSTOM1NOTREQUIRED,	"1");
//define(CUSTOM2NOTREQUIRED,	"1");
//define(CUSTOM3NOTREQUIRED,	"1");

To make it not required, change to this:

//v1.2.4
define(CUSTOM1NOTREQUIRED,	"0");
//define(CUSTOM2NOTREQUIRED,	"1");
//define(CUSTOM3NOTREQUIRED,	"1");

Creating Custom Variables

About

AWBS themes are customizable on many fronts. One extremely powerful customization method you can utilize is adding your custom data by placing variables and/or php scriptlets in your template files. Sometimes you may need to place the same script or value over and over again in many pages. You can do this using custom variables.

Custom variables are stored in a file called gparser_user.php, this file can be found in the includes folder in your AWBS root directory. If you installed AWBS to home/user/public_html/ on your server, gparser_user.php will be found in home/user/public_html/includes/gparser_user.php.sample - remove the sample from the file name to so it starts taking effect.

Once you renamed the file, you can start placing your variables and php scriptlets there.

Format

<?php
//Use the following format for additions:

//$template->set_var("template_variable", "your text"); 

?>

Variable Examples

  1. $template->set_var("my_company_name", "Advanced Webhost Billing System");
    This example will set a variable $my_company_name. To display it,
    <?php echo $my_company_name; ?>
    or
    <?=$my_company_name?>

Notes

  1. PHP Scripts, functions, classes, and globals are allowed.
  2. When using a custom function that returns results, make sure to parse the result in a variable
    $template ->set_var("custom_variable", $your_result);
  3. To run MySQL Queries, you need to include dbconfig.php:
    include(WORKDIR."/includes/dbconfig.php");

Dispaying news on any page

By default, the news will only display on the index page of the site.

Here is a workaround; Add these lines in your includes/gparser_user.php file (you may need to rename that file if you have never used it).

$news = build_news("1","5");
$template->set_var("news", $news);

Then use the code in the configuration, news section on any template in order to display the news.


Overriding system generated hosting usernames and/or passwords

If you make this file it will be included:

/includes/mycartpwd.php

The variables you will need are:

$this_username
$this_password

These 2 variables hold the current system generated username and password that will be written to the DB and used.

Other avaliable variables are:

$row[cartsld] is the domain sld
$row[carttld] is the domain tld


You can manipulate them as you wish here (using php code), but be sure you write your changes back the same variable names. Also, be sure to respect hosting control panel rules (ex: if the username is too long or short the account creation will fail etc..).

Also, you should incorporate our username dupecheck into your routines.

$xcheck=check_username($this_username,$row[cartId]);

You would check that $xcheck is not greater than 0 and if so, re-generate the username.


Domain lookup box

Here is code to use to add a domain lookup box anywhere you desire:

<table border="0">
 <form method="post" action="http://www.tosdomains.net/spincheck.php" target="_blank" id="formname" name="formname">
 <input type="hidden" name="action" value="check">
 <tr>
 <td><input name="cSSld" type=text class="formfield" id="idsld" size="22" maxlength="272"></td>
 <td>&nbsp;.&nbsp;
 <select name="ttld[]">
 <option value="com">com</option>
 <option value="net">net</option>
 <option value="org">org</option>
 </select></td>
 <td><input name="Submit" type="submit" value="Go"></td>
 </tr>
 </form>
 </table>
 

Be sure to substitute the post action value url to your AWBS url in the form line.
Add additional tld options as you desire for the tld drawdown box.
Edit the html as desired for your look.

Scrolling Text

The scroller can be displayed on the index page only.

To enable it, add this to your dbconfig.php file:

$marqueetext="Happy Holidays!";
$marqueespeed="1.5";
$marqueeheight="16px";
$marqueewidth="350";

Edit above settings as desired.

Then on the template where you want it to display use this code:

<?=$scroller?>

This can be done in your index.php, index2.php, index3.php top.php, bottom.php, left.php or right.php template file. Please note if you use a global template such as top.php, it will still only display when the visitor is on index.php page of your site.

Executing code upon addon package queue job run

Make a file matching your addon package name and place it here: includes/addons/addonname.php

Example: if your addon package name is 1234, then you would make a file named 1234.php, enter the code you want run when that
addon order is processed, and place that file in the includes/addon directory.

Then when the addon job is run in the queue, this code will be executed.


Note:
If the job is a success, you must set:  $regstatus = "Closed";
If the job is a fail you must set:  $regstatus = "Error";
If the job results in an error, you can stuff error information into the variable $queue_return.

Auto Login System

The auto login system can be used to have your clients already logged in at your AWBS site from a link at another site/system. This feature was added in AWBS version 2.7.6

To enable: Extended System Configuration >> disable_als set to a value of 0
Click the Submit Changes button.

Here is a sample of how to use the ALS;

<?php
// AWBS account username 
$user="username";
// AWBS account password
$pass="password";
//access key from AWBS system options page 
$maccesskey="2c416b1bb5e33a27eb8d3df7de7f8f46";

$p_s[user]=$user;
$p_s[pass]=urlencode($pass);
$p_s[maccesskey]=urlencode($maccesskey);
$p_s[udate]=strtotime("now");
$p_s_arr=serialize($p_s);
$sendstr=urlencode(base64_encode($p_s_arr));

echo "<a href=\"aLogIn.php?als=$sendstr\">Click to Login</a>";
exit;
?>