less html in mod/group.php, template for group members editor, quattro theme for group edit.

This commit is contained in:
Fabio Comuni 2012-02-23 16:17:36 +01:00
parent d45e26d6d9
commit fd3274ff53
7 changed files with 133 additions and 80 deletions

View File

@ -76,14 +76,17 @@ function group_content(&$a) {
if($switchtotext === false) if($switchtotext === false)
$switchtotext = 400; $switchtotext = 400;
$tpl = get_markup_template('group_edit.tpl');
$context = array('$submit' => t('Submit'));
if(($a->argc == 2) && ($a->argv[1] === 'new')) { if(($a->argc == 2) && ($a->argv[1] === 'new')) {
$tpl = get_markup_template('group_new.tpl');
$o .= replace_macros($tpl,array( return replace_macros($tpl, $context + array(
'$desc' => t('Create a group of contacts/friends.'), '$title' => t('Create a group of contacts/friends.'),
'$name' => t('Group Name: '), '$gname' => array('groupname',t('Group Name: '),$group['name'], ''),
'$submit' => t('Submit') ));
));
return $o;
} }
if(($a->argc == 3) && ($a->argv[1] === 'drop')) { if(($a->argc == 3) && ($a->argv[1] === 'drop')) {
@ -156,66 +159,61 @@ function group_content(&$a) {
$celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false); $celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);
$tpl = get_markup_template('group_edit.tpl');
$o .= replace_macros($tpl, array( $context = $context + array(
'$gid' => $group['id'],
'$name' => $group['name'],
'$drop' => $drop_txt,
'$desc' => t('Click on a contact to add or remove.'),
'$title' => t('Group Editor'), '$title' => t('Group Editor'),
'$gname' => t('Group Name: '), '$gname' => array('groupname',t('Group Name: '),$group['name'], ''),
'$submit' => t('Submit') '$gid' => $group['id'],
)); '$drop' => $drop_txt,
);
} }
if(! isset($group)) if(! isset($group))
return; return;
$o .= '<div id="group-update-wrapper">'; $groupeditor = array(
if($change) 'label_members' => t('Members'),
$o = ''; 'members' => array(),
'label_contacts' => t('All Contacts'),
'contacts' => arraY(),
);
$o .= '<h3>' . t('Members') . '</h3>';
$o .= '<div id="group-members">';
$textmode = (($switchtotext && (count($members) > $switchtotext)) ? true : false); $textmode = (($switchtotext && (count($members) > $switchtotext)) ? true : false);
foreach($members as $member) { foreach($members as $member) {
if($member['url']) { if($member['url']) {
$member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;'; $member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;';
$o .= micropro($member,true,'mpgroup', $textmode); $groupeditor['members'][] = micropro($member,true,'mpgroup', $textmode);
} }
else else
group_rmv_member(local_user(),$group['name'],$member['id']); group_rmv_member(local_user(),$group['name'],$member['id']);
} }
$o .= '</div><div id="group-members-end"></div>'; $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 ORDER BY `name` ASC",
$o .= '<hr id="group-separator" />'; intval(local_user())
);
$o .= '<h3>' . t('All Contacts') . '</h3>';
$o .= '<div id="group-all-contacts">';
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 ORDER BY `name` ASC", if(count($r)) {
intval(local_user()) $textmode = (($switchtotext && (count($r) > $switchtotext)) ? true : false);
); foreach($r as $member) {
if(! in_array($member['id'],$preselected)) {
if(count($r)) { $member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;';
$textmode = (($switchtotext && (count($r) > $switchtotext)) ? true : false); $groupeditor['contacts'][] = micropro($member,true,'mpall', $textmode);
foreach($r as $member) {
if(! in_array($member['id'],$preselected)) {
$member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;';
$o .= micropro($member,true,'mpall', $textmode);
}
} }
} }
}
$o .= '</div><div id="group-all-contacts-end"></div>'; $context['$groupeditor'] = $groupeditor;
$context['$desc'] = t('Click on a contact to add or remove.');
if($change) { if($change) {
echo $o; $tpl = get_markup_template('groupeditor.tpl');
echo replace_macros($tpl, $context);
killme(); killme();
} }
$o .= '</div>';
return $o; return replace_macros($tpl, $context);
} }

View File

@ -2,17 +2,21 @@
<div id="group-edit-wrapper" > <div id="group-edit-wrapper" >
<form action="group/$gid" id="group-edit-form" method="post" > <form action="group/$gid" id="group-edit-form" method="post" >
<div id="group-edit-name-wrapper" >
<label id="group-edit-name-label" for="group-edit-name" >$gname</label> {{ inc field_input.tpl with $field=$gname }}{{ endinc }}
<input type="text" id="group-edit-name" name="groupname" value="$name" /> {{ if $drop }}$drop{{ endif }}
</div> <div id="group-edit-submit-wrapper" >
<div id="group-edit-name-end"></div> <input type="submit" name="submit" value="$submit" >
$drop </div>
<div id="group-edit-submit-wrapper" > <div id="group-edit-select-end" ></div>
<input type="submit" name="submit" value="$submit" > </form>
</div>
<div id="group-edit-desc">$desc</div>
<div id="group-edit-select-end" ></div>
</form>
</div> </div>
{{ if $groupeditor }}
<div id="group-update-wrapper">
{{ inc groupeditor.tpl }}{{ endinc }}
</div>
{{ endif }}
{{ if $desc }}<div id="group-edit-desc">$desc</div>{{ endif }}

View File

@ -1,23 +0,0 @@
<div id="group-new-wrapper" >
<form action="group/new" method="post">
<div id="group-new-text">
<p>
$desc
<div id="group-new-input-wrapper">
<label id="group-new-label" for="group-new-name" >$name</label>
<input name="groupname" id="group-new-name" />
</div>
<div id="group-new-input-end" ></div>
<div id="group-new-submit-wrapper" >
<input type="submit" name="submit" value="$submit" />
</form>
</div>
<div id="group-new-end"></div>

16
view/groupeditor.tpl Normal file
View File

@ -0,0 +1,16 @@
<div id="group">
<h3>$groupeditor.label_members</h3>
<div id="group-members" class="contact_list">
{{ for $groupeditor.contacts as $c}} $c {{ endfor }}
</div>
<div id="group-members-end"></div>
<hr id="group-separator" />
</div>
<div id="contacts">
<h3>$groupeditor.label_contacts</h3>
<div id="group-all-contacts" class="contact_list">
{{ for $groupeditor.members as $m}} $m {{ endfor }}
</div>
<div id="group-all-contacts-end"></div>
</div>

View File

@ -71,6 +71,8 @@
@NoticeColor: @Grey1; @NoticeColor: @Grey1;
@NoticeBackgroundColor: #511919; @NoticeBackgroundColor: #511919;
@FieldHelpColor: @Grey3;
@ThreadBackgroundColor: #f6f7f8; @ThreadBackgroundColor: #f6f7f8;
@ShinyBorderColor: @Yellow1; @ShinyBorderColor: @Yellow1;

View File

@ -890,6 +890,31 @@ ul.tabs {
} }
/** group editor **/
#group-edit-desc { margin-top: 1em; color: @FieldHelpColor; }
#group-update-wrapper{
height: auto; overflow: auto;
#group {
width:300px;
float:left;
margin-right:20px;
}
#contacts {
width:300px;
float:left;
}
#group-separator { display: none; }
.contact_list {
height: 300px;
border: 1px solid @MenuBorder;
overflow: auto;
.contact-block-div {
width: 50px; height: 50px;
float: left;
}
}
}
/** /**
* Form fields * Form fields
*/ */
@ -913,7 +938,7 @@ ul.tabs {
.field_help { .field_help {
display: block; display: block;
margin-left: 200px; margin-left: 200px;
color: #666666; color: @FieldHelpColor;
} }

View File

@ -1304,6 +1304,37 @@ ul.tabs li {
ul.tabs li .active { ul.tabs li .active {
border-bottom: 1px solid #005c94; border-bottom: 1px solid #005c94;
} }
/** group editor **/
#group-edit-desc {
margin-top: 1em;
color: #999999;
}
#group-update-wrapper {
height: auto;
overflow: auto;
}
#group-update-wrapper #group {
width: 300px;
float: left;
margin-right: 20px;
}
#group-update-wrapper #contacts {
width: 300px;
float: left;
}
#group-update-wrapper #group-separator {
display: none;
}
#group-update-wrapper .contact_list {
height: 300px;
border: 1px solid #364e59;
overflow: auto;
}
#group-update-wrapper .contact_list .contact-block-div {
width: 50px;
height: 50px;
float: left;
}
/** /**
* Form fields * Form fields
*/ */
@ -1326,7 +1357,7 @@ ul.tabs li .active {
.field .field_help { .field .field_help {
display: block; display: block;
margin-left: 200px; margin-left: 200px;
color: #666666; color: #999999;
} }
.field .onoff { .field .onoff {
float: left; float: left;