mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-28 00:39:19 +01:00
removed not used sbox classes, use html-, country- or uiaccountsel-class instead
This commit is contained in:
parent
1f99dafd1b
commit
fbb8eee4ee
@ -1,407 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare API - Select Box *
|
|
||||||
* This file written by Marc Logemann <loge@phpgroupware.org> *
|
|
||||||
* Class for creating predefines select boxes *
|
|
||||||
* Copyright (C) 2000, 2001 Dan Kuykendall *
|
|
||||||
* -------------------------------------------------------------------------*
|
|
||||||
* This library is part of the eGroupWare API *
|
|
||||||
* ------------------------------------------------------------------------ *
|
|
||||||
* This library is free software; you can redistribute it and/or modify it *
|
|
||||||
* under the terms of the GNU Lesser General Public License as published by *
|
|
||||||
* the Free Software Foundation; either version 2.1 of the License, *
|
|
||||||
* or any later version. *
|
|
||||||
* This library is distributed in the hope that it will be useful, but *
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
|
||||||
* See the GNU Lesser General Public License for more details. *
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License *
|
|
||||||
* along with this library; if not, write to the Free Software Foundation, *
|
|
||||||
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
|
|
||||||
\**************************************************************************/
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
class sbox
|
|
||||||
{
|
|
||||||
var $monthnames = array(
|
|
||||||
'',
|
|
||||||
'January',
|
|
||||||
'February',
|
|
||||||
'March',
|
|
||||||
'April',
|
|
||||||
'May',
|
|
||||||
'June',
|
|
||||||
'July',
|
|
||||||
'August',
|
|
||||||
'September',
|
|
||||||
'October',
|
|
||||||
'November',
|
|
||||||
'December'
|
|
||||||
);
|
|
||||||
|
|
||||||
var $weekdays = array(
|
|
||||||
'',
|
|
||||||
'Monday',
|
|
||||||
'Tuesday',
|
|
||||||
'Wednesday',
|
|
||||||
'Thursday',
|
|
||||||
'Friday',
|
|
||||||
'Saturday',
|
|
||||||
'Sunday'
|
|
||||||
);
|
|
||||||
|
|
||||||
function sbox()
|
|
||||||
{
|
|
||||||
if (!$this->country_array)
|
|
||||||
{
|
|
||||||
$country = CreateObject('phpgwapi.country');
|
|
||||||
$this->country_array = &$country->country_array;
|
|
||||||
unset($country);
|
|
||||||
unset($this->country_array[' ']);
|
|
||||||
// try to translate them and sort alphabetic
|
|
||||||
foreach($this->country_array as $k => $name)
|
|
||||||
{
|
|
||||||
if (($translated = lang($name)) != $name.'*')
|
|
||||||
{
|
|
||||||
$this->country_array[$k] = $translated;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
asort($this->country_array);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function hour_formated_text($name, $selected = 0)
|
|
||||||
{
|
|
||||||
$s = '<select name="' . $name . '">';
|
|
||||||
$t_s[$selected] = ' selected';
|
|
||||||
|
|
||||||
for ($i=0; $i<24; $i++)
|
|
||||||
{
|
|
||||||
$s .= '<option value="' . $i . '"' . $t_s[$i] . '>'
|
|
||||||
. $GLOBALS['phpgw']->common->formattime($i+1,"00") . '</option>' . "\n";
|
|
||||||
}
|
|
||||||
$s .= "</select>";
|
|
||||||
|
|
||||||
return $s;
|
|
||||||
}
|
|
||||||
|
|
||||||
function hour_text($name, $selected = 0)
|
|
||||||
{
|
|
||||||
$s = '<select name="' . $name . '">';
|
|
||||||
$t_s[$selected] = " selected";
|
|
||||||
for ($i=1; $i<13; $i++)
|
|
||||||
{
|
|
||||||
$s .= '<option value="' . $i . '"' . $t_s[$i] . '>'
|
|
||||||
. $i . '</option>';
|
|
||||||
$s .= "\n";
|
|
||||||
}
|
|
||||||
$s .= "</select>";
|
|
||||||
|
|
||||||
return $s;
|
|
||||||
}
|
|
||||||
|
|
||||||
// I would like to add a increment feature
|
|
||||||
function sec_minute_text($name, $selected = 0)
|
|
||||||
{
|
|
||||||
$s = '<select name="' . $name . '">';
|
|
||||||
$t_s[$selected] = " selected";
|
|
||||||
|
|
||||||
for ($i=0; $i<60; $i++)
|
|
||||||
{
|
|
||||||
$s .= '<option value="' . $i . '"' . $t_s[sprintf("%02d",$i)] . '>' . sprintf("%02d",$i) . '</option>';
|
|
||||||
$s .= "\n";
|
|
||||||
}
|
|
||||||
$s .= "</select>";
|
|
||||||
return $s;
|
|
||||||
}
|
|
||||||
|
|
||||||
function ap_text($name,$selected)
|
|
||||||
{
|
|
||||||
$selected = strtolower($selected);
|
|
||||||
$t[$selected] = " selected";
|
|
||||||
$s = '<select name="' . $name . '">'
|
|
||||||
. ' <option value="am"' . $t['am'] . '>am</option>'
|
|
||||||
. ' <option value="pm"' . $t['pm'] . '>pm</option>';
|
|
||||||
$s .= '</select>';
|
|
||||||
return $s;
|
|
||||||
}
|
|
||||||
|
|
||||||
function full_time($hour_name,$hour_selected,$min_name,$min_selected,$sec_name,$sec_selected,$ap_name,$ap_selected)
|
|
||||||
{
|
|
||||||
// This needs to be changed to support there time format preferences
|
|
||||||
$s = $this->hour_text($hour_name,$hour_selected)
|
|
||||||
. $this->sec_minute_text($min_name,$min_selected)
|
|
||||||
. $this->sec_minute_text($sec_name,$sec_selected)
|
|
||||||
. $this->ap_text($ap_name,$ap_selected);
|
|
||||||
return $s;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getWeekdays($name, $selected=0)
|
|
||||||
{
|
|
||||||
$out = '';
|
|
||||||
for($i=0;$i<count($this->weekdays);$i++)
|
|
||||||
{
|
|
||||||
$out .= '<option value="'.$i.'"'.($selected!=$i?'':' selected').'>'.($this->weekdays[$i]!=''?lang($this->weekdays[$i]):'').'</option>'."\n";
|
|
||||||
}
|
|
||||||
return '<select name="'.$name.'">'."\n".$out.'</select>'."\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
function nr2weekday($selected = 0)
|
|
||||||
{
|
|
||||||
for($i=0;$i<count($this->weekdays);$i++)
|
|
||||||
{
|
|
||||||
if ($selected > 0 && $selected == $i)
|
|
||||||
{
|
|
||||||
return lang($this->weekdays[$i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getMonthText($name, $selected=0)
|
|
||||||
{
|
|
||||||
$out = '';
|
|
||||||
$c_monthnames = count($this->monthnames);
|
|
||||||
for($i=0;$i<$c_monthnames;$i++)
|
|
||||||
{
|
|
||||||
$out .= '<option value="'.$i.'"'.($selected!=$i?'':' selected').'>'.($this->monthnames[$i]!=''?lang($this->monthnames[$i]):'').'</option>'."\n";
|
|
||||||
}
|
|
||||||
return '<select name="'.$name.'">'."\n".$out.'</select>'."\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
function getDays($name, $selected=0)
|
|
||||||
{
|
|
||||||
$out = '';
|
|
||||||
|
|
||||||
for($i=0;$i<32;$i++)
|
|
||||||
{
|
|
||||||
$out .= '<option value="'.($i?$i:'').'"'.($selected!=$i?'':' selected').'>'.($i?$i:'').'</option>'."\n";
|
|
||||||
}
|
|
||||||
return '<select name="'.$name.'">'."\n".$out.'</select>'."\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
function getYears($name, $selected = 0, $startYear = 0, $endyear = 0)
|
|
||||||
{
|
|
||||||
if (!$startYear)
|
|
||||||
{
|
|
||||||
$startYear = date('Y') - 5;
|
|
||||||
}
|
|
||||||
if ($selected && $startYear > $selected) $startYear = $selected;
|
|
||||||
|
|
||||||
if (!$endyear)
|
|
||||||
{
|
|
||||||
$endyear = date('Y') + 6;
|
|
||||||
}
|
|
||||||
if ($selected && $endYear < $selected) $endYear = $selected;
|
|
||||||
|
|
||||||
$out = '<select name="'.$name.'">'."\n";
|
|
||||||
|
|
||||||
$out .= '<option value=""';
|
|
||||||
if ($selected == 0 OR $selected == '')
|
|
||||||
{
|
|
||||||
$out .= ' SELECTED';
|
|
||||||
}
|
|
||||||
$out .= '></option>'."\n";
|
|
||||||
|
|
||||||
// We need to add some good error checking here.
|
|
||||||
for ($i=$startYear;$i<$endyear; $i++)
|
|
||||||
{
|
|
||||||
$out .= '<option value="'.$i.'"';
|
|
||||||
if ($selected==$i)
|
|
||||||
{
|
|
||||||
$out .= ' SELECTED';
|
|
||||||
}
|
|
||||||
$out .= '>'.$i.'</option>'."\n";
|
|
||||||
}
|
|
||||||
$out .= '</select>'."\n";
|
|
||||||
|
|
||||||
return $out;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPercentage($name, $selected=0)
|
|
||||||
{
|
|
||||||
$out = "<select name=\"$name\">\n";
|
|
||||||
|
|
||||||
for($i=0;$i<101;$i=$i+10)
|
|
||||||
{
|
|
||||||
$out .= "<option value=\"$i\"";
|
|
||||||
if($selected==$i)
|
|
||||||
{
|
|
||||||
$out .= " SELECTED";
|
|
||||||
}
|
|
||||||
$out .= ">$i%</option>\n";
|
|
||||||
}
|
|
||||||
$out .= "</select>\n";
|
|
||||||
// echo $out;
|
|
||||||
return $out;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPriority($name, $selected=2)
|
|
||||||
{
|
|
||||||
$arr = array('','low','normal','high');
|
|
||||||
$out = '<select name="' . $name . '">';
|
|
||||||
|
|
||||||
for($i=1;$i<count($arr);$i++)
|
|
||||||
{
|
|
||||||
$out .= "<option value=\"";
|
|
||||||
$out .= $i;
|
|
||||||
$out .= "\"";
|
|
||||||
if ($selected==$i)
|
|
||||||
{
|
|
||||||
$out .= ' SELECTED';
|
|
||||||
}
|
|
||||||
$out .= ">";
|
|
||||||
$out .= lang($arr[$i]);
|
|
||||||
$out .= "</option>\n";
|
|
||||||
}
|
|
||||||
$out .= "</select>\n";
|
|
||||||
return $out;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getAccessList($name, $selected="private")
|
|
||||||
{
|
|
||||||
$arr = array(
|
|
||||||
"private" => "Private",
|
|
||||||
"public" => "Global public",
|
|
||||||
"group" => "Group public"
|
|
||||||
);
|
|
||||||
|
|
||||||
if (ereg(",", $selected))
|
|
||||||
{
|
|
||||||
$selected = "group";
|
|
||||||
}
|
|
||||||
|
|
||||||
$out = "<select name=\"$name\">\n";
|
|
||||||
|
|
||||||
for(reset($arr);current($arr);next($arr))
|
|
||||||
{
|
|
||||||
$out .= '<option value="' . key($arr) . '"';
|
|
||||||
if($selected==key($arr))
|
|
||||||
{
|
|
||||||
$out .= " SELECTED";
|
|
||||||
}
|
|
||||||
$out .= ">" . pos($arr) . "</option>\n";
|
|
||||||
}
|
|
||||||
$out .= "</select>\n";
|
|
||||||
return $out;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getGroups($groups, $selected="", $name="n_groups[]")
|
|
||||||
{
|
|
||||||
$out = '<select name="' . $name . '" multiple>';
|
|
||||||
while (list($null,$group) = each($groups))
|
|
||||||
{
|
|
||||||
$out .= '<option value="' . $group['account_id'] . '"';
|
|
||||||
if(@is_array($selected))
|
|
||||||
{
|
|
||||||
for($i=0;$i<count($selected);$i++)
|
|
||||||
{
|
|
||||||
if ($group['account_id'] == $selected[$i])
|
|
||||||
{
|
|
||||||
$out .= " SELECTED";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elseif (ereg("," . $group['account_id'] . ",", $selected))
|
|
||||||
{
|
|
||||||
$out .= " SELECTED";
|
|
||||||
}
|
|
||||||
$out .= ">" . $group['account_name'] . "</option>\n";
|
|
||||||
}
|
|
||||||
$out .= "</select>\n";
|
|
||||||
|
|
||||||
return $out;
|
|
||||||
}
|
|
||||||
|
|
||||||
function list_states($name, $selected = '')
|
|
||||||
{
|
|
||||||
$states = array(
|
|
||||||
'' => lang('Select one'),
|
|
||||||
'--' => 'non US',
|
|
||||||
'AL' => 'Alabama',
|
|
||||||
'AK' => 'Alaska',
|
|
||||||
'AZ' => 'Arizona',
|
|
||||||
'AR' => 'Arkansas',
|
|
||||||
'CA' => 'California',
|
|
||||||
'CO' => 'Colorado',
|
|
||||||
'CT' => 'Connecticut',
|
|
||||||
'DE' => 'Delaware',
|
|
||||||
'DC' => 'District of Columbia',
|
|
||||||
'FL' => 'Florida',
|
|
||||||
'GA' => 'Georgia',
|
|
||||||
'HI' => 'Hawaii',
|
|
||||||
'ID' => 'Idaho',
|
|
||||||
'IL' => 'Illinois',
|
|
||||||
'IN' => 'Indiana',
|
|
||||||
'IA' => 'Iowa',
|
|
||||||
'KS' => 'Kansas',
|
|
||||||
'KY' => 'Kentucky',
|
|
||||||
'LA' => 'Louisiana',
|
|
||||||
'ME' => 'Maine',
|
|
||||||
'MD' => 'Maryland',
|
|
||||||
'MA' => 'Massachusetts',
|
|
||||||
'MI' => 'Michigan',
|
|
||||||
'MN' => 'Minnesota',
|
|
||||||
'MO' => 'Missouri',
|
|
||||||
'MS' => 'Mississippi',
|
|
||||||
'MT' => 'Montana',
|
|
||||||
'NC' => 'North Carolina',
|
|
||||||
'ND' => 'Noth Dakota',
|
|
||||||
'NE' => 'Nebraska',
|
|
||||||
'NH' => 'New Hampshire',
|
|
||||||
'NJ' => 'New Jersey',
|
|
||||||
'NM' => 'New Mexico',
|
|
||||||
'NV' => 'Nevada',
|
|
||||||
'NY' => 'New York',
|
|
||||||
'OH' => 'Ohio',
|
|
||||||
'OK' => 'Oklahoma',
|
|
||||||
'OR' => 'Oregon',
|
|
||||||
'PA' => 'Pennsylvania',
|
|
||||||
'RI' => 'Rhode Island',
|
|
||||||
'SC' => 'South Carolina',
|
|
||||||
'SD' => 'South Dakota',
|
|
||||||
'TN' => 'Tennessee',
|
|
||||||
'TX' => 'Texas',
|
|
||||||
'UT' => 'Utah',
|
|
||||||
'VA' => 'Virginia',
|
|
||||||
'VT' => 'Vermont',
|
|
||||||
'WA' => 'Washington',
|
|
||||||
'WI' => 'Wisconsin',
|
|
||||||
'WV' => 'West Virginia',
|
|
||||||
'WY' => 'Wyoming'
|
|
||||||
);
|
|
||||||
|
|
||||||
while (list($sn,$ln) = each($states))
|
|
||||||
{
|
|
||||||
$s .= '<option value="' . $sn . '"';
|
|
||||||
if ($selected == $sn)
|
|
||||||
{
|
|
||||||
$s .= ' selected';
|
|
||||||
}
|
|
||||||
$s .= '>' . $ln . '</option>';
|
|
||||||
}
|
|
||||||
return '<select name="' . $name . '">' . $s . '</select>';
|
|
||||||
}
|
|
||||||
|
|
||||||
function form_select($selected,$name='')
|
|
||||||
{
|
|
||||||
if($name=='')
|
|
||||||
{
|
|
||||||
$name = 'country';
|
|
||||||
}
|
|
||||||
$str = '<select name="'.$name.'">'."\n"
|
|
||||||
. ' <option value=" "'.($selected == ' '?' selected':'').'>'.lang('Select One').'</option>'."\n";
|
|
||||||
foreach($this->country_array as $key => $value)
|
|
||||||
{
|
|
||||||
$str .= ' <option value="'.$key.'"'.($selected == $key?' selected':'') . '>'.$value.'</option>'."\n";
|
|
||||||
}
|
|
||||||
$str .= '</select>'."\n";
|
|
||||||
return $str;
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_full_name($selected)
|
|
||||||
{
|
|
||||||
return($this->country_array[$selected]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,603 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare API - Select Box 2 *
|
|
||||||
* Written by Ralf Becker <RalfBecker@outdoor-training.de> *
|
|
||||||
* Class for creating select boxes for addresse, projects, array items, ... *
|
|
||||||
* Copyright (C) 2000, 2001 Dan Kuykendall *
|
|
||||||
* ------------------------------------------------------------------------ *
|
|
||||||
* This library is part of the eGroupWare API *
|
|
||||||
* http://www.egroupware.org/api *
|
|
||||||
* ------------------------------------------------------------------------ *
|
|
||||||
* This library is free software; you can redistribute it and/or modify it *
|
|
||||||
* under the terms of the GNU Lesser General Public License as published by *
|
|
||||||
* the Free Software Foundation; either version 2.1 of the License, *
|
|
||||||
* or any later version. *
|
|
||||||
* This library is distributed in the hope that it will be useful, but *
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
|
||||||
* See the GNU Lesser General Public License for more details. *
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License *
|
|
||||||
* along with this library; if not, write to the Free Software Foundation, *
|
|
||||||
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
|
|
||||||
\**************************************************************************/
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
if(!isset($GLOBALS['egw_info']['flags']['included_classes']['sbox']))
|
|
||||||
{
|
|
||||||
include(EGW_API_INC . '/class.sbox.inc.php');
|
|
||||||
$GLOBALS['egw_info']['flags']['included_classes']['sbox'] = True;
|
|
||||||
}
|
|
||||||
|
|
||||||
class sbox2 extends sbox
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Function: search for an id of an db-entry, eg. an address
|
|
||||||
* Parameter: $name base name for all template-vars and of the submitted vars (not to conflict with other template-var-names !!!)
|
|
||||||
* $lang_name titel of the field
|
|
||||||
* $prompt for the JavaScript prompt()
|
|
||||||
* $id_name id of previosly selected entry
|
|
||||||
* $content from id (eg. 'company: lastname, givenname' for address $id) if $id != 0, or
|
|
||||||
* array with searchresult (id's as key), if array is empty if search was unsucsessful
|
|
||||||
* $multipe present a multiple selectable box instead of one selector-button
|
|
||||||
* Returns: array with vars to set in temaplate, the vars are:
|
|
||||||
* {doSearchFkt} Javascript Funktion, place somewhere in Template (before rest of the vars)
|
|
||||||
* {$name.'_title} button with titel $lang_name (if JS) or just $lang_name
|
|
||||||
* {$name} content of $id if != 0, or lang('use Button to search for').$lang_name
|
|
||||||
* {$name.'_nojs} searchfield + button if we have no JavaScript, else empty
|
|
||||||
*
|
|
||||||
* To use call $template->set_var(getIdSearch(...));
|
|
||||||
* the template should look like {doSearchFkt} <tr><td>{XXX_title}</td><td>{XXX}</td><td>{XXX_nojs}</td></tr> (XXX is content of $name)
|
|
||||||
* In the submitted page the vars $query_XXX and $id_XXX are set according to what is selected, see getAddress as Example
|
|
||||||
*/
|
|
||||||
|
|
||||||
function sbox2()
|
|
||||||
{
|
|
||||||
$this->sbox(); // call constructor extended class
|
|
||||||
}
|
|
||||||
|
|
||||||
function getId($name,$lang_name,$prompt,$id_name,$content='',$note='',$multiple=False)
|
|
||||||
{
|
|
||||||
// echo "<p>getId('$name','$lang_name','$prompt',$id_name,'$content') =";
|
|
||||||
$ret['doSearchFkt'] =
|
|
||||||
'<script language="JavaScript">'."\n".
|
|
||||||
" function doSearch(field,ask) {\n".
|
|
||||||
" field.value = prompt(ask,'');\n".
|
|
||||||
" if (field.value != 'null') {\n".
|
|
||||||
" if (field.value.length == 0)\n".
|
|
||||||
" field.value = '%';\n".
|
|
||||||
" field.form.submit();\n".
|
|
||||||
" } else\n".
|
|
||||||
" field.value = ''\n".
|
|
||||||
" }\n".
|
|
||||||
'</script>';
|
|
||||||
|
|
||||||
$ret[$name.'_title'] = is_array($content) && count($content) ? $lang_name :
|
|
||||||
'<script language="JavaScript">'."\n".
|
|
||||||
" document.writeln('<input type=\"hidden\" name=\"query_$name\" value=\"\">');\n".
|
|
||||||
" document.writeln('<input type=\"button\" onClick=\"doSearch(this.form.query_$name,\'$prompt\')\" value=\"$lang_name\">');\n".
|
|
||||||
"</script>\n".
|
|
||||||
"<noscript>\n".
|
|
||||||
" $lang_name\n".
|
|
||||||
"</noscript>";
|
|
||||||
|
|
||||||
if (is_array($content))
|
|
||||||
{
|
|
||||||
// result from search
|
|
||||||
if (!count($content))
|
|
||||||
{
|
|
||||||
// search was unsuccsessful
|
|
||||||
$ret[$name] = lang('no entries found, try again ...');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$ret[$name.'_OK'] = ''; // flag we have something so select
|
|
||||||
if ($multiple)
|
|
||||||
{
|
|
||||||
$ret[$name] = '<select name="id_'.$name.'[]" size=10 multiple>'."\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$ret[$name] = '<select name="id_'.$name.'">'."\n";
|
|
||||||
}
|
|
||||||
while (list($id,$text) = each($content))
|
|
||||||
{
|
|
||||||
$ret[$name] .= "<option value=\"$id\">" . $GLOBALS['egw']->strip_html($text) . "\n";
|
|
||||||
}
|
|
||||||
$ret[$name] .= '<option value="0">'.lang('none')."\n";
|
|
||||||
$ret[$name] .= '</select>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ($id_name)
|
|
||||||
{
|
|
||||||
$ret[$name] = $content . "\n<input type=\"hidden\" name=\"id_$name\" value=\"$id_name\">";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$ret[$name] = "<span class=note>$note</span>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$ret[$name.'_nojs'] =
|
|
||||||
"<noscript>\n".
|
|
||||||
" <input name=\"query_$name\" value=\"\" size=10> <input type=\"submit\" value=\"?\">\n".
|
|
||||||
"</noscript>";
|
|
||||||
|
|
||||||
// print_r($ret);
|
|
||||||
return $ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
function event2name($event)
|
|
||||||
{
|
|
||||||
if (!is_object($this->bocal))
|
|
||||||
{
|
|
||||||
$this->bocal = createobject('calendar.bocalendar');
|
|
||||||
}
|
|
||||||
if (!is_array($event) && (int)$event > 0)
|
|
||||||
{
|
|
||||||
$event = $this->bocal->read_entry($event);
|
|
||||||
}
|
|
||||||
if (!is_array($event))
|
|
||||||
{
|
|
||||||
return 'not an event !!!';
|
|
||||||
}
|
|
||||||
$name = $GLOBALS['egw']->common->show_date($this->bocal->maketime($event['start']) - $this->bocal->datetime->tz_offset);
|
|
||||||
$name .= ' -- ' . $GLOBALS['egw']->common->show_date($this->bocal->maketime($event['end']) - $this->bocal->datetime->tz_offset);
|
|
||||||
$name .= ': ' . $event['title'];
|
|
||||||
|
|
||||||
return $GLOBALS['egw']->strip_html($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Function Allows you to show and select an event from the calendar (works with and without javascript !!!)
|
|
||||||
* Parameters $name string with basename of all variables (not to conflict with the name other template or submitted vars !!!)
|
|
||||||
* $id_name id of the address for edit or 0 if none selected so far
|
|
||||||
* $query_name have to be called $query_XXX, the search pattern after the submit, has to be passed back to the function
|
|
||||||
* $multipe present a multiple selectable box instead of one selector-button
|
|
||||||
* On Submit $id_XXX contains the selected event (if != 0)
|
|
||||||
* $query_XXX search pattern if the search button is pressed by the user, or '' if regular submit
|
|
||||||
* Returns array with vars to set for the template, set with: $template->set_var(getEvent(...)); (see getId())
|
|
||||||
*
|
|
||||||
* Note As query's for an event are submitted, you have to check $query_XXX if it is a search or a regular submit (!$query_string)
|
|
||||||
*/
|
|
||||||
function getEvent($name,$id_name,$query_name,$title='',$multiple=False)
|
|
||||||
{
|
|
||||||
// echo "<p>getEvent('$name',$id_name,'$query_name','$title')</p>";
|
|
||||||
|
|
||||||
// fallback if calendar is not installed or not enabled for user
|
|
||||||
if (!file_exists(EGW_SERVER_ROOT.'/calendar') || !$GLOBALS['egw_info']['user']['apps']['calendar']['enabled'])
|
|
||||||
{
|
|
||||||
return array(
|
|
||||||
$name => "<input type=\"hidden\" name=\"id_$name\" value=\"$id_name\">\n",
|
|
||||||
$name.'_no_js' => '',
|
|
||||||
$name.'_title' => ''
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if ($id_name || $query_name)
|
|
||||||
{
|
|
||||||
if (!is_object($this->bocal))
|
|
||||||
{
|
|
||||||
$this->bocal = createobject('calendar.bocalendar');
|
|
||||||
}
|
|
||||||
if ($query_name)
|
|
||||||
{
|
|
||||||
$event_ids = $this->bocal->search_keywords($query_name);
|
|
||||||
$content = array();
|
|
||||||
while ($event_ids && list($key,$id) = each($event_ids))
|
|
||||||
{
|
|
||||||
$content[$id] = $this->event2name($id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$event = $this->bocal->read_entry($id_name);
|
|
||||||
if ($event && is_array($event))
|
|
||||||
{
|
|
||||||
$content = $this->event2name($event);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!$title)
|
|
||||||
{
|
|
||||||
$title = lang('Calendar');
|
|
||||||
}
|
|
||||||
return $this->getId($name,$title,lang('Pattern for Search in Calendar'),$id_name,$content,lang('use Button to search for Calendarevent'),$multiple);
|
|
||||||
}
|
|
||||||
|
|
||||||
function addr2name($addr)
|
|
||||||
{
|
|
||||||
$name = $addr['n_family'];
|
|
||||||
if ($addr['n_given'])
|
|
||||||
{
|
|
||||||
$name .= ', '.$addr['n_given'];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ($addr['n_prefix'])
|
|
||||||
{
|
|
||||||
$name .= ', '.$addr['n_prefix'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($addr['org_name'])
|
|
||||||
{
|
|
||||||
$name = $addr['org_name'].': '.$name;
|
|
||||||
}
|
|
||||||
return $GLOBALS['egw']->strip_html($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Function Allows you to show and select an address from the addressbook (works with and without javascript !!!)
|
|
||||||
* Parameters $name string with basename of all variables (not to conflict with the name other template or submitted vars !!!)
|
|
||||||
* $id_name id of the address for edit or 0 if none selected so far
|
|
||||||
* $query_name have to be called $query_XXX, the search pattern after the submit, has to be passed back to the function
|
|
||||||
* $multipe present a multiple selectable box instead of one selector-button
|
|
||||||
* On Submit $id_XXX contains the selected address (if != 0)
|
|
||||||
* $query_XXX search pattern if the search button is pressed by the user, or '' if regular submit
|
|
||||||
* Returns array with vars to set for the template, set with: $template->set_var(getAddress(...)); (see getId())
|
|
||||||
*
|
|
||||||
* Note As query's for an address are submitted, you have to check $query_XXX if it is a search or a regular submit (!$query_string)
|
|
||||||
*/
|
|
||||||
function getAddress($name,$id_name,$query_name,$title='',$multiple=False)
|
|
||||||
{
|
|
||||||
// echo "<p>getAddress('$name',$id_name,'$query_name','$title')</p>";
|
|
||||||
if ($id_name || $query_name)
|
|
||||||
{
|
|
||||||
$contacts = createobject('phpgwapi.contacts');
|
|
||||||
|
|
||||||
if ($query_name)
|
|
||||||
{
|
|
||||||
$addrs = $contacts->read(0,0,'',$query_name,'','DESC','org_name,n_family,n_given');
|
|
||||||
$content = array();
|
|
||||||
while ($addrs && list($key,$addr) = each($addrs))
|
|
||||||
{
|
|
||||||
$content[$addr['id']] = $this->addr2name($addr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
list($addr) = $contacts->read_single_entry($id_name);
|
|
||||||
if (count($addr))
|
|
||||||
{
|
|
||||||
$content = $this->addr2name($addr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!$title)
|
|
||||||
{
|
|
||||||
$title = lang('Addressbook');
|
|
||||||
}
|
|
||||||
return $this->getId($name,$title,lang('Pattern for Search in Addressbook'),$id_name,$content,lang('use Button to search for Address'),$multiple);
|
|
||||||
}
|
|
||||||
|
|
||||||
function addr2email($addr,$home='')
|
|
||||||
{
|
|
||||||
if (!is_array($addr))
|
|
||||||
{
|
|
||||||
$home = substr($addr,-1) == 'h';
|
|
||||||
$contacts = createobject('phpgwapi.contacts');
|
|
||||||
list($addr) = $contacts->read_single_entry((int)$addr);
|
|
||||||
}
|
|
||||||
if ($home)
|
|
||||||
{
|
|
||||||
$home = '_home';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!count($addr) || !$addr['email'.$home])
|
|
||||||
{
|
|
||||||
return False;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($addr['n_given'])
|
|
||||||
{
|
|
||||||
$name = $addr['n_given'];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ($addr['n_prefix'])
|
|
||||||
{
|
|
||||||
$name = $addr['n_prefix'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$name .= ($name ? ' ' : '') . $addr['n_family'];
|
|
||||||
|
|
||||||
return $name.' <'.$addr['email'.$home].'>';
|
|
||||||
}
|
|
||||||
|
|
||||||
function getEmail($name,$id_name,$query_name,$title='')
|
|
||||||
{
|
|
||||||
// echo "<p>getAddress('$name',$id_name,'$query_name','$title')</p>";
|
|
||||||
if ($id_name || $query_name)
|
|
||||||
{
|
|
||||||
$contacts = createobject('phpgwapi.contacts');
|
|
||||||
|
|
||||||
if ($query_name)
|
|
||||||
{
|
|
||||||
$addrs = $contacts->read(0,0,'',$query_name,'','DESC','org_name,n_family,n_given');
|
|
||||||
$content = array();
|
|
||||||
while($addrs && list($key,$addr) = each($addrs))
|
|
||||||
{
|
|
||||||
if ($addr['email'])
|
|
||||||
{
|
|
||||||
$content[$addr['id']] = $this->addr2email($addr);
|
|
||||||
}
|
|
||||||
if ($addr['email_home'])
|
|
||||||
{
|
|
||||||
$content[$addr['id'].'h'] = $this->addr2email($addr,'_home');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$content = $this->addr2email($id_name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!$title)
|
|
||||||
{
|
|
||||||
$title = lang('Addressbook');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->getId($name,$title,lang('Pattern for Search in Addressbook'),$id_name,$content);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Function Allows you to show and select an project from the projects-app (works with and without javascript !!!)
|
|
||||||
* Parameters $name string with basename of all variables (not to conflict with the name other template or submitted vars !!!)
|
|
||||||
* $id_name id of the project for edit or 0 if none selected so far
|
|
||||||
* $query_name have to be called $query_XXX, the search pattern after the submit, has to be passed back to the function
|
|
||||||
* On Submit $id_XXX contains the selected address (if != 0)
|
|
||||||
* $query_XXX search pattern if the search button is pressed by the user, or '' if regular submit
|
|
||||||
* Returns array with vars to set for the template, set with: $template->set_var(getProject(...)); (see getId())
|
|
||||||
*
|
|
||||||
* Note As query's for an address are submitted, you have to check $query_XXX if it is a search or a regular submit (!$query_string)
|
|
||||||
*/
|
|
||||||
function getProject($name,$id_name,$query_name,$title='')
|
|
||||||
{
|
|
||||||
// echo "<p>getProject('$name',$id_name,'$query_name','$title')</p>";
|
|
||||||
|
|
||||||
// fallback if projects is not installed or not enabled for user
|
|
||||||
if (!file_exists(EGW_SERVER_ROOT.'/projects') || !$GLOBALS['egw_info']['user']['apps']['projects']['enabled'])
|
|
||||||
{
|
|
||||||
return array(
|
|
||||||
$name => "<input type=\"hidden\" name=\"id_$name\" value=\"$id_name\">\n",
|
|
||||||
$name.'_no_js' => '',
|
|
||||||
$name.'_title' => ''
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if ($id_name || $query_name)
|
|
||||||
{
|
|
||||||
$projects = createobject('projects.boprojects');
|
|
||||||
if (!is_object($projects))
|
|
||||||
{
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
if ($query_name)
|
|
||||||
{
|
|
||||||
$projs = $projects->list_projects(0,0,$query_name,'','','','',0,'mains','');
|
|
||||||
$content = array();
|
|
||||||
while ($projs && list($key,$proj) = each($projs))
|
|
||||||
{
|
|
||||||
$content[$proj['project_id']] = $proj['title'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ($proj = $projects->read_single_project($id_name))
|
|
||||||
{
|
|
||||||
$content = $proj['title'];
|
|
||||||
// $customer_id = $proj['customer'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!$title)
|
|
||||||
{
|
|
||||||
$title = lang('Project');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->getId($name,$title,lang('Pattern for Search in Projects'),$id_name,$content,lang('use Button to search for Project'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Function: Allows to show and select one item from an array
|
|
||||||
* Parameters: $name string with name of the submitted var which holds the key of the selected item form array
|
|
||||||
* $key key(s) of already selected item(s) from $arr, eg. '1' or '1,2' or array with keys
|
|
||||||
* $arr array with items to select, eg. $arr = array ('y' => 'yes','n' => 'no','m' => 'maybe');
|
|
||||||
* $no_lang if !$no_lang send items through lang()
|
|
||||||
* $options additional options (e.g. 'multiple')
|
|
||||||
* On submit $XXX is the key of the selected item (XXX is the content of $name)
|
|
||||||
* Returns: string to set for a template or to echo into html page
|
|
||||||
*/
|
|
||||||
function getArrayItem($name, $key, $arr=0,$no_lang=0,$options='',$multiple=0)
|
|
||||||
{
|
|
||||||
// should be in class common.sbox
|
|
||||||
if (!is_array($arr))
|
|
||||||
{
|
|
||||||
$arr = array('no','yes');
|
|
||||||
}
|
|
||||||
if (0+$multiple > 0)
|
|
||||||
{
|
|
||||||
$options .= ' MULTIPLE SIZE='.(0+$multiple);
|
|
||||||
if (substr($name,-2) != '[]')
|
|
||||||
{
|
|
||||||
$name .= '[]';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$out = "<select name=\"$name\" $options>\n";
|
|
||||||
|
|
||||||
if (is_array($key))
|
|
||||||
{
|
|
||||||
$key = implode(',',$key);
|
|
||||||
}
|
|
||||||
while (list($k,$text) = each($arr))
|
|
||||||
{
|
|
||||||
$out .= '<option value="'.$k.'"';
|
|
||||||
if($k == $key || strstr(",$key,",",$k,"))
|
|
||||||
{
|
|
||||||
$out .= " SELECTED";
|
|
||||||
}
|
|
||||||
$out .= ">" . ($no_lang || $text == '' ? $text : lang($text)) . "</option>\n";
|
|
||||||
}
|
|
||||||
$out .= "</select>\n";
|
|
||||||
|
|
||||||
return $out;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPercentage($name, $selected=0,$options='')
|
|
||||||
{
|
|
||||||
// reimplemented using getArrayItem
|
|
||||||
for ($i=0; $i <= 100; $i+=10)
|
|
||||||
{
|
|
||||||
$arr[$i] = "$i%";
|
|
||||||
}
|
|
||||||
return $this->getArrayItem($name,$selected,$arr,1,$options);
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPriority($name, $selected=2,$options='')
|
|
||||||
{
|
|
||||||
// reimplemented using getArrayItem
|
|
||||||
$arr = array('','low','normal','high');
|
|
||||||
|
|
||||||
return $this->getArrayItem($name,$selected,$arr,0,$options);
|
|
||||||
}
|
|
||||||
|
|
||||||
function getAccessList($name,$selected='private',$options='')
|
|
||||||
{
|
|
||||||
// reimplemented using getArrayItem
|
|
||||||
$arr = array(
|
|
||||||
'private' => 'Private',
|
|
||||||
'public' => 'Global public',
|
|
||||||
'group' => 'Group public'
|
|
||||||
);
|
|
||||||
|
|
||||||
if (strstr($selected,','))
|
|
||||||
{
|
|
||||||
$selected = "group";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->getArrayItem($name,$selected,$arr,0,$options);
|
|
||||||
}
|
|
||||||
|
|
||||||
function getCountry($name='country',$selected=' ',$options='')
|
|
||||||
{
|
|
||||||
// reimplemented using getArrayItem
|
|
||||||
return $this->getArrayItem($name,$selected,$this->country_array,0,$options);
|
|
||||||
}
|
|
||||||
|
|
||||||
function form_select($name='country',$selected=' ',$options='')
|
|
||||||
{
|
|
||||||
// reimplemented using getArrayItem (stupid name!!!)
|
|
||||||
return getCountry($name,$selected,$options);
|
|
||||||
}
|
|
||||||
|
|
||||||
function accountInfo($id,$account_data=0,$longnames=0,$show_type=0)
|
|
||||||
{
|
|
||||||
if (!$id)
|
|
||||||
{
|
|
||||||
return ' ';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!is_array($account_data))
|
|
||||||
{
|
|
||||||
$accounts = createobject('phpgwapi.accounts',$id);
|
|
||||||
$accounts->db = $GLOBALS['egw']->db;
|
|
||||||
$accounts->read_repository();
|
|
||||||
$account_data = $accounts->data;
|
|
||||||
}
|
|
||||||
$info = $show_type ? '('.$account_data['account_type'].') ' : '';
|
|
||||||
|
|
||||||
switch ($longnames)
|
|
||||||
{
|
|
||||||
case 2: $info .= '<'.$account_data['account_lid'].'> '; // fall-through
|
|
||||||
case 1: $info .= $account_data['account_firstname'].' '.$account_data['account_lastname']; break;
|
|
||||||
default: $info .= $account_data['account_lid']; break;
|
|
||||||
}
|
|
||||||
return $info;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Function: Allows to select one accountname
|
|
||||||
* Parameters: $name string with name of the submitted var, which holds the account_id or 0 after submit
|
|
||||||
* $id account_id of already selected account
|
|
||||||
* $longnames -1=as user prefs, 0=account_lid 1=firstname lastname
|
|
||||||
*/
|
|
||||||
function getAccount($name,$id,$longnames=-1,$type='accounts',$multiple=0,$options='')
|
|
||||||
{
|
|
||||||
$accs = $GLOBALS['egw']->accounts->get_list($type);
|
|
||||||
|
|
||||||
if ($multiple < 0)
|
|
||||||
{
|
|
||||||
$aarr[] = lang('not assigned');
|
|
||||||
}
|
|
||||||
while ($a = current($accs))
|
|
||||||
{
|
|
||||||
$aarr[$a['account_id']] = $longnames == -1 ?
|
|
||||||
$GLOBALS['egw']->common->display_fullname($a['account_lid'],$a['account_firstname'],$a['account_lastname']) :
|
|
||||||
$this->accountInfo($a['account_id'],$a,$longnames,$type=='both');
|
|
||||||
|
|
||||||
next($accs);
|
|
||||||
}
|
|
||||||
return $this->getArrayItem($name,$id,$aarr,1,$options,$multiple);
|
|
||||||
}
|
|
||||||
|
|
||||||
function getDate($n_year,$n_month,$n_day,$date,$options='')
|
|
||||||
{
|
|
||||||
if (is_array($date))
|
|
||||||
{
|
|
||||||
list($year,$month,$day) = $date;
|
|
||||||
}
|
|
||||||
elseif (!$date)
|
|
||||||
{
|
|
||||||
$day = $month = $year = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$day = date('d',$date);
|
|
||||||
$month = date('m',$date);
|
|
||||||
$year = date('Y',$date);
|
|
||||||
}
|
|
||||||
return $GLOBALS['egw']->common->dateformatorder(
|
|
||||||
$this->getYears($n_year,$year),
|
|
||||||
$this->getMonthText($n_month,$month),
|
|
||||||
$this->getDays($n_day,$day)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function getCategory($name,$cat_id='',$notall=False,$jscript=True,$multiple=0,$options='')
|
|
||||||
{
|
|
||||||
if (!is_object($this->cat))
|
|
||||||
{
|
|
||||||
$this->cat = CreateObject('phpgwapi.categories');
|
|
||||||
}
|
|
||||||
if ($jscript)
|
|
||||||
{
|
|
||||||
$options .= ' onChange="this.form.submit();"';
|
|
||||||
}
|
|
||||||
if (0+$multiple > 0)
|
|
||||||
{
|
|
||||||
$options .= ' MULTIPLE SIZE='.(0+$multiple);
|
|
||||||
if (substr($name,-2) != '[]')
|
|
||||||
{
|
|
||||||
$name .= '[]';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* Setup all and none first */
|
|
||||||
$cats_link = "\n<SELECT NAME=\"$name\" $options>\n";
|
|
||||||
|
|
||||||
if (!$notall)
|
|
||||||
{
|
|
||||||
$cats_link .= '<option value=""';
|
|
||||||
if ($cat_id=='all')
|
|
||||||
{
|
|
||||||
$cats_link .= ' selected';
|
|
||||||
}
|
|
||||||
$cats_link .= '>'.lang("all")."</option>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Get global and app-specific category listings */
|
|
||||||
$cats_link .= $this->cat->formatted_list('select','all',$cat_id,True);
|
|
||||||
$cats_link .= '</select>'."\n";
|
|
||||||
|
|
||||||
return $cats_link;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user