Skip to content

Commit

Permalink
Update field/cell settings functions to use current FieldFrame idioms…
Browse files Browse the repository at this point in the history
… and style
  • Loading branch information
elivz committed Nov 27, 2010
1 parent 78a1425 commit 9e2131f
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 36 deletions.
71 changes: 36 additions & 35 deletions ee1/extensions/fieldtypes/vz_members/ft.vz_members.php
Expand Up @@ -50,31 +50,29 @@ class Vz_members extends Fieldframe_Fieldtype {
'multiple' => 'mode_multiple'
);

/**
* Member Groups Select
*/
function _member_groups_select($selected_groups)
function _get_member_groups($selected_groups)
{
global $DB, $DSP;
global $DB, $SESS;
$SD = new Fieldframe_SettingsDisplay();
//var_dump($selected_groups);die();

// Get the available member groups
if (!isset( $SESS->cache['vz_members']['groups']['all'] ))
{
$SESS->cache['vz_members']['groups']['all'] = $DB->query("SELECT group_title, group_id FROM exp_member_groups WHERE site_id = 1")->result;
}
$member_groups = $SESS->cache['vz_members']['groups']['all'];

// Construct the select list of member groups
$r = $DSP->input_select_header('member_groups[]', 'y', ($member_groups->num_rows < 10 ? $member_groups->num_rows : 10));
foreach($member_groups as $member_group)
{
$selected = in_array($member_group['group_id'], $selected_groups) ? 1 : 0;
$r .= $DSP->input_select_option($member_group['group_id'], $member_group['group_title'], $selected);
$member_groups = array();
$result = $DB->query("SELECT group_title, group_id FROM exp_member_groups WHERE site_id = 1")->result;
foreach ($result as $item)
{
$member_groups[array_pop($item)] = array_pop($item);
}
$SESS->cache['vz_members']['groups']['all'] = $member_groups;
}
$r .= $DSP->input_select_footer();

return $r;
return $SESS->cache['vz_members']['groups']['all'];
}


Expand All @@ -86,13 +84,17 @@ function display_field_settings($field_settings)
// Initialize a new instance of SettingsDisplay
$SD = new Fieldframe_SettingsDisplay();

$cell1 = $SD->label('mode_label')
. $SD->select('mode', $field_settings['mode'], $this->modes);
$row1 = array(
$SD->label('mode_label'),
$SD->select('mode', $field_settings['mode'], $this->modes)
);

$cell2 = $r = $SD->label('member_groups_label')
. $this->_member_groups_select($field_settings['member_groups']);
$row2 = array(
$SD->label('member_groups_label'),
$SD->multiselect('member_groups[]', $field_settings['member_groups'], $this->_get_member_groups())
);

return array('cell1' => $cell1, 'cell2' => $cell2);
return array('rows' => array( $row1, $row2 ));
}


Expand All @@ -101,20 +103,20 @@ function display_field_settings($field_settings)
*/
function display_cell_settings($cell_settings)
{
global $DSP, $LANG;
global $LANG;
$SD = new Fieldframe_SettingsDisplay();

return '<label class="itemWrapper">'
. $LANG->line('mode_label')
. '<br/>'
. $SD->select('mode', $cell_settings['mode'], $this->modes)
. '</label>'
. '<br/>'
. '<label class="itemWrapper">'
. $LANG->line('member_groups_label')
. '<br/>'
. $this->_member_groups_select($cell_settings['member_groups'])
. '</label>';
$row1 = array(
$LANG->line('mode_label_cell'),
$SD->select('mode', $cell_settings['mode'], $this->modes)
);

$row2 = array(
$LANG->line('member_groups_label_cell'),
$SD->multiselect('member_groups[]', $cell_settings['member_groups'], $this->_get_member_groups())
);
return array( $row1, $row2 );
}


Expand All @@ -123,7 +125,7 @@ function display_cell_settings($cell_settings)
*/
function _create_user_list($field_name, $selected_members, $member_groups, $mode)
{
global $DB, $DSP, $LANG;
global $DB, $DSP, $LANG, $SESS;

// If there are no member groups selected, don't bother
if (!$member_groups)
Expand Down Expand Up @@ -300,7 +302,6 @@ function _get_member_names($members, $orderby, $sort)
ORDER BY $orderby $sort
");
$SESS->cache['vz_members']['members'][$member_list][$orderby][$sort] = $query->result;
echo 'boom!';
}

return $SESS->cache['vz_members']['members'][$member_list][$orderby][$sort];
Expand Down Expand Up @@ -391,7 +392,7 @@ function names($params, $tagdata, $field_data, $field_settings)
*/
function is_allowed($params, $tagdata, $field_data, $field_settings)
{
global $DB;
global $DB, $SESS;

$allowed = is_array($field_data) ? $field_data : array($field_data);
$candidates = explode('|', $params['members']);
Expand Down
4 changes: 3 additions & 1 deletion ee1/language/english/lang.vz_members.php
Expand Up @@ -3,10 +3,12 @@
$L = array(

'mode_label' => 'Selection mode:',
'mode_label_cell' => 'Mode',
'mode_single' => 'Allow only one member at a time',
'mode_multiple' => 'Allow multiple members to be selected',

'member_groups_label' => 'Show members from these groups:',
'member_groups_label' => 'Allow members from these groups:',
'member_groups_label_cell' => 'Allowed groups',

'no_member_groups' => 'There are no member groups selected',

Expand Down

0 comments on commit 9e2131f

Please sign in to comment.