<?php

/**
 * \param array $params: pole proměnných prevzatých z sablony. Je vyžadováno: string $params["select_name"] pro určení atributu name selectů, string $params["buttons_name"] pro určění atributu name u tlačítek, array $params["select"] pro určení tagů option v selectech. Volitelný parametr array $params["array_id"] obsahuje id hodnoty. Pro každou id hodnotu se zobrazí select s přednastavenou hodnoutou podle id 
 * \param object &$smarty: objekt smarty 
 * \return false pokud dojde k chybě 
 */
function smarty_function_insert_id_selections($params,&$smarty)
{
  global $webdoc;
  extract($params); //vytvoreni samostatnych promennych z pole $params

  require_once $smarty->_get_plugin_filepath('function','insert_form'); //funkce pro vypsani formularoveho pole nebo tlacitka
  require_once $smarty->_get_plugin_filepath('function','html_options'); //funkce pro vypsani selectu

  if (!isset($select_name))
  {
    $smarty->trigger_error("insert_arrays: nebyl zadan parametr select_name"); //Smarty error
    return false;
  }

  if (!isset($buttons_name))
  {
    $smarty->trigger_error("insert_arrays: nebyl zadan parametr buttons_name"); //Smarty error
    return false;
  }

  if (!isset($select))
  {
    $smarty->trigger_error("insert_arrays: nebyl zadan parametr select"); //Smarty error
    return false;
  }

  $output=""; //vystupni retezec
  $params_form["type"]="submit"; //parametry pro funkci smarty_function_insert_form
  if (isset($array_id))
  {
    $params_options["options"]=$select; //parametry pro funkci smarty_function_html_options
    if (isset($states)) $params_states["options"]=$states; //nastaveni stavu u zadani provazanych requirementu v editaci produktu
    if (isset($priorities)) $params_priorities["options"]=$priorities; //nastaveni priorit u zadani provazanych requirementu v editaci produktu
    $params_form["value"]="Cancel";
    $i=0;
    foreach ($array_id as $key => $id) //pruchod id hodnotami
    {
      $i++;
      $params_options["name"]="$select_name"."[$key]";
      $params_options["selected"]=$id;
      $output.=smarty_function_html_options($params_options,$smarty); //vypsani selectu s atributem name=$select_name"."[$key]
      if (isset($states))
      {
        $params_states["name"]="states_id"."[$key]";
        $params_states["selected"]=$states_id[$key];
        $output.="".smarty_function_html_options($params_states,$smarty); //vypsani selectu s atributem name=$select_name"."[$key]
      }
      if (isset($priorities))
      {
        $params_priorities["name"]="priorities_id"."[$key]";
        $params_priorities["selected"]=$priorities_id[$key];
        $output.="".smarty_function_html_options($params_priorities,$smarty); //vypsani selectu s atributem name=$select_name"."[$key]
      }       
      $params_form["name"]="button_cancel_$buttons_name"."[$key]";
      $output.=smarty_function_insert_form($params_form,$smarty); //vypsani tlacitka Cancel s atributem name=button_cancel_$buttons_name"."[$key]"
      if ($i<count($array_id)) $output.="<br />"; //odradkovani, pokud se nejedna o posledni select      
    }
  }
  $params_form["value"]="Add";
  $params_form["name"]="button_add_$buttons_name";
  $output.=smarty_function_insert_form($params_form,$smarty); //vypsani tlacitka Add
  return $output;
}

?>
