chatroom management front-end stuff
This commit is contained in:
parent
7b60978262
commit
080928f214
@ -587,4 +587,5 @@ function widget_chatroom_list($arr) {
|
||||
'$nickname' => $channel['channel_address'],
|
||||
'$items' => $r,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
73
mod/chat.php
73
mod/chat.php
@ -36,6 +36,46 @@ function chat_init(&$a) {
|
||||
|
||||
}
|
||||
|
||||
function chat_post(&$a) {
|
||||
|
||||
if($_POST['room_name'])
|
||||
$room = strip_tags(trim($_POST['room_name']));
|
||||
|
||||
if((! $room) || (! local_user()))
|
||||
return;
|
||||
|
||||
$channel = $a->get_channel();
|
||||
|
||||
|
||||
if($_POST['action'] === 'drop') {
|
||||
chatroom_destroy($channel,array('cr_name' => $room));
|
||||
goaway(z_root() . '/chat/' . $channel['channel_address']);
|
||||
}
|
||||
|
||||
|
||||
$arr = array('name' => $room);
|
||||
$arr['allow_gid'] = perms2str($_REQUEST['group_allow']);
|
||||
$arr['allow_cid'] = perms2str($_REQUEST['contact_allow']);
|
||||
$arr['deny_gid'] = perms2str($_REQUEST['group_deny']);
|
||||
$arr['deny_cid'] = perms2str($_REQUEST['contact_deny']);
|
||||
|
||||
chatroom_create($channel,$arr);
|
||||
|
||||
$x = q("select cr_id from chatroom where cr_name = '%s' and cr_uid = %d limit 1",
|
||||
dbesc($room),
|
||||
intval(local_user())
|
||||
);
|
||||
|
||||
if($x)
|
||||
goaway(z_root() . '/chat/' . $channel['channel_address'] . '/' . $x[0]['cr_id']);
|
||||
|
||||
// that failed. Try again perhaps?
|
||||
|
||||
goaway(z_root() . '/chat/' . $channel['channel_address'] . '/new');
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function chat_content(&$a) {
|
||||
|
||||
@ -62,11 +102,44 @@ function chat_content(&$a) {
|
||||
if(! $x)
|
||||
return;
|
||||
$o = replace_macros(get_markup_template('chat.tpl'),array(
|
||||
'$room_name' => '', // should we get this from the API?
|
||||
'$room_id' => $room_id,
|
||||
'$submit' => t('Submit')
|
||||
));
|
||||
return $o;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if(local_user() && argc() > 2 && argv(2) === 'new') {
|
||||
|
||||
|
||||
$channel = $a->get_channel();
|
||||
$channel_acl = array(
|
||||
'allow_cid' => $channel['channel_allow_cid'],
|
||||
'allow_gid' => $channel['channel_allow_gid'],
|
||||
'deny_cid' => $channel['channel_deny_cid'],
|
||||
'deny_gid' => $channel['channel_deny_gid']
|
||||
);
|
||||
|
||||
require_once('include/acl_selectors.php');
|
||||
|
||||
$o = replace_macros(get_markup_template('chatroom_new.tpl'),array(
|
||||
'$header' => t('New Chatroom'),
|
||||
'$name' => array('room_name',t('Chatroom Name'),'', ''),
|
||||
'$acl' => populate_acl($channel_acl),
|
||||
'$submit' => t('Submit')
|
||||
));
|
||||
return $o;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
require_once('include/widgets.php');
|
||||
|
||||
return widget_chatroom_list(array());
|
||||
|
16
view/js/mod_chat.js
Normal file
16
view/js/mod_chat.js
Normal file
@ -0,0 +1,16 @@
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
||||
var selstr;
|
||||
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
|
||||
selstr = $(this).text();
|
||||
$('#jot-perms-icon').removeClass('unlock').addClass('lock');
|
||||
$('#jot-public').hide();
|
||||
});
|
||||
if(selstr == null) {
|
||||
$('#jot-perms-icon').removeClass('lock').addClass('unlock');
|
||||
$('#jot-public').show();
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
});
|
16
view/js/mod_filestorage.php
Normal file
16
view/js/mod_filestorage.php
Normal file
@ -0,0 +1,16 @@
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
||||
var selstr;
|
||||
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
|
||||
selstr = $(this).text();
|
||||
$('#jot-perms-icon').removeClass('unlock').addClass('lock');
|
||||
$('#jot-public').hide();
|
||||
});
|
||||
if(selstr == null) {
|
||||
$('#jot-perms-icon').removeClass('lock').addClass('unlock');
|
||||
$('#jot-public').show();
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
});
|
12
view/tpl/chatroom_new.tpl
Normal file
12
view/tpl/chatroom_new.tpl
Normal file
@ -0,0 +1,12 @@
|
||||
<h1>{{$header}}</h1>
|
||||
|
||||
<form action="chat" method="post" >
|
||||
{{include file="field_input.tpl" field=$name}}
|
||||
<br />
|
||||
<br />
|
||||
{{$acl}}
|
||||
<div class="clear"></div>
|
||||
<input type="submit" name="submit" value="{{$submit}}" />
|
||||
</form>
|
||||
|
||||
|
Reference in New Issue
Block a user