| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- use WHMCS\Application;
- use WHMCS\Config\Setting;
- use WHMCS\Exception\ProgramExit;
- use WHMCS\Product\Product;
- use WHMCS\Session;
- use WHMCS\User\Client;
- use WHMCS\Database\Capsule;
- use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ResourceManager;
- require("../../init.php");
- /*
- *** USAGE SAMPLES ***
- <script language="javascript" src="feeds/productsinfo.php?pid=1&get=name"></script>
- <script language="javascript" src="feeds/productsinfo.php?pid=1&get=description"></script>
- <script language="javascript" src="feeds/productsinfo.php?pid=1&get=price&billingcycle=monthly¤cy=1"></script>
- <script language="javascript" src="feeds/productsinfo.php?pid=1&get=orderurl&carttpl=web20cart"></script>
- */
- $whmcs = App::self();
- $pid = (int) $whmcs->get_req_var('pid');
- $get = $whmcs->get_req_var('get');
- $language = $whmcs->get_req_var('language') ?: null;
- $data = array();
- $name = $description = '';
- // Verify user input for pid exists, is greater than 0, and as is a valid id
- if ($pid > 0) {
- $data = Capsule::table('tblproducts')
- ->where('id', '=', $pid)
- ->first();
- $pid = (int) $data->id;
- // If there is a user logged in, we will use the client language
- if (((int) $userId = Session::get('userid'))) {
- $language = Client::find($userId, array('language'))->language ?: null;
- }
- $name = Product::getProductName($pid, $data->name, $language);
- $description = Product::getProductDescription($pid, $data->description, $language);
- }
- // Verify that the pid is not less than 1 to in order to continue.
- if ($pid < 1) {
- widgetOutput('Product ID Not Found');
- }
- $configOptionsGroupID = Capsule::table('tblproductconfiglinks')
- ->where('pid', '=', $pid)
- ->select('gid')
- ->first();
- $configOptions = Capsule::table('tblproductconfigoptions')
- ->where('gid', '=', $configOptionsGroupID->gid)
- ->select('optionname','qtyminimum')
- ->get();
- widgetOutput($configOptions);
- function widgetOutput($value) {
- echo "document.write('".addslashes($value)."');";
- throw new ProgramExit();
- }
|