public function getPackageFields($vars = null)
 {
     Loader::loadHelpers($this, array("Html"));
     // Set any module fields
     $fields = new ModuleFields();
     $fields->setHtml("\n            <script type=\"text/javascript\">\n                \$(document).ready(function() {\n                    // Re-fetch module options\n                    \$('#type, #manageapps, #firewall').change(function() {\n                        fetchModuleOptions();\n                    });\n                });\n            </script>\n        ");
     // Fetch all packages available for the given server or server group
     $module_row = null;
     if (isset($vars->module_group) && $vars->module_group == "") {
         // Set a module row if one is given
         if (isset($vars->module_row) && $vars->module_row > 0) {
             $module_row = $this->getModuleRow($vars->module_row);
         } else {
             // Set the first module row of any that exist
             $rows = $this->getModuleRows();
             if (isset($rows[0])) {
                 $module_row = $rows[0];
             }
             unset($rows);
         }
     } else {
         // Set the first module row from the list of servers in the selected group
         $rows = $this->getModuleRows($vars->module_group);
         if (isset($rows[0])) {
             $module_row = $rows[0];
         }
         unset($rows);
     }
     $packages = array();
     $acls = array();
     if ($module_row) {
         $packages = $this->getPkgs($module_row);
         $acls = array('' => Language::_("tastycpanel.package.acl_default", true)) + $this->getAcls($module_row);
     }
     $package = $fields->label(Language::_("tastycpanel.package", true), "package_name");
     $package->attach($fields->fieldSelect("meta[package]", $packages, $this->Html->ifSet($vars->meta['package']), array('id' => "package_name")));
     $fields->setField($package);
     if ($module_row && $module_row->meta->username == "root") {
         $select_options = array('standard' => "Standard", 'reseller' => "Reseller");
         $typefield = $fields->label(Language::_("tastycpanel.package.type", true), "type");
         $typefield->attach($fields->fieldSelect("meta[type]", $select_options, $this->Html->ifSet($vars->meta['type']), array('id' => "type")));
         $fields->setField($typefield);
     } else {
         $typefield = $fields->fieldHidden("meta[type]", "standard");
         $fields->setField($typefield);
     }
     if ($vars->meta['type'] === "reseller") {
         $acl = $fields->label(Language::_("tastycpanel.package.acl", true), "acls");
         $acl->attach($fields->fieldSelect("meta[acls]", $acls, $this->Html->ifSet($vars->meta['acls']), array('id' => "acls")));
         $fields->setField($acl);
     }
     $select_options = array('true' => "Enable", 'false' => "Disable");
     $additionaldiskfield = $fields->label(Language::_("tastycpanel.additionaldisk", true), "additionaldisk");
     $additionaldiskfield->attach($fields->tooltip(Language::_("tastycpanel.additionaldisktip", true)));
     $additionaldiskfield->attach($fields->fieldSelect("meta[additionaldisk]", $select_options, $this->Html->ifSet($vars->meta['additionaldisk']), array('id' => "additionaldisk")));
     $fields->setField($additionaldiskfield);
     $additionalbandwidthfield = $fields->label(Language::_("tastycpanel.additionalbandwidth", true), "additionalbandwidth");
     $additionalbandwidthfield->attach($fields->tooltip(Language::_("tastycpanel.additionalbandwidthtip", true)));
     $additionalbandwidthfield->attach($fields->fieldSelect("meta[additionalbandwidth]", $select_options, $this->Html->ifSet($vars->meta['additionalbandwidth']), array('id' => "additionalbandwidth")));
     $fields->setField($additionalbandwidthfield);
     $accountusagefield = $fields->label(Language::_("tastycpanel.accountusage", true), "accountusage");
     $accountusagefield->attach($fields->fieldSelect("meta[accountusage]", $select_options, $this->Html->ifSet($vars->meta['accountusage']), array('id' => "accountusage")));
     $fields->setField($accountusagefield);
     $changepasswordfield = $fields->label(Language::_("tastycpanel.changepassword", true), "changepassword");
     $changepasswordfield->attach($fields->fieldSelect("meta[changepassword]", $select_options, $this->Html->ifSet($vars->meta['changepassword']), array('id' => "changepassword")));
     $fields->setField($changepasswordfield);
     $emailfield = $fields->label(Language::_("tastycpanel.email", true), "email");
     $emailfield->attach($fields->fieldSelect("meta[email]", $select_options, $this->Html->ifSet($vars->meta['email']), array('id' => "email")));
     $fields->setField($emailfield);
     $emailforwardersfield = $fields->label(Language::_("tastycpanel.emailforwarders", true), "emailforwarders");
     $emailforwardersfield->attach($fields->fieldSelect("meta[emailforwarders]", $select_options, $this->Html->ifSet($vars->meta['emailforwarders']), array('id' => "emailforwarders")));
     $fields->setField($emailforwardersfield);
     $ftpaccountsfield = $fields->label(Language::_("tastycpanel.ftpaccounts", true), "ftpaccounts");
     $ftpaccountsfield->attach($fields->fieldSelect("meta[ftpaccounts]", $select_options, $this->Html->ifSet($vars->meta['ftpaccounts']), array('id' => "ftpaccounts")));
     $fields->setField($ftpaccountsfield);
     $subdomainsfield = $fields->label(Language::_("tastycpanel.subdomains", true), "subdomains");
     $subdomainsfield->attach($fields->fieldSelect("meta[subdomains]", $select_options, $this->Html->ifSet($vars->meta['subdomains']), array('id' => "subdomains")));
     $fields->setField($subdomainsfield);
     $addondomainsfield = $fields->label(Language::_("tastycpanel.addondomains", true), "addondomains");
     $addondomainsfield->attach($fields->fieldSelect("meta[addondomains]", $select_options, $this->Html->ifSet($vars->meta['addondomains']), array('id' => "addondomains")));
     $fields->setField($addondomainsfield);
     $parkeddomainsfield = $fields->label(Language::_("tastycpanel.parkeddomains", true), "parkeddomains");
     $parkeddomainsfield->attach($fields->fieldSelect("meta[parkeddomains]", $select_options, $this->Html->ifSet($vars->meta['parkeddomains']), array('id' => "parkeddomains")));
     $fields->setField($parkeddomainsfield);
     $databasesfield = $fields->label(Language::_("tastycpanel.databases", true), "databases");
     $databasesfield->attach($fields->fieldSelect("meta[databases]", $select_options, $this->Html->ifSet($vars->meta['databases']), array('id' => "databases")));
     $fields->setField($databasesfield);
     $cronjobsfield = $fields->label(Language::_("tastycpanel.cronjobs", true), "cronjobs");
     $cronjobsfield->attach($fields->fieldSelect("meta[cronjobs]", $select_options, $this->Html->ifSet($vars->meta['cronjobs']), array('id' => "cronjobs")));
     $fields->setField($cronjobsfield);
     $backupsfield = $fields->label(Language::_("tastycpanel.backups", true), "backups");
     $backupsfield->attach($fields->fieldSelect("meta[backups]", $select_options, $this->Html->ifSet($vars->meta['backups']), array('id' => "backups")));
     $fields->setField($backupsfield);
     $ipblockerfield = $fields->label(Language::_("tastycpanel.ipblocker", true), "ipblocker");
     $ipblockerfield->attach($fields->fieldSelect("meta[ipblocker]", $select_options, $this->Html->ifSet($vars->meta['ipblocker']), array('id' => "ipblocker")));
     $fields->setField($ipblockerfield);
     $firewall = $fields->label(Language::_("tastycpanel.firewall_admin", true), "firewall");
     $firewall->attach($fields->fieldSelect("meta[firewall]", $select_options, $this->Html->ifSet($vars->meta['firewall']), array('id' => "firewall")));
     $fields->setField($firewall);
     if ($vars->meta['firewall'] === "true") {
         $firewall_options = array('show' => "Show & Allow Client To Enter The IP Address To Unblock it From CSF", 'hide' => "Use the Client's IP Address");
         $firewall_ad = $fields->label(Language::_("tastycpanel.firewall_ip", true), "firewall_ip");
         $firewall_ad->attach($fields->fieldSelect("meta[firewall_ip]", $firewall_options, $this->Html->ifSet($vars->meta['firewall_ip']), array('id' => "firewall_ip")));
         $fields->setField($firewall_ad);
     }
     $manage_select = array('false' => "Disable", 'softaculous' => "Softaculous", 'installatron' => "Installatron");
     $manageapps = $fields->label(Language::_("tastycpanel.manageapps", true), "manageapps");
     $manageapps->attach($fields->fieldSelect("meta[manageapps]", $manage_select, $this->Html->ifSet($vars->meta['manageapps']), array('id' => "manageapps")));
     $fields->setField($manageapps);
     if ($vars->meta['type'] === "reseller") {
         $whmfield = $fields->label(Language::_("tastycpanel.whm_login", true), "whm_login");
         $whmfield->attach($fields->fieldSelect("meta[whm_login]", $select_options, $this->Html->ifSet($vars->meta['whm_login']), array('id' => "whm_login")));
         $fields->setField($whmfield);
     }
     $cpanelfield = $fields->label(Language::_("tastycpanel.cpanel_login", true), "cpanel_login");
     $cpanelfield->attach($fields->fieldSelect("meta[cpanel_login]", $select_options, $this->Html->ifSet($vars->meta['cpanel_login']), array('id' => "cpanel_login")));
     $fields->setField($cpanelfield);
     $webmailfield = $fields->label(Language::_("tastycpanel.webmail_login", true), "webmail_login");
     $webmailfield->attach($fields->fieldSelect("meta[webmail_login]", $select_options, $this->Html->ifSet($vars->meta['webmail_login']), array('id' => "webmail_login")));
     $fields->setField($webmailfield);
     $phpmyadminfield = $fields->label(Language::_("tastycpanel.phpmyadmin_login", true), "phpmyadmin_login");
     $phpmyadminfield->attach($fields->fieldSelect("meta[phpmyadmin_login]", $select_options, $this->Html->ifSet($vars->meta['phpmyadmin_login']), array('id' => "phpmyadmin_login")));
     $fields->setField($phpmyadminfield);
     $filemanager_login = $fields->label(Language::_("tastycpanel.filemanager_login", true), "filemanager_login");
     $filemanager_login->attach($fields->fieldSelect("meta[filemanager_login]", $select_options, $this->Html->ifSet($vars->meta['filemanager_login']), array('id' => "filemanager_login")));
     $fields->setField($filemanager_login);
     return $fields;
 }
예제 #2
0
 /**
  * Returns all fields to display to a client attempting to add a service with the module
  *
  * /DONE/
  */
 public function getClientAddFields($package, $vars = null)
 {
     Loader::loadHelpers($this, array("Html"));
     // Fetch the module row available for this package
     $module_row = $this->getModuleRowByServer(isset($package->module_row) ? $package->module_row : 0, isset($package->module_group) ? $package->module_group : "");
     $fields = new ModuleFields();
     // Create hostname label
     $hostname = $fields->label(Language::_("Proxmoxv2.service_field.Proxmoxv2_hostname", true), "hostname");
     $hostname->attach($fields->fieldText("hostname", $this->Html->ifSet($vars->hostname), array('id' => "hostname", 'placeholder' => "server.yourdomain.com")));
     $fields->setField($hostname);
     // Load templates
     $templatesres = $package->meta->templates;
     foreach ($templatesres as $template) {
         $search_name = array("-1_", "-2_", "-", "i386", "amd64", "turnkey");
         $replace_name = array(" ", " ", " ", "(32 Bits)", "(64 Bits)", "");
         $template_name = str_replace($search_name, $replace_name, $template);
         $templates[$template] = ucwords($template_name);
     }
     // Set the Templates as a selectable option
     $ostemplate = $fields->label(Language::_("Proxmoxv2.service_field.Proxmoxv2_template", true), "ostemplate");
     $ostemplate->attach($fields->fieldSelect("ostemplate", $templates, $this->Html->ifSet($vars->ostemplate), array('id' => "ostemplate")));
     $fields->setField($ostemplate);
     return $fields;
 }
 public function getClientAddFields($package, $vars = null)
 {
     Loader::loadHelpers($this, array("Html"));
     $fields = new ModuleFields();
     $domain = $fields->label(Language::_("Digitaloceanmodule.hostname", true), "hostname");
     $domain->attach($fields->fieldText("hostname", $this->Html->ifSet($vars->hostname, $this->Html->ifSet($vars->hostname)), array('id' => "hostname")));
     $fields->setField($domain);
     $region = $fields->label(Language::_("Digitaloceanmodule.region", true), "region");
     $region->attach($fields->fieldSelect("region", $this->getAllRegionsDropdown($package)), array('id' => "region"));
     $fields->setField($region);
     $image = $fields->label(Language::_("Digitaloceanmodule.image", true), "image");
     $image->attach($fields->fieldSelect("image", $this->getallImagesDropdown($package)), array('id' => "image"));
     $fields->setField($image);
     $client_sshkey = $fields->label(Language::_("Digitaloceanmodule.client_sshkey", true), "client_sshkey");
     $client_sshkey->attach($fields->fieldTextArea("client_sshkey", $this->Html->ifSet($vars->client_sshkey), array('id' => "client_sshkey")));
     $fields->setField($client_sshkey);
     return $fields;
 }
예제 #4
0
 /**
  * Returns all fields used when adding/editing a package, including any
  * javascript to execute when the page is rendered with these fields.
  *
  * @param $vars stdClass A stdClass object representing a set of post fields
  * @return ModuleFields A ModuleFields object, containg the fields to render as well as any additional HTML markup to include
  */
 public function getPackageFields($vars = null)
 {
     Loader::loadHelpers($this, array("Form", "Html"));
     $fields = new ModuleFields();
     $row = null;
     if (isset($vars->module_group) && $vars->module_group == "") {
         if (isset($vars->module_row) && $vars->module_row > 0) {
             $row = $this->getModuleRow($vars->module_row);
         } else {
             $rows = $this->getModuleRows();
             if (isset($rows[0])) {
                 $row = $rows[0];
             }
             unset($rows);
         }
     } else {
         // Fetch the 1st server from the list of servers in the selected group
         $rows = $this->getModuleRows($vars->module_group);
         if (isset($rows[0])) {
             $row = $rows[0];
         }
         unset($rows);
     }
     if ($row) {
         $api = $this->api($row);
         $products = $this->getProducts($api, $row);
     } else {
         $products = array();
     }
     // Show nodes, and set javascript field toggles
     $this->Form->setOutput(true);
     // Set the product as a selectable option
     $gogetssl_products = array('' => Language::_("GoGetSSLv2.please_select", true)) + $products;
     $gogetssl_product = $fields->label(Language::_("GoGetSSLv2.package_fields.product", true), "gogetssl_product");
     $gogetssl_product->attach($fields->fieldSelect("meta[gogetssl_product]", $gogetssl_products, $this->Html->ifSet($vars->meta['gogetssl_product']), array('id' => "gogetssl_product")));
     $fields->setField($gogetssl_product);
     unset($gogetssl_product);
     return $fields;
 }
 public function getPackageFields($vars = null)
 {
     Loader::loadHelpers($this, array("Html"));
     $fields = new ModuleFields();
     $fields->setHtml("\n            <script type=\"text/javascript\">\n                \$(document).ready(function() {\n                    // Re-fetch module options\n                    \$('#type, #manageapps').change(function() {\n                        fetchModuleOptions();\n                    });\n                });\n            </script>\n        ");
     $module_row = null;
     if (isset($vars->module_group) && $vars->module_group == "") {
         if (isset($vars->module_row) && $vars->module_row > 0) {
             $module_row = $this->getModuleRow($vars->module_row);
         } else {
             $rows = $this->getModuleRows();
             if (isset($rows[0])) {
                 $module_row = $rows[0];
             }
             unset($rows);
         }
     } else {
         $rows = $this->getModuleRows($vars->module_group);
         if (isset($rows[0])) {
             $module_row = $rows[0];
         }
         unset($rows);
     }
     if ($module_row) {
         if (isset($vars->meta['type']) && $vars->meta['type'] === "reseller" && !$this->gettastyinterworxIsReseller($module_row)) {
             $packages = $this->gettastyinterworxPackages($module_row, true);
         } else {
             $packages = $this->gettastyinterworxPackages($module_row);
         }
     }
     $p_options = array('standard' => "Standard", 'reseller' => "Reseller");
     $typefield = $fields->label(Language::_("tastyinterworx.package.type", true), "type");
     $typefield->attach($fields->fieldSelect("meta[type]", $p_options, $this->Html->ifSet($vars->meta['type']), array('id' => "type")));
     $fields->setField($typefield);
     $package = $fields->label(Language::_("tastyinterworx.package", true), "package_name");
     $package->attach($fields->fieldSelect("meta[package]", $packages, $this->Html->ifSet($vars->meta['package']), array('id' => "package_name")));
     $fields->setField($package);
     $select_options = array('true' => "Enable", 'false' => "Disable");
     $accountusagefield = $fields->label(Language::_("tastyinterworx.accountusage", true), "accountusage");
     $accountusagefield->attach($fields->fieldSelect("meta[accountusage]", $select_options, $this->Html->ifSet($vars->meta['accountusage']), array('id' => "accountusage")));
     $fields->setField($accountusagefield);
     $changepasswordfield = $fields->label(Language::_("tastyinterworx.changepassword", true), "changepassword");
     $changepasswordfield->attach($fields->fieldSelect("meta[changepassword]", $select_options, $this->Html->ifSet($vars->meta['changepassword']), array('id' => "changepassword")));
     $fields->setField($changepasswordfield);
     if ($vars->meta['type'] !== "reseller") {
         $emailfield = $fields->label(Language::_("tastyinterworx.email", true), "email");
         $emailfield->attach($fields->fieldSelect("meta[email]", $select_options, $this->Html->ifSet($vars->meta['email']), array('id' => "email")));
         $fields->setField($emailfield);
         $emailaliasfield = $fields->label(Language::_("tastyinterworx.emailalias", true), "emailalias");
         $emailaliasfield->attach($fields->fieldSelect("meta[emailalias]", $select_options, $this->Html->ifSet($vars->meta['emailalias']), array('id' => "emailalias")));
         $fields->setField($emailaliasfield);
         $ftpaccountsfield = $fields->label(Language::_("tastyinterworx.ftpaccounts", true), "ftpaccounts");
         $ftpaccountsfield->attach($fields->fieldSelect("meta[ftpaccounts]", $select_options, $this->Html->ifSet($vars->meta['ftpaccounts']), array('id' => "ftpaccounts")));
         $fields->setField($ftpaccountsfield);
         $subdomainsfield = $fields->label(Language::_("tastyinterworx.subdomains", true), "subdomains");
         $subdomainsfield->attach($fields->fieldSelect("meta[subdomains]", $select_options, $this->Html->ifSet($vars->meta['subdomains']), array('id' => "subdomains")));
         $fields->setField($subdomainsfield);
         $secondarydomainsfield = $fields->label(Language::_("tastyinterworx.secondarydomains", true), "secondarydomains");
         $secondarydomainsfield->attach($fields->fieldSelect("meta[secondarydomains]", $select_options, $this->Html->ifSet($vars->meta['secondarydomains']), array('id' => "secondarydomains")));
         $fields->setField($secondarydomainsfield);
         $pointerdomainsfield = $fields->label(Language::_("tastyinterworx.pointerdomains", true), "pointerdomains");
         $pointerdomainsfield->attach($fields->fieldSelect("meta[pointerdomains]", $select_options, $this->Html->ifSet($vars->meta['pointerdomains']), array('id' => "pointerdomains")));
         $fields->setField($pointerdomainsfield);
         $databasesfield = $fields->label(Language::_("tastyinterworx.databases", true), "databases");
         $databasesfield->attach($fields->fieldSelect("meta[databases]", $select_options, $this->Html->ifSet($vars->meta['databases']), array('id' => "databases")));
         $fields->setField($databasesfield);
         $cronjobsfield = $fields->label(Language::_("tastyinterworx.cronjobs", true), "cronjobs");
         $cronjobsfield->attach($fields->fieldSelect("meta[cronjobs]", $select_options, $this->Html->ifSet($vars->meta['cronjobs']), array('id' => "cronjobs")));
         $fields->setField($cronjobsfield);
         $backupsfield = $fields->label(Language::_("tastyinterworx.backups", true), "backups");
         $backupsfield->attach($fields->fieldSelect("meta[backups]", $select_options, $this->Html->ifSet($vars->meta['backups']), array('id' => "backups")));
         $fields->setField($backupsfield);
         $manage_select = array('false' => "Disable", 'softaculous' => "Softaculous");
         $manageapps = $fields->label(Language::_("tastyinterworx.manageapps", true), "manageapps");
         $manageapps->attach($fields->fieldSelect("meta[manageapps]", $manage_select, $this->Html->ifSet($vars->meta['manageapps']), array('id' => "manageapps")));
         $fields->setField($manageapps);
     }
     if ($vars->meta['type'] === "reseller") {
         $nodeworxfield = $fields->label(Language::_("tastyinterworx.nodeworx_login", true), "nodeworx_login");
         $nodeworxfield->attach($fields->fieldSelect("meta[nodeworx_login]", $select_options, $this->Html->ifSet($vars->meta['nodeworx_login']), array('id' => "nodeworx_login")));
         $fields->setField($nodeworxfield);
     }
     if ($vars->meta['type'] !== "reseller") {
         $siteworxfield = $fields->label(Language::_("tastyinterworx.siteworx_login", true), "siteworx_login");
         $siteworxfield->attach($fields->fieldSelect("meta[siteworx_login]", $select_options, $this->Html->ifSet($vars->meta['siteworx_login']), array('id' => "siteworx_login")));
         $fields->setField($siteworxfield);
     }
     return $fields;
 }
예제 #6
0
 public function getPackageFields($vars = null)
 {
     Loader::loadHelpers($this, array("Html"));
     $fields = new ModuleFields();
     $module_row = null;
     if (isset($vars->module_group) && $vars->module_group == "") {
         if (isset($vars->module_row) && $vars->module_row > 0) {
             $module_row = $this->getModuleRow($vars->module_row);
         } else {
             $rows = $this->getModuleRows();
             if (isset($rows[0])) {
                 $module_row = $rows[0];
             }
             unset($rows);
         }
     } else {
         $rows = $this->getModuleRows($vars->module_group);
         if (isset($rows[0])) {
             $module_row = $rows[0];
         }
         unset($rows);
     }
     $size_options = $this->getSizesDropdown($module_row);
     $sizes = $fields->label(Language::_("ngcs.size", true), "size");
     $sizes->attach($fields->fieldSelect("meta[size]", $size_options, $this->Html->ifSet($vars->meta['size']), array('id' => "size")));
     $fields->setField($sizes);
     return $fields;
 }
예제 #7
0
 /**
  * Returns all fields used when adding/editing a package, including any
  * javascript to execute when the page is rendered with these fields.
  *
  * @param $vars stdClass A stdClass object representing a set of post fields
  * @return ModuleFields A ModuleFields object, containg the fields to render as well as any additional HTML markup to include
  */
 public function getPackageFields($vars = null)
 {
     Loader::loadHelpers($this, array("Html"));
     $fields = new ModuleFields();
     $fields->setHtml("\n\t\t\t<script type=\"text/javascript\">\n\t\t\t\t\$(document).ready(function() {\n\t\t\t\t\t// Set whether to show or hide the ACL option\n\t\t\t\t\t\$('#cpanel_acl').closest('li').hide();\n\t\t\t\t\tif (\$('input[name=\"meta[type]\"]:checked').val() == 'reseller')\n\t\t\t\t\t\t\$('#cpanel_acl').closest('li').show();\n\t\t\t\t\t\$('input[name=\"meta[type]\"]').change(function() {\n\t\t\t\t\t\tif (\$(this).val() == 'reseller')\n\t\t\t\t\t\t\t\$('#cpanel_acl').closest('li').show();\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\$('#cpanel_acl').closest('li').hide();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t</script>\n\t\t");
     $row = $this->getCorrectModuleRow($vars);
     $api = $this->getApiByMeta($row->meta);
     if (!isset($this->ArrayHelper)) {
         $this->ArrayHelper = $this->DataStructure->create("Array");
     }
     $packages = array("" => Language::_('Cpe.label.defaultpackage', true));
     $acls = array("" => Language::_('Cpe.label.default', true));
     if ($row) {
         $pkglist = $api->listpkgs()->getResponse();
         $aclslist = $api->listacls()->getResponse();
         //Generate a list with all ACLS
         $keys = (array) $this->Json->decode($api->listacls())->acls;
         $acls = array("" => Language::_('Cpe.label.default', true));
         foreach ($keys as $key => $value) {
             $acls[$key] = $key;
         }
         //$fields->setHtml($this->debug($acls));
         $packages = array("" => Language::_('Cpe.label.defaultpackage', true)) + $this->ArrayHelper->numericToKey($pkglist->package, "name", "name");
     }
     $fields->setHtml(Language::_('Cpe.misc.packageaddhint', true));
     // Set the cPanel package as a selectable option
     $package = $fields->label(Language::_('Cpe.label.package', true), "cpanel_package");
     $package->attach($fields->fieldSelect("meta[package]", $packages, $this->Html->ifSet($vars->meta['package']), array('id' => "cpanel_package")));
     $fields->setField($package);
     $usernamefield = $fields->label(Language::_('Cpe.label.usernamefield', true), "cpanel_usernamefield");
     $usernamefield->attach($fields->fieldSelect("meta[usernamefield]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['usernamefield'])));
     $fields->setField($usernamefield);
     $passwordfield = $fields->label(Language::_('Cpe.label.passwordfield', true), "cpanel_passwordfield");
     $passwordfield->attach($fields->fieldSelect("meta[passwordfield]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['passwordfield'])));
     $fields->setField($passwordfield);
     $quota = $fields->label(Language::_('Cpe.label.webquota', true), "cpanel_quota");
     $quota->attach($fields->fieldText("meta[webquota]", $this->Html->ifSet($vars->meta['webquota']), array("style" => "width: 75px;")));
     $quota->attach($fields->tooltip(Language::_('Cpe.tooltip.quota', true)));
     $fields->setField($quota);
     $bw = $fields->label(Language::_('Cpe.label.bandwidth', true), "cpanel_bw");
     $bw->attach($fields->fieldText("meta[bandwidth]", $this->Html->ifSet($vars->meta['bandwidth']), array("style" => "width: 75px;")));
     $bw->attach($fields->tooltip(Language::_('Cpe.bandwidth.tooltip')));
     $fields->setField($bw);
     $shell = $fields->label(Language::_('Cpe.label.shellacc', true), "cpanel_shell");
     $shell->attach($fields->fieldCheckbox("meta[shellaccess]", 1, $this->Html->ifSet($vars->meta['shellaccess'], false)));
     $fields->setField($shell);
     $cgi = $fields->label(Language::_('Cpe.label.cgiacc', true), "cpanel_cgi");
     $cgi->attach($fields->fieldCheckbox("meta[cgi]", 1, $this->Html->ifSet($vars->meta['cgi'], false)));
     $fields->setField($cgi);
     $frontpageext = $fields->label(Language::_('Cpe.label.frontpageext', true), "cpanel_fpe");
     $frontpageext->attach($fields->fieldCheckbox("meta[frontpageext]", 1, $this->Html->ifSet($vars->meta['frontpageext'], false)));
     $fields->setField($frontpageext);
     $cptheme = $fields->label(Language::_('Cpe.label.cptheme', true), "cpanel_theme");
     $cptheme->attach($fields->fieldText("meta[cptheme]", $this->Html->ifSet($vars->meta['cptheme']), array("style" => "width: 75px;")));
     $fields->setField($cptheme);
     $maxftp = $fields->label(Language::_('Cpe.label.maxftp', true), "cpanel_maxftp");
     $maxftp->attach($fields->fieldText("meta[maxftp]", $this->Html->ifSet($vars->meta['maxftp']), array("style" => "width: 75px;")));
     $fields->setField($maxftp);
     $maxsql = $fields->label(Language::_('Cpe.label.maxsql', true), "cpanel_maxsql");
     $maxsql->attach($fields->fieldText("meta[maxsql]", $this->Html->ifSet($vars->meta['maxsql']), array("style" => "width: 75px;")));
     $fields->setField($maxsql);
     $maxpop = $fields->label(Language::_('Cpe.label.maxpop', true), "cpanel_maxpop");
     $maxpop->attach($fields->fieldText("meta[maxpop]", $this->Html->ifSet($vars->meta['maxpop']), array("style" => "width: 75px;")));
     $fields->setField($maxpop);
     $dedicatedip = $fields->label(Language::_('Cpe.label.dedip', true), "cpanel_dedicatedip");
     $dedicatedip->attach($fields->fieldCheckbox("meta[dedicatedip]", 1, $this->Html->ifSet($vars->meta['dedicatedip'], false)));
     $fields->setField($dedicatedip);
     $maxdb = $fields->label(Language::_('Cpe.label.maxsql', true), "cpanel_maxdatabases");
     $maxdb->attach($fields->fieldText("meta[maxdatabases]", $this->Html->ifSet($vars->meta['maxdatabases']), array("style" => "width: 75px;")));
     $fields->setField($maxdb);
     $maxsubdomains = $fields->label(Language::_('Cpe.label.maxsub', true), "cpanel_maxsubdomains");
     $maxsubdomains->attach($fields->fieldText("meta[maxsubdomains]", $this->Html->ifSet($vars->meta['maxsubdomains']), array("style" => "width: 75px;")));
     $fields->setField($maxsubdomains);
     $maxparkeddomains = $fields->label(Language::_('Cpe.label.maxpark', true), "cpanel_maxparkeddomains");
     $maxparkeddomains->attach($fields->fieldText("meta[maxparkeddomains]", $this->Html->ifSet($vars->meta['maxparkeddomains']), array("style" => "width: 75px;")));
     $fields->setField($maxparkeddomains);
     $maxaddondomains = $fields->label(Language::_('Cpe.label.maxaddon', true), "cpanel_maxaddondomains");
     $maxaddondomains->attach($fields->fieldText("meta[maxaddondomains]", $this->Html->ifSet($vars->meta['maxaddondomains']), array("style" => "width: 75px;")));
     $fields->setField($maxaddondomains);
     $type = $fields->label(Language::_('Cpe.label.type', true), "cpanel_type");
     $type->attach($fields->fieldSelect("meta[type]", array("standard" => "standard", "reseller" => "reseller"), $this->Html->ifSet($vars->meta['type'])));
     $fields->setField($type);
     $diskreseller = $fields->label(Language::_('Cpe.label.diskreseller', true), "cpanel_diskreseller");
     $diskreseller->attach($fields->fieldText("meta[diskreseller]", $this->Html->ifSet($vars->meta['diskreseller']), array("style" => "width: 75px;")));
     $diskreseller->attach($fields->tooltip(Language::_('Cpe.tooltip.quota', true)));
     $fields->setField($diskreseller);
     $bandreseller = $fields->label(Language::_('Cpe.label.bandreseller', true), "cpanel_bandreseller");
     $bandreseller->attach($fields->fieldText("meta[bandreseller]", $this->Html->ifSet($vars->meta['bandreseller']), array("style" => "width: 75px;")));
     $bandreseller->attach($fields->tooltip(Language::_('Cpe.tooltip.quota', true)));
     $fields->setField($bandreseller);
     // Set the cPanel package as a selectable option
     $acl = $fields->label(Language::_('Cpe.label.acl', true), "cpanel_acl");
     $acl->attach($fields->fieldSelect("meta[acl]", $acls, $this->Html->ifSet($vars->meta['acl']), array('id' => "cpanel_acl")));
     $fields->setField($acl);
     // Enable/Disable Sections
     $dashboard = $fields->label(Language::_('Cpe.dashboard', true), "cpanel_dashboard");
     $dashboard->attach($fields->fieldSelect("meta[dashboard]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['dashboard'])));
     $fields->setField($dashboard);
     $details = $fields->label(Language::_('Cpe.details', true), "cpanel_details");
     $details->attach($fields->fieldSelect("meta[details]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['details'])));
     $fields->setField($details);
     $statistics = $fields->label(Language::_('Cpe.stats', true), "cpanel_statistics");
     $statistics->attach($fields->fieldSelect("meta[statistics]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['statistics'])));
     $fields->setField($statistics);
     $changepass = $fields->label(Language::_('Cpe.changepass', true), "cpanel_changepass");
     $changepass->attach($fields->fieldSelect("meta[changepass]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['changepass'])));
     $fields->setField($changepass);
     $ftpaccounts = $fields->label(Language::_('Cpe.ftp', true), "cpanel_ftpaccounts");
     $ftpaccounts->attach($fields->fieldSelect("meta[ftpaccounts]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['ftpaccounts'])));
     $fields->setField($ftpaccounts);
     $webdisk = $fields->label(Language::_('Cpe.webdisk', true), "cpanel_webdisk");
     $webdisk->attach($fields->fieldSelect("meta[webdisk]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['webdisk'])));
     $fields->setField($webdisk);
     $backups = $fields->label(Language::_('Cpe.backups', true), "cpanel_backups");
     $backups->attach($fields->fieldSelect("meta[backups]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['backups'])));
     $fields->setField($backups);
     $databases = $fields->label(Language::_('Cpe.databases', true), "cpanel_databases");
     $databases->attach($fields->fieldSelect("meta[databases]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['databases'])));
     $fields->setField($databases);
     $remotedatabase = $fields->label(Language::_('Cpe.remotedatabase', true), "cpanel_remotedatabase");
     $remotedatabase->attach($fields->fieldSelect("meta[remotedatabase]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['remotedatabase'])));
     $fields->setField($remotedatabase);
     $emails = $fields->label(Language::_('Cpe.emails', true), "cpanel_emails");
     $emails->attach($fields->fieldSelect("meta[emails]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['emails'])));
     $fields->setField($emails);
     $emailforwarder = $fields->label(Language::_('Cpe.emailforwarder', true), "cpanel_emailforwarder");
     $emailforwarder->attach($fields->fieldSelect("meta[emailforwarder]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['emailforwarder'])));
     $fields->setField($emailforwarder);
     $subdomains = $fields->label(Language::_('Cpe.subdomains', true), "cpanel_subdomains");
     $subdomains->attach($fields->fieldSelect("meta[subdomains]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['subdomains'])));
     $fields->setField($subdomains);
     $parkeddomains = $fields->label(Language::_('Cpe.parkeddomains', true), "cpanel_parkeddomains");
     $parkeddomains->attach($fields->fieldSelect("meta[parkeddomains]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['subdomains'])));
     $fields->setField($parkeddomains);
     $addondomains = $fields->label(Language::_('Cpe.addondomains', true), "cpanel_addondomains");
     $addondomains->attach($fields->fieldSelect("meta[addondomains]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['addondomains'])));
     $fields->setField($addondomains);
     $dnszone = $fields->label(Language::_('Cpe.dns_zone', true), "cpanel_dnszone");
     $dnszone->attach($fields->fieldSelect("meta[dnszone]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['dnszone'])));
     $fields->setField($dnszone);
     $cron = $fields->label(Language::_('Cpe.cron', true), "cpanel_cron");
     $cron->attach($fields->fieldSelect("meta[cron]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['cron'])));
     $fields->setField($cron);
     $blockip = $fields->label(Language::_('Cpe.blockip', true), "cpanel_blockip");
     $blockip->attach($fields->fieldSelect("meta[blockip]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['blockip'])));
     $fields->setField($blockip);
     $ssh = $fields->label(Language::_('Cpe.ssh', true), "cpanel_ssh");
     $ssh->attach($fields->fieldSelect("meta[ssh]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['ssh'])));
     $fields->setField($ssh);
     $ssl = $fields->label(Language::_('Cpe.ssl', true), "cpanel_ssl");
     $ssl->attach($fields->fieldSelect("meta[ssl]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['ssl'])));
     $fields->setField($ssl);
     $softaculous = $fields->label(Language::_('Cpe.softaculous', true), "cpanel_softaculous");
     $softaculous->attach($fields->fieldSelect("meta[softaculous]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['softaculous'])));
     $fields->setField($softaculous);
     $loginto = $fields->label(Language::_('Cpe.loginto', true), "cpanel_loginto");
     $loginto->attach($fields->fieldSelect("meta[loginto]", array("true" => Language::_('Cpe.label.enable', true), "false" => Language::_('Cpe.label.disable', true)), $this->Html->ifSet($vars->meta['loginto'])));
     $fields->setField($loginto);
     return $fields;
 }
예제 #8
0
 /**
  * Returns all fields used when adding/editing a package, including any
  * javascript to execute when the page is rendered with these fields.
  *
  * @param $vars stdClass A stdClass object representing a set of post fields
  * @return ModuleFields A ModuleFields object, containg the fields to render as well as any additional HTML markup to include
  */
 public function getPackageFields($vars = null)
 {
     Loader::loadHelpers($this, array("Html"));
     $fields = new ModuleFields();
     $fields->setHtml("\n\t\t\t<script type=\"text/javascript\">\n\t\t\t\t\$(document).ready(function() {\n\t\t\t\t\t// Set whether to show or hide the ACL option\n\t\t\t\t\t\$('#cpanel_acl').closest('li').hide();\n\t\t\t\t\tif (\$('input[name=\"meta[type]\"]:checked').val() == 'reseller')\n\t\t\t\t\t\t\$('#cpanel_acl').closest('li').show();\n\t\t\t\t\t\$('input[name=\"meta[type]\"]').change(function() {\n\t\t\t\t\t\tif (\$(this).val() == 'reseller')\n\t\t\t\t\t\t\t\$('#cpanel_acl').closest('li').show();\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\$('#cpanel_acl').closest('li').hide();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t</script>\n\t\t");
     $row = $this->getCorrectModuleRow($vars);
     $api = $this->getApiByMeta($row->meta);
     if (!isset($this->ArrayHelper)) {
         $this->ArrayHelper = $this->DataStructure->create("Array");
     }
     $packages = array("" => Language::_('Cpe.label.defaultpackage', true));
     $acls = array("" => Language::_('Cpe.label.default', true));
     if ($row) {
         $pkglist = $api->listpkgs()->getResponse();
         $aclslist = $api->listacls()->getResponse();
         //Generate a list with all ACLS
         $keys = (array) $this->Json->decode($api->listacls())->acls;
         $acls = array("" => Language::_('Cpe.label.default', true));
         foreach ($keys as $key => $value) {
             $acls[$key] = $key;
         }
         //$fields->setHtml($this->debug($acls));
         $packages = array("" => Language::_('Cpe.label.defaultpackage', true)) + $this->ArrayHelper->numericToKey($pkglist->package, "name", "name");
     }
     $fields->setHtml(Language::_('Cpe.misc.packageaddhint', true));
     // Set the cPanel package as a selectable option
     $package = $fields->label(Language::_('Cpe.label.package', true), "cpanel_package");
     $package->attach($fields->fieldSelect("meta[package]", $packages, $this->Html->ifSet($vars->meta['package']), array('id' => "cpanel_package")));
     $fields->setField($package);
     $quota = $fields->label(Language::_('Cpe.label.webquota', true), "cpanel_quota");
     $quota->attach($fields->fieldText("meta[webquota]", $this->Html->ifSet($vars->meta['webquota']), array("style" => "width: 75px;")));
     $quota->attach($fields->tooltip(Language::_('Cpe.tooltip.quota', true)));
     $fields->setField($quota);
     $bw = $fields->label(Language::_('Cpe.label.bandwidth', true), "cpanel_bw");
     $bw->attach($fields->fieldText("meta[bandwidth]", $this->Html->ifSet($vars->meta['bandwidth']), array("style" => "width: 75px;")));
     $bw->attach($fields->tooltip(Language::_('Cpe.bandwidth.tooltip')));
     $fields->setField($bw);
     $shell = $fields->label(Language::_('Cpe.label.shellacc', true), "cpanel_shell");
     $shell->attach($fields->fieldCheckbox("meta[shellaccess]", 1, $this->Html->ifSet($vars->meta['shellaccess'], false)));
     $fields->setField($shell);
     $cgi = $fields->label(Language::_('Cpe.label.cgiacc', true), "cpanel_cgi");
     $cgi->attach($fields->fieldCheckbox("meta[cgi]", 1, $this->Html->ifSet($vars->meta['cgi'], false)));
     $fields->setField($cgi);
     $frontpageext = $fields->label(Language::_('Cpe.label.frontpageext', true), "cpanel_fpe");
     $frontpageext->attach($fields->fieldCheckbox("meta[frontpageext]", 1, $this->Html->ifSet($vars->meta['frontpageext'], false)));
     $fields->setField($frontpageext);
     $cptheme = $fields->label(Language::_('Cpe.label.cptheme', true), "cpanel_theme");
     $cptheme->attach($fields->fieldText("meta[cptheme]", $this->Html->ifSet($vars->meta['cptheme']), array("style" => "width: 75px;")));
     $fields->setField($cptheme);
     $maxftp = $fields->label(Language::_('Cpe.label.maxftp', true), "cpanel_maxftp");
     $maxftp->attach($fields->fieldText("meta[maxftp]", $this->Html->ifSet($vars->meta['maxftp']), array("style" => "width: 75px;")));
     $fields->setField($maxftp);
     $maxsql = $fields->label(Language::_('Cpe.label.maxsql', true), "cpanel_maxsql");
     $maxsql->attach($fields->fieldText("meta[maxsql]", $this->Html->ifSet($vars->meta['maxsql']), array("style" => "width: 75px;")));
     $fields->setField($maxsql);
     $maxpop = $fields->label(Language::_('Cpe.label.maxpop', true), "cpanel_maxpop");
     $maxpop->attach($fields->fieldText("meta[maxpop]", $this->Html->ifSet($vars->meta['maxpop']), array("style" => "width: 75px;")));
     $fields->setField($maxpop);
     $dedicatedip = $fields->label(Language::_('Cpe.label.dedip', true), "cpanel_dedicatedip");
     $dedicatedip->attach($fields->fieldCheckbox("meta[dedicatedip]", 1, $this->Html->ifSet($vars->meta['dedicatedip'], false)));
     $fields->setField($dedicatedip);
     $maxdb = $fields->label("Max SQL Databases", "cpanel_maxdatabases");
     $maxdb->attach($fields->fieldText("meta[maxdatabases]", $this->Html->ifSet($vars->meta['maxdatabases']), array("style" => "width: 75px;")));
     $fields->setField($maxdb);
     $maxsubdomains = $fields->label(Language::_('Cpe.label.maxsub', true), "cpanel_maxsubdomains");
     $maxsubdomains->attach($fields->fieldText("meta[maxsubdomains]", $this->Html->ifSet($vars->meta['maxsubdomains']), array("style" => "width: 75px;")));
     $fields->setField($maxsubdomains);
     $maxparkeddomains = $fields->label(Language::_('Cpe.label.maxpark', true), "cpanel_maxparkeddomains");
     $maxparkeddomains->attach($fields->fieldText("meta[maxparkeddomains]", $this->Html->ifSet($vars->meta['maxparkeddomains']), array("style" => "width: 75px;")));
     $fields->setField($maxparkeddomains);
     $maxaddondomains = $fields->label(Language::_('Cpe.label.maxaddon', true), "cpanel_maxaddondomains");
     $maxaddondomains->attach($fields->fieldText("meta[maxaddondomains]", $this->Html->ifSet($vars->meta['maxaddondomains']), array("style" => "width: 75px;")));
     $fields->setField($maxaddondomains);
     $type = $fields->label(Language::_('Cpe.label.type', true), "cpanel_type");
     $type->attach($fields->fieldSelect("meta[type]", array("standard" => "standard", "reseller" => "reseller"), $this->Html->ifSet($vars->meta['type'])));
     $fields->setField($type);
     // Set the cPanel package as a selectable option
     $acl = $fields->label(Language::_('Cpe.label.acl', true), "cpanel_acl");
     $acl->attach($fields->fieldSelect("meta[acl]", $acls, $this->Html->ifSet($vars->meta['acl']), array('id' => "cpanel_acl")));
     $fields->setField($acl);
     return $fields;
 }