phpgroupware-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Phpgroupware-users] New participant select option


From: Dave Hall
Subject: Re: [Phpgroupware-users] New participant select option
Date: Tue, 15 Jun 2004 08:23:36 +1000

On Tue, 2004-06-15 at 01:43, Brian Johnson wrote:
> I would like the ability to have multiple browser windows open to different
> user's (or group's) monthly view (I think I already have this as a feature
> request on savanah).  This would allow managers to have their calendar open in
> one window and the group's in another

Simple HOWTO:

1 Disable cookie sessions
2 Open a new browser window
3 Point it at your phpgw url
4 Login
5 Go "wow, it worked"

> 
> I have two monthly views working on the home page with the current calendar
> but it should get a couple of prefs added to control it per user (currently
> the settings are hard coded)
> 
> 
> Dave Hall (address@hidden) wrote:
> >
> > Hi Don,
> >
> > I am working on getting a prioritised list of features for the HEAD
> > version of calendar.  I am happy to look at including something like
> > this.  A nicely formatted patch always helps motivate me ;)
> >
> > Cheers
> >
> > Dave
> >
> >
> > On Mon, 2004-06-14 at 19:39, Don Graver (dgraver) wrote:
> > > I asked this question a few weeks ago about how to better select
> > > participants than from a straight select box, and I think I have come up
> > > with a good solution.  I use the javascript code from
> > > http://www.mattkruse.com/javascript/selectbox/.  Once select box
> > > contains all the users, and the other contains all those that are being
> > > invited.  Below is some sample things of what I had to do to get it to
> > > work...nothing major.
> > >
> > >
> > >
> > > >From class.uicalendar.inc.php:
> > > <snip>
> > > switch($GLOBALS['phpgw_info']['user']['preferences']['common']['account_
> > > selection']) {
> > >
> > > ...<snip>...
> > >
> > > default:
> > > foreach($users as $id => $user_array)
> > > {
> > > if($id != intval($event['owner']))
> > > {
> > > //Added by DG
> > > //Used for better participant selection, separates included from
> > > excluded participants
> > >
> > > if ($event['participants'][$id]){
> > > $include_participants .= '    <option value="' .
> > > $id.$event['participants'][$id] . '" SELECTED>('.$user_array['type'].')
> > > '.$user_array['name'].'</option>'."n";
> > > }else{
> > > $exclude_participants .= '    <option value="' .
> > > $id.$event['participants'][$id] . '">('.$user_array['type'].')
> > > '.$user_array['name'].'</option>'."n";
> > > }
> > > //End edit by DG
> > >
> > > $str .= '    <option value="' . $id.$event['participants'][$id] .
> > > '"'.($event['participants'][$id]?'
> > > selected':'').'>('.$user_array['type'].')
> > > '.$user_array['name'].'</option>'."n";
> > >
> > > //Added by DG
> > > //Used for better participant selection
> > > $str2 .= '    <option value="' . $id.$event['participants'][$id] .
> > > '"'.($event['participants'][$id]?'
> > > selected':'').'>('.$user_array['type'].')
> > > '.$user_array['name'].'</option>'."n";
> > > //End edit by DG
> > > }
> > > }
> > > $var['participants'] = array
> > > (
> > > 'field' => lang('Participants'),
> > > 'data'  => "n".'   <select name="participants[]" multiple
> > > size="7">'."n".$str.'   </select>'
> > > );
> > >
> > > //Added by DG
> > > //Used for better participant selection, overrides variable set above
> > >
> > > $var['participants']['data']='<SCRIPT LANGUAGE="JavaScript"
> > > src="/channels-de/calendar/inc/selectbox2.js"></script>'."nn";
> > > $var['participants']['data'].=<<<EOF
> > > (In some browsers, you can double-click the options.)
> > > <p>
> > > <TABLE BORDER=0>
> > > <TR>
> > > <TD>
> > > <b>Exclude</b><br>
> > > <SELECT NAME="excluded_participants" MULTIPLE SIZE=10 >
> > > $exclude_participants
> > > </select>
> > > </td>
> > > <TD VALIGN=MIDDLE ALIGN=CENTER>
> > > <INPUT TYPE="button" NAME="right" VALUE=">>"
> > > ONCLICK="moveSelectedOptions(this.form['excluded_participants'],this.for
> > > m.elements[findIncludeParticipantsIndex()],true,this.form['movepattern1'
> > > ].value)"><BR><BR>
> > > <INPUT TYPE="button" NAME="right" VALUE="All >>"
> > > ONCLICK="moveAllOptions(this.form['excluded_participants'],this.form.ele
> > > ments[findIncludeParticipantsIndex()],true,this.form['movepattern1'].val
> > > ue)"><BR><BR>
> > > <INPUT TYPE="button" NAME="left" VALUE="<<"
> > > ONCLICK="moveSelectedOptions(this.form.elements[findIncludeParticipantsI
> > > ndex()],this.form['excluded_participants'],true,this['form'].movepattern
> > > 1.value)"><BR><BR>
> > > <INPUT TYPE="button" NAME="left" VALUE="All <<"
> > > ONCLICK="moveAllOptions(this.form.elements[findIncludeParticipantsIndex(
> > > )],this.form['excluded_participants'],true,this.form['movepattern1'].val
> > > ue)">
> > > </td>
> > > <TD>
> > > <b>Include</b><br>
> > >
> > > <SELECT NAME="participants[]"  SIZE=10 multiple >
> > > $include_participants
> > > </select>
> > > </td>
> > > </tr>
> > > <TR>
> > > <TD COLSPAN="3">
> > > Do not allow moving of options matching pattern:<BR><INPUT TYPE="text"
> > > NAME="movepattern1" VALUE="">
> > > <!--<input type="button" name="test" onclick="selectAllParticipants()"
> > > value="test">-->
> > > </td>
> > > </tr>
> > > </table>
> > > EOF;
> > > //End edit by DG
> > > break;
> > >
> > > <snip>...
> > >
> > >
> > > I also had to add the following javascript functions to the selectbox.js
> > > file to get it to work, as well as add an onsubmit to the form in
> > > class.uicalender.inc.php to call selectAllParticipants() so that the
> > > participants would be highlighted within the selectbox prior to
> > > submission.  Here are the added js functions:
> > >
> > > >From selectbox2.js...
> > >
> > > //Added by DG
> > > function findIncludeParticipantsIndex(){
> > > var toIndex='not found';
> > > for (var i=0; i < document.forms.length; i++) {
> > >   for (var k=0; k< document.forms[i].elements.length; k++) {
> > >     if (document.forms[i].elements[k].name == 'excluded_participants'){
> > >       toIndex= k + 5;
> > >       break;
> > >   }
> > > }
> > > return toIndex;
> > > }
> > >
> > > function selectAllParticipants(){
> > >
> > > selectAllOptions(document.forms[3].elements[findIncludeParticipantsIndex
> > > ()]);
> > > }
> > >
> > >
> > >
> > > Hope this helps some people...as my users are quite happy with the
> > > selection process now.
> > >
> > > Don
> > >
> > >
> > > _______________________________________________
> > > Phpgroupware-users mailing list
> > > address@hidden
> > > http://lists.gnu.org/mailman/listinfo/phpgroupware-users
> >
> >
> >
> > _______________________________________________
> > Phpgroupware-users mailing list
> > address@hidden
> > http://lists.gnu.org/mailman/listinfo/phpgroupware-users
> >
> >
> 
> 
> 
> _______________________________________________
> Phpgroupware-users mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/phpgroupware-users





reply via email to

[Prev in Thread] Current Thread [Next in Thread]