本文整理汇总了PHP中micropro函数的典型用法代码示例。如果您正苦于以下问题:PHP micropro函数的具体用法?PHP micropro怎么用?PHP micropro使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了micropro函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: forumlist_profile_advanced
function forumlist_profile_advanced($a, &$b)
{
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/forumlist/forumlist.css' . '" media="all" />' . "\r\n";
$profile = intval(get_pconfig($a->profile['profile_uid'], 'forumlist', 'show_on_profile'));
if (!$profile) {
return;
}
$forumlist = '<div id="forumlist-profile">
<div class="title">' . t("Forums:") . '</div>
<div id="profile-forumlist-list">';
// place holder in case somebody wants configurability
$show_total = 9999;
$randomise = true;
$contacts = forumlist_getpage($a->user['uid'], false, $randomise, false);
$total_shown = 0;
$more = false;
foreach ($contacts as $contact) {
$forumlist .= micropro($contact, false, 'forumlist-profile-advanced');
$total_shown++;
if ($total_shown == $show_total) {
break;
}
}
$forumlist .= '</div></div><div class="clear"></div>';
if (count($contacts) > 0) {
$b .= $forumlist;
}
}
示例2: get
function get()
{
$change = false;
logger('mod_group: ' . \App::$cmd, LOGGER_DEBUG);
if (!local_channel()) {
notice(t('Permission denied') . EOL);
return;
}
// Switch to text mode interface if we have more than 'n' contacts or group members
$switchtotext = get_pconfig(local_channel(), 'system', 'groupedit_image_limit');
if ($switchtotext === false) {
$switchtotext = get_config('system', 'groupedit_image_limit');
}
if ($switchtotext === false) {
$switchtotext = 400;
}
$tpl = get_markup_template('group_edit.tpl');
$context = array('$submit' => t('Submit'));
if (argc() == 2 && argv(1) === 'new') {
return replace_macros($tpl, $context + array('$title' => t('Create a group of channels.'), '$gname' => array('groupname', t('Privacy group name: '), '', ''), '$gid' => 'new', '$public' => array('public', t('Members are visible to other channels'), false, ''), '$form_security_token' => get_form_security_token("group_edit")));
}
if (argc() == 3 && argv(1) === 'drop') {
check_form_security_token_redirectOnErr('/group', 'group_drop', 't');
if (intval(argv(2))) {
$r = q("SELECT `name` FROM `groups` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval(argv(2)), intval(local_channel()));
if ($r) {
$result = group_rmv(local_channel(), $r[0]['gname']);
}
if ($result) {
info(t('Privacy group removed.') . EOL);
} else {
notice(t('Unable to remove privacy group.') . EOL);
}
}
goaway(z_root() . '/group');
// NOTREACHED
}
if (argc() > 2 && intval(argv(1)) && argv(2)) {
check_form_security_token_ForbiddenOnErr('group_member_change', 't');
$r = q("SELECT abook_xchan from abook left join xchan on abook_xchan = xchan_hash where abook_xchan = '%s' and abook_channel = %d and xchan_deleted = 0 and abook_self = 0 and abook_blocked = 0 and abook_pending = 0 limit 1", dbesc(base64url_decode(argv(2))), intval(local_channel()));
if (count($r)) {
$change = base64url_decode(argv(2));
}
}
if (argc() > 1 && intval(argv(1))) {
require_once 'include/acl_selectors.php';
$r = q("SELECT * FROM `groups` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1", intval(argv(1)), intval(local_channel()));
if (!$r) {
notice(t('Privacy group not found.') . EOL);
goaway(z_root() . '/connections');
}
$group = $r[0];
$members = group_get_members($group['id']);
$preselected = array();
if (count($members)) {
foreach ($members as $member) {
if (!in_array($member['xchan_hash'], $preselected)) {
$preselected[] = $member['xchan_hash'];
}
}
}
if ($change) {
if (in_array($change, $preselected)) {
group_rmv_member(local_channel(), $group['gname'], $change);
} else {
group_add_member(local_channel(), $group['gname'], $change);
}
$members = group_get_members($group['id']);
$preselected = array();
if (count($members)) {
foreach ($members as $member) {
$preselected[] = $member['xchan_hash'];
}
}
}
$drop_tpl = get_markup_template('group_drop.tpl');
$drop_txt = replace_macros($drop_tpl, array('$id' => $group['id'], '$delete' => t('Delete'), '$form_security_token' => get_form_security_token("group_drop")));
$context = $context + array('$title' => t('Privacy group editor'), '$gname' => array('groupname', t('Privacy group name: '), $group['gname'], ''), '$gid' => $group['id'], '$drop' => $drop_txt, '$public' => array('public', t('Members are visible to other channels'), $group['visible'], ''), '$form_security_token' => get_form_security_token('group_edit'));
}
if (!isset($group)) {
return;
}
$groupeditor = array('label_members' => t('Members'), 'members' => array(), 'label_contacts' => t('All Connected Channels'), 'contacts' => array());
$sec_token = addslashes(get_form_security_token('group_member_change'));
$textmode = $switchtotext && count($members) > $switchtotext ? true : false;
foreach ($members as $member) {
if ($member['xchan_url']) {
$member['archived'] = intval($member['abook_archived']) ? true : false;
$member['click'] = 'groupChangeMember(' . $group['id'] . ',\'' . base64url_encode($member['xchan_hash']) . '\',\'' . $sec_token . '\'); return false;';
$groupeditor['members'][] = micropro($member, true, 'mpgroup', $textmode);
} else {
group_rmv_member(local_channel(), $group['gname'], $member['xchan_hash']);
}
}
$r = q("SELECT abook.*, xchan.* FROM `abook` left join xchan on abook_xchan = xchan_hash WHERE `abook_channel` = %d AND abook_self = 0 and abook_blocked = 0 and abook_pending = 0 and xchan_deleted = 0 order by xchan_name asc", intval(local_channel()));
if (count($r)) {
$textmode = $switchtotext && count($r) > $switchtotext ? true : false;
foreach ($r as $member) {
if (!in_array($member['xchan_hash'], $preselected)) {
$member['archived'] = intval($member['abook_archived']) ? true : false;
//.........这里部分代码省略.........
示例3: contact_block
function contact_block()
{
$o = '';
$a = get_app();
if (!$a->profile['uid']) {
return;
}
if (!perm_is_allowed($a->profile['uid'], get_observer_hash(), 'view_contacts')) {
return;
}
$shown = get_pconfig($a->profile['uid'], 'system', 'display_friend_count');
if ($shown === false) {
$shown = 25;
}
if ($shown == 0) {
return;
}
$is_owner = local_channel() && local_channel() == $a->profile['uid'] ? true : false;
$sql_extra = '';
$abook_flags = " and abook_pending = 0 and abook_self = 0 ";
if (!$is_owner) {
$abook_flags .= " and abook_hidden = 0 ";
$sql_extra = " and xchan_hidden = 0 ";
}
if (!is_array($a->profile) || $a->profile['hide_friends']) {
return $o;
}
$r = q("SELECT COUNT(abook_id) AS total FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d\n\t\t{$abook_flags} and xchan_orphan = 0 and xchan_deleted = 0 {$sql_extra}", intval($a->profile['uid']));
if (count($r)) {
$total = intval($r[0]['total']);
}
if (!$total) {
$contacts = t('No connections');
$micropro = null;
} else {
$randfunc = db_getfunc('RAND');
$r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash WHERE abook_channel = %d {$abook_flags} and abook_archived = 0 and xchan_orphan = 0 and xchan_deleted = 0 {$sql_extra} ORDER BY {$randfunc} LIMIT %d", intval($a->profile['uid']), intval($shown));
if (count($r)) {
$contacts = sprintf(tt('%d Connection', '%d Connections', $total), $total);
$micropro = array();
foreach ($r as $rr) {
$rr['archived'] = intval($rr['abook_archived']) ? true : false;
$micropro[] = micropro($rr, true, 'mpfriend');
}
}
}
$tpl = get_markup_template('contact_block.tpl');
$o = replace_macros($tpl, array('$contacts' => $contacts, '$nickname' => $a->profile['channel_address'], '$viewconnections' => t('View Connections'), '$micropro' => $micropro));
$arr = array('contacts' => $r, 'output' => $o);
call_hooks('contact_block_end', $arr);
return $o;
}
示例4: contact_block
/**
* Get html for contact block.
*
* @template contact_block.tpl
* @hook contact_block_end (contacts=>array, output=>string)
* @return string
*/
function contact_block()
{
$o = '';
$a = get_app();
$shown = get_pconfig($a->profile['uid'], 'system', 'display_friend_count');
if ($shown === false) {
$shown = 24;
}
if ($shown == 0) {
return;
}
if (!is_array($a->profile) || $a->profile['hide-friends']) {
return $o;
}
$r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0 AND `archive` = 0", intval($a->profile['uid']));
if (count($r)) {
$total = intval($r[0]['total']);
}
if (!$total) {
$contacts = t('No contacts');
$micropro = Null;
} else {
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0 AND `archive` = 0 ORDER BY RAND() LIMIT %d", intval($a->profile['uid']), intval($shown));
if (count($r)) {
$contacts = sprintf(tt('%d Contact', '%d Contacts', $total), $total);
$micropro = array();
foreach ($r as $rr) {
$micropro[] = micropro($rr, true, 'mpfriend');
}
}
}
$tpl = get_markup_template('contact_block.tpl');
$o = replace_macros($tpl, array('$contacts' => $contacts, '$nickname' => $a->profile['nickname'], '$viewcontacts' => t('View Contacts'), '$micropro' => $micropro));
$arr = array('contacts' => $r, 'output' => $o);
call_hooks('contact_block_end', $arr);
return $o;
}
示例5: page_profile_advanced
function page_profile_advanced($a, &$b)
{
$profile = intval(get_pconfig($a->profile['profile_uid'], 'page', 'show_on_profile'));
if (!$profile) {
return;
}
$page = '<div id="page-profile">
<div class="title">' . t("Forums:") . '</div>
<div id="profile-page-list">';
// place holder in case somebody wants configurability
$show_total = 9999;
$randomise = true;
$contacts = page_getpage($a->user['uid'], false, $randomise);
$total_shown = 0;
$more = false;
foreach ($contacts as $contact) {
$page .= micropro($contact, false, 'page-profile-advanced');
$total_shown++;
if ($total_shown == $show_total) {
break;
}
}
$page .= '</div></div><div class="clear"></div>';
if (count($contacts) > 0) {
$b .= $page;
}
}
示例6: contact_block
function contact_block()
{
$o = '';
$a = get_app();
if (!$a->profile['uid']) {
return;
}
if (!perm_is_allowed($a->profile['uid'], get_observer_hash(), 'view_contacts')) {
return;
}
$shown = get_pconfig($a->profile['uid'], 'system', 'display_friend_count');
if ($shown === false) {
$shown = 25;
}
if ($shown == 0) {
return;
}
$is_owner = local_channel() && local_channel() == $a->profile['uid'] ? true : false;
$abook_flags = ABOOK_FLAG_PENDING | ABOOK_FLAG_SELF;
$xchan_flags = XCHAN_FLAGS_ORPHAN | XCHAN_FLAGS_DELETED;
if (!$is_owner) {
$abook_flags = $abook_flags | ABOOK_FLAG_HIDDEN;
$xchan_flags = $xchan_flags | XCHAN_FLAGS_HIDDEN;
}
if (!is_array($a->profile) || $a->profile['hide_friends']) {
return $o;
}
$r = q("SELECT COUNT(abook_id) AS total FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d and ( abook_flags & %d ) = 0 and ( xchan_flags & %d ) = 0", intval($a->profile['uid']), intval($abook_flags), intval($xchan_flags));
if (count($r)) {
$total = intval($r[0]['total']);
}
if (!$total) {
$contacts = t('No connections');
$micropro = null;
} else {
$randfunc = db_getfunc('RAND');
$r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash WHERE abook_channel = %d AND ( abook_flags & %d ) = 0 and ( xchan_flags & %d ) = 0 ORDER BY {$randfunc} LIMIT %d", intval($a->profile['uid']), intval($abook_flags | ABOOK_FLAG_ARCHIVED), intval($xchan_flags), intval($shown));
if (count($r)) {
$contacts = sprintf(tt('%d Connection', '%d Connections', $total), $total);
$micropro = array();
foreach ($r as $rr) {
$rr['archived'] = $rr['abook_flags'] & ABOOK_FLAG_ARCHIVED ? true : false;
$micropro[] = micropro($rr, true, 'mpfriend');
}
}
}
$tpl = get_markup_template('contact_block.tpl');
$o = replace_macros($tpl, array('$contacts' => $contacts, '$nickname' => $a->profile['channel_address'], '$viewconnections' => t('View Connections'), '$micropro' => $micropro));
$arr = array('contacts' => $r, 'output' => $o);
call_hooks('contact_block_end', $arr);
return $o;
}
示例7: get
function get()
{
if (!local_channel()) {
notice(t('Permission denied') . EOL);
return;
}
if (argc() < 2) {
notice(t('Invalid profile identifier.') . EOL);
return;
}
// Switch to text mod interface if we have more than 'n' contacts or group members
$switchtotext = get_pconfig(local_channel(), 'system', 'groupedit_image_limit');
if ($switchtotext === false) {
$switchtotext = get_config('system', 'groupedit_image_limit');
}
if ($switchtotext === false) {
$switchtotext = 400;
}
if (argc() > 2 && intval(argv(1)) && intval(argv(2))) {
$r = q("SELECT abook_id FROM abook WHERE abook_id = %d and abook_channel = %d limit 1", intval(argv(2)), intval(local_channel()));
if ($r) {
$change = intval(argv(2));
}
}
if (argc() > 1 && intval(argv(1))) {
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d AND `is_default` = 0 LIMIT 1", intval(argv(1)), intval(local_channel()));
if (!$r) {
notice(t('Invalid profile identifier.') . EOL);
return;
}
$profile = $r[0];
$r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d AND abook_profile = '%s'", intval(local_channel()), dbesc($profile['profile_guid']));
$ingroup = array();
if ($r) {
foreach ($r as $member) {
$ingroup[] = $member['abook_id'];
}
}
$members = $r;
if ($change) {
if (in_array($change, $ingroup)) {
q("UPDATE abook SET abook_profile = '' WHERE abook_id = %d AND abook_channel = %d", intval($change), intval(local_channel()));
} else {
q("UPDATE abook SET abook_profile = '%s' WHERE abook_id = %d AND abook_channel = %d", dbesc($profile['profile_guid']), intval($change), intval(local_channel()));
}
//Time to update the permissions on the profile-pictures as well
profile_photo_set_profile_perms($profile['id']);
$r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d AND abook_profile = '%s'", intval(local_channel()), dbesc($profile['profile_guid']));
$members = $r;
$ingroup = array();
if (count($r)) {
foreach ($r as $member) {
$ingroup[] = $member['abook_id'];
}
}
}
$o .= '<h2>' . t('Profile Visibility Editor') . '</h2>';
$o .= '<h3>' . t('Profile') . ' \'' . $profile['profile_name'] . '\'</h3>';
$o .= '<div id="prof-edit-desc">' . t('Click on a contact to add or remove.') . '</div>';
}
$o .= '<div id="prof-update-wrapper">';
if ($change) {
$o = '';
}
$o .= '<div id="prof-members-title">';
$o .= '<h3>' . t('Visible To') . '</h3>';
$o .= '</div>';
$o .= '<div id="prof-members">';
$textmode = $switchtotext && count($members) > $switchtotext ? true : false;
foreach ($members as $member) {
if ($member['xchan_url']) {
$member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['abook_id'] . '); return false;';
$o .= micropro($member, true, 'mpprof', $textmode);
}
}
$o .= '</div><div id="prof-members-end"></div>';
$o .= '<hr id="prof-separator" />';
$o .= '<div id="prof-all-contcts-title">';
$o .= '<h3>' . t("All Connections") . '</h3>';
$o .= '</div>';
$o .= '<div id="prof-all-contacts">';
$r = abook_connections(local_channel());
if ($r) {
$textmode = $switchtotext && count($r) > $switchtotext ? true : false;
foreach ($r as $member) {
if (!in_array($member['abook_id'], $ingroup)) {
$member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['abook_id'] . '); return false;';
$o .= micropro($member, true, 'mpprof', $textmode);
}
}
}
$o .= '</div><div id="prof-all-contacts-end"></div>';
if ($change) {
echo $o;
killme();
}
$o .= '</div>';
return $o;
}
示例8: profperm_content
function profperm_content(&$a)
{
if (!local_user()) {
notice(t('Permission denied') . EOL);
return;
}
if ($a->argc < 2) {
notice(t('Invalid profile identifier.') . EOL);
return;
}
// Switch to text mod interface if we have more than 'n' contacts or group members
$switchtotext = get_pconfig(local_user(), 'system', 'groupedit_image_limit');
if ($switchtotext === false) {
$switchtotext = get_config('system', 'groupedit_image_limit');
}
if ($switchtotext === false) {
$switchtotext = 400;
}
if ($a->argc > 2 && intval($a->argv[1]) && intval($a->argv[2])) {
$r = q("SELECT `id` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `self` = 0\n\t\t\tAND `network` = '%s' AND `id` = %d AND `uid` = %d LIMIT 1", dbesc(NETWORK_DFRN), intval($a->argv[2]), intval(local_user()));
if (count($r)) {
$change = intval($a->argv[2]);
}
}
if ($a->argc > 1 && intval($a->argv[1])) {
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d AND `is-default` = 0 LIMIT 1", intval($a->argv[1]), intval(local_user()));
if (!count($r)) {
notice(t('Invalid profile identifier.') . EOL);
return;
}
$profile = $r[0];
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `profile-id` = %d", intval(local_user()), intval($a->argv[1]));
$ingroup = array();
if (count($r)) {
foreach ($r as $member) {
$ingroup[] = $member['id'];
}
}
$members = $r;
if ($change) {
if (in_array($change, $ingroup)) {
q("UPDATE `contact` SET `profile-id` = 0 WHERE `id` = %d AND `uid` = %d", intval($change), intval(local_user()));
} else {
q("UPDATE `contact` SET `profile-id` = %d WHERE `id` = %d AND `uid` = %d", intval($a->argv[1]), intval($change), intval(local_user()));
}
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `profile-id` = %d", intval(local_user()), intval($a->argv[1]));
$members = $r;
$ingroup = array();
if (count($r)) {
foreach ($r as $member) {
$ingroup[] = $member['id'];
}
}
}
$o .= '<h2>' . t('Profile Visibility Editor') . '</h2>';
$o .= '<h3>' . t('Profile') . ' \'' . $profile['profile-name'] . '\'</h3>';
$o .= '<div id="prof-edit-desc">' . t('Click on a contact to add or remove.') . '</div>';
}
$o .= '<div id="prof-update-wrapper">';
if ($change) {
$o = '';
}
$o .= '<div id="prof-members-title">';
$o .= '<h3>' . t('Visible To') . '</h3>';
$o .= '</div>';
$o .= '<div id="prof-members">';
$textmode = $switchtotext && count($members) > $switchtotext ? true : false;
foreach ($members as $member) {
if ($member['url']) {
$member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['id'] . '); return true;';
$o .= micropro($member, true, 'mpprof', $textmode);
}
}
$o .= '</div><div id="prof-members-end"></div>';
$o .= '<hr id="prof-separator" />';
$o .= '<div id="prof-all-contcts-title">';
$o .= '<h3>' . t("All Contacts (with secure profile access)") . '</h3>';
$o .= '</div>';
$o .= '<div id="prof-all-contacts">';
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0\n\t\t\tAND `network` = '%s' ORDER BY `name` ASC", intval(local_user()), dbesc(NETWORK_DFRN));
if (count($r)) {
$textmode = $switchtotext && count($r) > $switchtotext ? true : false;
foreach ($r as $member) {
if (!in_array($member['id'], $ingroup)) {
$member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['id'] . '); return true;';
$o .= micropro($member, true, 'mpprof', $textmode);
}
}
}
$o .= '</div><div id="prof-all-contacts-end"></div>';
if ($change) {
echo $o;
killme();
}
$o .= '</div>';
return $o;
}
示例9: group_content
function group_content(&$a)
{
$change = false;
if (!local_user()) {
notice(t('Permission denied') . EOL);
return;
}
// Switch to text mode interface if we have more than 'n' contacts or group members
$switchtotext = get_pconfig(local_user(), 'system', 'groupedit_image_limit');
if ($switchtotext === false) {
$switchtotext = get_config('system', 'groupedit_image_limit');
}
if ($switchtotext === false) {
$switchtotext = 400;
}
$tpl = get_markup_template('group_edit.tpl');
$context = array('$submit' => t('Submit'));
if ($a->argc == 2 && $a->argv[1] === 'new') {
return replace_macros($tpl, $context + array('$title' => t('Create a group of contacts/friends.'), '$gname' => array('groupname', t('Group Name: '), '', ''), '$gid' => 'new', '$form_security_token' => get_form_security_token("group_edit")));
}
if ($a->argc == 3 && $a->argv[1] === 'drop') {
check_form_security_token_redirectOnErr('/group', 'group_drop', 't');
if (intval($a->argv[2])) {
$r = q("SELECT `name` FROM `group` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($a->argv[2]), intval(local_user()));
if (count($r)) {
$result = group_rmv(local_user(), $r[0]['name']);
}
if ($result) {
info(t('Group removed.') . EOL);
} else {
notice(t('Unable to remove group.') . EOL);
}
}
goaway($a->get_baseurl() . '/group');
// NOTREACHED
}
if ($a->argc > 2 && intval($a->argv[1]) && intval($a->argv[2])) {
check_form_security_token_ForbiddenOnErr('group_member_change', 't');
$r = q("SELECT `id` FROM `contact` WHERE `id` = %d AND `uid` = %d and `self` = 0 and `blocked` = 0 AND `pending` = 0 LIMIT 1", intval($a->argv[2]), intval(local_user()));
if (count($r)) {
$change = intval($a->argv[2]);
}
}
if ($a->argc > 1 && intval($a->argv[1])) {
require_once 'include/acl_selectors.php';
$r = q("SELECT * FROM `group` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1", intval($a->argv[1]), intval(local_user()));
if (!count($r)) {
notice(t('Group not found.') . EOL);
goaway($a->get_baseurl() . '/contacts');
}
$group = $r[0];
$members = group_get_members($group['id']);
$preselected = array();
if (count($members)) {
foreach ($members as $member) {
$preselected[] = $member['id'];
}
}
if ($change) {
if (in_array($change, $preselected)) {
group_rmv_member(local_user(), $group['name'], $change);
} else {
group_add_member(local_user(), $group['name'], $change);
}
$members = group_get_members($group['id']);
$preselected = array();
if (count($members)) {
foreach ($members as $member) {
$preselected[] = $member['id'];
}
}
}
$drop_tpl = get_markup_template('group_drop.tpl');
$drop_txt = replace_macros($drop_tpl, array('$id' => $group['id'], '$delete' => t('Delete'), '$form_security_token' => get_form_security_token("group_drop")));
$celeb = $a->user['page-flags'] == PAGE_SOAPBOX || $a->user['page-flags'] == PAGE_COMMUNITY ? true : false;
$context = $context + array('$title' => t('Group Editor'), '$gname' => array('groupname', t('Group Name: '), $group['name'], ''), '$gid' => $group['id'], '$drop' => $drop_txt, '$form_security_token' => get_form_security_token('group_edit'));
}
if (!isset($group)) {
return;
}
$groupeditor = array('label_members' => t('Members'), 'members' => array(), 'label_contacts' => t('All Contacts'), 'contacts' => array());
$sec_token = addslashes(get_form_security_token('group_member_change'));
$textmode = $switchtotext && count($members) > $switchtotext ? true : false;
foreach ($members as $member) {
if ($member['url']) {
$member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . ',\'' . $sec_token . '\'); return true;';
$groupeditor['members'][] = micropro($member, true, 'mpgroup', $textmode);
} else {
group_rmv_member(local_user(), $group['name'], $member['id']);
}
}
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 ORDER BY `name` ASC", intval(local_user()));
if (count($r)) {
$textmode = $switchtotext && count($r) > $switchtotext ? true : false;
foreach ($r as $member) {
if (!in_array($member['id'], $preselected)) {
$member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . ',\'' . $sec_token . '\'); return true;';
$groupeditor['contacts'][] = micropro($member, true, 'mpall', $textmode);
}
}
//.........这里部分代码省略.........
示例10: forumlist_profile_advanced
/**
* @brief Format forumlist as contact block
*
* This function is used to show the forumlist in
* the advanced profile.
*
* @param int $uid
* @return string
*
*/
function forumlist_profile_advanced($uid)
{
$profile = intval(feature_enabled($uid, 'forumlist_profile'));
if (!$profile) {
return;
}
$o = '';
// place holder in case somebody wants configurability
$show_total = 9999;
//don't sort by last updated item
$lastitem = false;
$contacts = get_forumlist($uid, false, $lastitem, false);
$total_shown = 0;
foreach ($contacts as $contact) {
$forumlist .= micropro($contact, false, 'forumlist-profile-advanced');
$total_shown++;
if ($total_shown == $show_total) {
break;
}
}
if (count($contacts) > 0) {
$o .= $forumlist;
}
return $o;
}
示例11: group_content
function group_content(&$a)
{
if (!local_user()) {
notice(t('Permission denied') . EOL);
return;
}
// Switch to text mod interface if we have more than 'n' contacts or group members
$switchtotext = get_pconfig(local_user(), 'system', 'groupedit_image_limit');
if ($switchtotext === false) {
$switchtotext = get_config('system', 'groupedit_image_limit');
}
if ($switchtotext === false) {
$switchtotext = 400;
}
if ($a->argc == 2 && $a->argv[1] === 'new') {
$tpl = get_markup_template('group_new.tpl');
$o .= replace_macros($tpl, array('$desc' => t('Create a group of contacts/friends.'), '$name' => t('Group Name: '), '$submit' => t('Submit')));
return $o;
}
if ($a->argc == 3 && $a->argv[1] === 'drop') {
if (intval($a->argv[2])) {
$r = q("SELECT `name` FROM `group` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($a->argv[2]), intval(local_user()));
if (count($r)) {
$result = group_rmv(local_user(), $r[0]['name']);
}
if ($result) {
info(t('Group removed.') . EOL);
} else {
notice(t('Unable to remove group.') . EOL);
}
}
goaway($a->get_baseurl() . '/group');
// NOTREACHED
}
if ($a->argc > 2 && intval($a->argv[1]) && intval($a->argv[2])) {
$r = q("SELECT `id` FROM `contact` WHERE `id` = %d AND `uid` = %d and `self` = 0 and `blocked` = 0 AND `pending` = 0 LIMIT 1", intval($a->argv[2]), intval(local_user()));
if (count($r)) {
$change = intval($a->argv[2]);
}
}
if ($a->argc > 1 && intval($a->argv[1])) {
require_once 'include/acl_selectors.php';
$r = q("SELECT * FROM `group` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1", intval($a->argv[1]), intval(local_user()));
if (!count($r)) {
notice(t('Group not found.') . EOL);
goaway($a->get_baseurl() . '/contacts');
}
$group = $r[0];
$members = group_get_members($group['id']);
$preselected = array();
if (count($members)) {
foreach ($members as $member) {
$preselected[] = $member['id'];
}
}
if ($change) {
if (in_array($change, $preselected)) {
group_rmv_member(local_user(), $group['name'], $change);
} else {
group_add_member(local_user(), $group['name'], $change);
}
$members = group_get_members($group['id']);
$preselected = array();
if (count($members)) {
foreach ($members as $member) {
$preselected[] = $member['id'];
}
}
}
$drop_tpl = get_markup_template('group_drop.tpl');
$drop_txt = replace_macros($drop_tpl, array('$id' => $group['id'], '$delete' => t('Delete')));
$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('$gid' => $group['id'], '$name' => $group['name'], '$drop' => $drop_txt, '$desc' => t('Click on a contact to add or remove.'), '$title' => t('Group Editor'), '$gname' => t('Group Name: '), '$submit' => t('Submit')));
}
if (!isset($group)) {
return;
}
$o .= '<div id="group-update-wrapper">';
if ($change) {
$o = '';
}
$o .= '<h3>' . t('Members') . '</h3>';
$o .= '<div id="group-members">';
$textmode = $switchtotext && count($members) > $switchtotext ? true : false;
foreach ($members as $member) {
if ($member['url']) {
$member['click'] = 'groupChangeMember(' . $group['id'] . ',' . $member['id'] . '); return true;';
$o .= micropro($member, true, 'mpgroup', $textmode);
} else {
group_rmv_member(local_user(), $group['name'], $member['id']);
}
}
$o .= '</div><div id="group-members-end"></div>';
$o .= '<hr id="group-separator" />';
$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", intval(local_user()));
if (count($r)) {
$textmode = $switchtotext && count($r) > $switchtotext ? true : false;
//.........这里部分代码省略.........