/**
  *
  * @param array | string $cells
  */
 function table_add_cells($cells)
 {
     if (is_array($cells)) {
         $c = count($cells);
         if ($c != 2) {
             throw new \Exception("Unsupported array cell render '{$c}'");
         }
         View::get()->addControl(View::controlFromRenderedString(View::CONTROL_TEXT, '', $cells[0]));
         View::get()->addControl(View::controlFromRenderedString(View::CONTROL_COMBO, '', $cells[1]));
     } else {
         View::get()->addControl(View::controlFromRenderedString(View::CONTROL_TEXT, $label, $cells));
     }
 }
 function textarea_cells($label, $name, $value, $cols, $rows, $title = null, $params = "")
 {
     global $Ajax;
     default_focus($name);
     if ($value == null) {
         $value = !isset($_POST[$name]) ? "" : $_POST[$name];
     }
     $controlAsString = "<textarea class='form-control' name='{$name}' cols='{$cols}' rows='{$rows}'" . ($title ? " title='{$title}'" : '') . ">{$value}</textarea></td>\n";
     View::get()->addControl(View::controlFromRenderedString(View::CONTROL_TEXTAREA, $label, $controlAsString));
     $Ajax->addUpdate($name, $name, $value);
 }
 /**
  *
  * @param array | string $controls
  */
 public function addComboControls($label, $controls)
 {
     if (is_array($controls)) {
         $c = count($controls);
         if ($c != 2) {
             throw new \Exception("Unsupported control array size '{$c}'");
         }
         if ($controls[0]) {
             $this->addControl(View::controlFromRenderedString(self::CONTROL_TEXT, $label, $controls[0]));
         }
         $this->addControl(View::controlFromRenderedString(self::CONTROL_COMBO, '', $controls[1]));
     } else {
         $this->addControl(View::controlFromRenderedString(self::CONTROL_COMBO, $label, $controls));
     }
 }
 function coa_list_row($label, $name, $value = null)
 {
     global $path_to_root, $installed_extensions;
     $path = $path_to_root . '/sql/';
     $coas = array();
     $sqldir = opendir($path);
     while (false !== ($fname = readdir($sqldir))) {
         if (is_file($path . $fname) && substr($fname, -4) == '.sql' && @($fname[2] == '_')) {
             $ext = array_search_value($fname, $installed_extensions, 'sql');
             if ($ext != null) {
                 $descr = $ext['name'];
             } elseif ($fname == 'en_US-new.sql') {
                 // two standard COAs
                 $descr = _("Standard new company American COA (4 digit)");
             } elseif ($fname == 'en_US-demo.sql') {
                 $descr = _("Standard American COA (4 digit) with demo data");
             } else {
                 $descr = $fname;
             }
             $coas[$fname] = $descr;
         }
     }
     ksort($coas);
     View::get()->layoutHintRow();
     $controlAsString = array_selector($name, $value, $coas);
     View::get()->addControl(View::controlFromRenderedString(View::CONTROL_ARRAY, $label, $controlAsString));
 }