Initial Commit of AgileBill Open Source
This commit is contained in:
51
includes/smarty/plugins/function.html_menu_multi.php
Normal file
51
includes/smarty/plugins/function.html_menu_multi.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Smarty plugin
|
||||
* -------------------------------------------------------------
|
||||
* Type: function
|
||||
* Name: html_menu_multi
|
||||
* Purpose: Get creates a html menu for associated records (multi-select)
|
||||
* -------------------------------------------------------------
|
||||
*/
|
||||
function smarty_function_html_menu_multi($params, &$smarty)
|
||||
{
|
||||
$conditions='';
|
||||
extract($params);
|
||||
if(empty($field)) $field = $name;
|
||||
if(empty($id)) $id = $field;
|
||||
if(empty($size)) $size = '4';
|
||||
|
||||
|
||||
|
||||
$db = &DB();
|
||||
$rs = & $db->Execute( $sql = sqlSelect($db, $assoc_table, "id,".$assoc_field, $conditions, $assoc_field));
|
||||
|
||||
if(empty($default)) $default = Array('');
|
||||
elseif (is_array($default)) $default = $default;
|
||||
elseif (is_numeric($default)) $default[] = $default;
|
||||
elseif (is_string($default)) $default = unserialize($default);
|
||||
else $default = Array('');
|
||||
|
||||
|
||||
if($default == "all") $return .= '<option value="" selected></option>';
|
||||
$i=0;
|
||||
if($rs && $rs->RecordCount() > 0) {
|
||||
while(!$rs->EOF) {
|
||||
$return .= '<option value="' . $rs->fields['id'] . '"';
|
||||
foreach($default as $def) { if($def == $rs->fields["id"]) $return .= " selected"; break; }
|
||||
$return .= '>' . $rs->fields["$assoc_field"] . '</option>';
|
||||
$i++;
|
||||
$rs->MoveNext();
|
||||
}
|
||||
} else {
|
||||
if( $default != "all") $return .= '<option value=""></option>';
|
||||
}
|
||||
|
||||
$return .= '</select>';
|
||||
|
||||
if($i < $size) $size = $i++;
|
||||
echo '<select id="'.$id.'" name="'. $field .'[]" size="'.$size.'" value="" multiple>' . $return;
|
||||
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user