当前位置: 首页>>代码示例>>PHP>>正文


PHP build_sync_packet函数代码示例

本文整理汇总了PHP中build_sync_packet函数的典型用法代码示例。如果您正苦于以下问题:PHP build_sync_packet函数的具体用法?PHP build_sync_packet怎么用?PHP build_sync_packet使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了build_sync_packet函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: chat_post

function chat_post(&$a)
{
    if ($_POST['room_name']) {
        $room = strip_tags(trim($_POST['room_name']));
    }
    if (!$room || !local_channel()) {
        return;
    }
    $channel = $a->get_channel();
    if ($_POST['action'] === 'drop') {
        logger('delete chatroom');
        chatroom_destroy($channel, array('cr_name' => $room));
        goaway(z_root() . '/chat/' . $channel['channel_address']);
    }
    $acl = new AccessList($channel);
    $acl->set_from_array($_REQUEST);
    $arr = $acl->get();
    $arr['name'] = $room;
    $arr['expire'] = intval($_POST['chat_expire']);
    if (intval($arr['expire']) < 0) {
        $arr['expire'] = 0;
    }
    chatroom_create($channel, $arr);
    $x = q("select * from chatroom where cr_name = '%s' and cr_uid = %d limit 1", dbesc($room), intval(local_channel()));
    build_sync_packet(0, array('chatroom' => $x));
    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');
}
开发者ID:msooon,项目名称:hubzilla,代码行数:31,代码来源:chat.php

示例2: init

 function init()
 {
     $starred = 0;
     if (!local_channel()) {
         killme();
     }
     if (argc() > 1) {
         $message_id = intval(argv(1));
     }
     if (!$message_id) {
         killme();
     }
     $r = q("SELECT item_flags FROM item WHERE uid = %d AND id = %d LIMIT 1", intval(local_channel()), intval($message_id));
     if (!count($r)) {
         killme();
     }
     $item_starred = intval($r[0]['item_starred']) ? 0 : 1;
     $r = q("UPDATE item SET item_starred = %d WHERE uid = %d and id = %d", intval($item_starred), intval(local_channel()), intval($message_id));
     $r = q("select * from item where id = %d", intval($message_id));
     if ($r) {
         xchan_query($r);
         $sync_item = fetch_post_tags($r);
         build_sync_packet(local_channel(), ['item' => [encode_item($sync_item[0], true)]]);
     }
     header('Content-type: application/json');
     echo json_encode(array('result' => $item_starred));
     killme();
 }
开发者ID:BlaBlaNet,项目名称:hubzilla,代码行数:28,代码来源:Starred.php

示例3: notes_init

/** @file */
function notes_init(&$a)
{
    if (!local_channel()) {
        return;
    }
    $ret = array('success' => true);
    if (array_key_exists('note_text', $_REQUEST)) {
        $body = escape_tags($_REQUEST['note_text']);
        // I've had my notes vanish into thin air twice in four years.
        // Provide a backup copy if there were contents previously
        // and there are none being saved now.
        if (!$body) {
            $old_text = get_pconfig(local_channel(), 'notes', 'text');
            if ($old_text) {
                set_pconfig(local_channel(), 'notes', 'text.bak', $old_text);
            }
        }
        set_pconfig(local_channel(), 'notes', 'text', $body);
    }
    // push updates to channel clones
    if (argc() > 1 && argv(1) === 'sync') {
        require_once 'include/zot.php';
        build_sync_packet();
    }
    logger('notes saved.', LOGGER_DEBUG);
    json_return_and_die($ret);
}
开发者ID:anmol26s,项目名称:hubzilla-yunohost,代码行数:28,代码来源:notes.php

示例4: post

 function post()
 {
     check_form_security_token_redirectOnErr('/settings/featured', 'settings_featured');
     call_hooks('feature_settings_post', $_POST);
     build_sync_packet();
     return;
 }
开发者ID:phellmes,项目名称:hubzilla,代码行数:7,代码来源:Featured.php

示例5: chatroom_destroy

function chatroom_destroy($channel, $arr)
{
    $ret = array('success' => false);
    if (intval($arr['cr_id'])) {
        $sql_extra = " and cr_id = " . intval($arr['cr_id']) . " ";
    } elseif (trim($arr['cr_name'])) {
        $sql_extra = " and cr_name = '" . protect_sprintf(dbesc(trim($arr['cr_name']))) . "' ";
    } else {
        $ret['message'] = t('Invalid room specifier.');
        return $ret;
    }
    $r = q("select * from chatroom where cr_uid = %d {$sql_extra} limit 1", intval($channel['channel_id']));
    if (!$r) {
        $ret['message'] = t('Invalid room specifier.');
        return $ret;
    }
    build_sync_packet($channel['channel_id'], array('chatroom' => $r));
    q("delete from chatroom where cr_id = %d", intval($r[0]['cr_id']));
    if ($r[0]['cr_id']) {
        q("delete from chatpresence where cp_room = %d", intval($r[0]['cr_id']));
        q("delete from chat where chat_room = %d", intval($r[0]['cr_id']));
    }
    $ret['success'] = true;
    return $ret;
}
开发者ID:anmol26s,项目名称:hubzilla-yunohost,代码行数:25,代码来源:chat.php

示例6: follow_init

function follow_init(&$a)
{
    if (!local_channel()) {
        return;
    }
    $uid = local_channel();
    $url = notags(trim($_REQUEST['url']));
    $return_url = $_SESSION['return_url'];
    $confirm = intval($_REQUEST['confirm']);
    $result = new_contact($uid, $url, $a->get_channel(), true, $confirm);
    if ($result['success'] == false) {
        if ($result['message']) {
            notice($result['message']);
        }
        goaway($return_url);
    }
    info(t('Channel added.') . EOL);
    $clone = array();
    foreach ($result['abook'] as $k => $v) {
        if (strpos($k, 'abook_') === 0) {
            $clone[$k] = $v;
        }
    }
    unset($clone['abook_id']);
    unset($clone['abook_account']);
    unset($clone['abook_channel']);
    build_sync_packet(0, array('abook' => array($clone)));
    // If we can view their stream, pull in some posts
    if ($result['abook']['abook_their_perms'] & PERMS_R_STREAM || $result['abook']['xchan_network'] === 'rss') {
        proc_run('php', 'include/onepoll.php', $result['abook']['abook_id']);
    }
    goaway(z_root() . '/connedit/' . $result['abook']['abook_id'] . '?f=&follow=1');
}
开发者ID:msooon,项目名称:hubzilla,代码行数:33,代码来源:follow.php

示例7: superblock_addon_settings_post

function superblock_addon_settings_post(&$a, &$b)
{
    if (!local_channel()) {
        return;
    }
    if ($_POST['superblock-submit']) {
        set_pconfig(local_channel(), 'system', 'blocked', trim($_POST['superblock-words']));
        info(t('SUPERBLOCK Settings saved.') . EOL);
    }
    build_sync_packet();
}
开发者ID:git-marijus,项目名称:hubzilla-addons,代码行数:11,代码来源:superblock.php

示例8: pdledit_post

function pdledit_post(&$a)
{
    if (!local_channel()) {
        return;
    }
    if (!$_REQUEST['module']) {
        return;
    }
    if (!trim($_REQUEST['content'])) {
        del_pconfig(local_channel(), 'system', 'mod_' . $_REQUEST['module'] . '.pdl');
        goaway(z_root() . '/pdledit/' . $_REQUEST['module']);
    }
    set_pconfig(local_channel(), 'system', 'mod_' . $_REQUEST['module'] . '.pdl', escape_tags($_REQUEST['content']));
    build_sync_packet();
    info(t('Layout updated.') . EOL);
    goaway(z_root() . '/pdledit/' . $_REQUEST['module']);
}
开发者ID:bashrc,项目名称:hubzilla,代码行数:17,代码来源:pdledit.php

示例9: notes_init

/** @file */
function notes_init(&$a)
{
    if (!local_user()) {
        return;
    }
    $ret = array('success' => true);
    if ($_REQUEST['note_text'] || $_REQUEST['note_text'] == '') {
        $body = escape_tags($_REQUEST['note_text']);
        set_pconfig(local_user(), 'notes', 'text', $body);
    }
    // push updates to channel clones
    if (argc() > 1 && argv(1) === 'sync') {
        require_once 'include/zot.php';
        build_sync_packet();
    }
    logger('notes saved.', LOGGER_DEBUG);
    json_return_and_die($ret);
}
开发者ID:Mauru,项目名称:red,代码行数:19,代码来源:notes.php

示例10: init

 function init()
 {
     if (!local_channel()) {
         return;
     }
     $uid = local_channel();
     $url = notags(trim($_REQUEST['url']));
     $return_url = $_SESSION['return_url'];
     $confirm = intval($_REQUEST['confirm']);
     $channel = \App::get_channel();
     // Warning: Do not edit the following line. The first symbol is UTF-8 &#65312;
     $url = str_replace('@', '@', $url);
     $result = new_contact($uid, $url, $channel, true, $confirm);
     if ($result['success'] == false) {
         if ($result['message']) {
             notice($result['message']);
         }
         goaway($return_url);
     }
     info(t('Channel added.') . EOL);
     $clone = array();
     foreach ($result['abook'] as $k => $v) {
         if (strpos($k, 'abook_') === 0) {
             $clone[$k] = $v;
         }
     }
     unset($clone['abook_id']);
     unset($clone['abook_account']);
     unset($clone['abook_channel']);
     $abconfig = load_abconfig($channel['channel_id'], $clone['abook_xchan']);
     if ($abconfig) {
         $clone['abconfig'] = $abconfig;
     }
     build_sync_packet(0, array('abook' => array($clone)), true);
     $can_view_stream = intval(get_abconfig($channel['channel_id'], $clone['abook_xchan'], 'their_perms', 'view_stream'));
     // If we can view their stream, pull in some posts
     if ($can_view_stream || $result['abook']['xchan_network'] === 'rss') {
         \Zotlabs\Daemon\Master::Summon(array('Onepoll', $result['abook']['abook_id']));
     }
     goaway(z_root() . '/connedit/' . $result['abook']['abook_id'] . '?f=&follow=1');
 }
开发者ID:BlaBlaNet,项目名称:hubzilla,代码行数:41,代码来源:Follow.php

示例11: post

 function post()
 {
     check_form_security_token_redirectOnErr('/settings/features', 'settings_features');
     // Build list of features and check which are set
     // We will not create any settings for features that are above our techlevel
     $features = get_features();
     $all_features = array();
     foreach ($features as $k => $v) {
         foreach ($v as $f) {
             $all_features[] = $f[0];
         }
     }
     foreach ($all_features as $k) {
         if (x($_POST, "feature_{$k}")) {
             set_pconfig(local_channel(), 'feature', $k, 1);
         } else {
             set_pconfig(local_channel(), 'feature', $k, 0);
         }
     }
     build_sync_packet();
     return;
 }
开发者ID:phellmes,项目名称:hubzilla,代码行数:22,代码来源:Features.php

示例12: post

 function post()
 {
     if (!local_channel()) {
         return;
     }
     if ($_SESSION['delegate']) {
         return;
     }
     check_form_security_token_redirectOnErr('/pconfig', 'pconfig');
     $cat = trim(escape_tags($_POST['cat']));
     $k = trim(escape_tags($_POST['k']));
     $v = trim($_POST['v']);
     if (in_array(argv(2), $this->disallowed_pconfig())) {
         notice(t('This setting requires special processing and editing has been blocked.') . EOL);
         return;
     }
     if (strpos($k, 'password') !== false) {
         $v = z_obscure($v);
     }
     set_pconfig(local_channel(), $cat, $k, $v);
     build_sync_packet();
     goaway(z_root() . '/pconfig/' . $cat . '/' . $k);
 }
开发者ID:BlaBlaNet,项目名称:hubzilla,代码行数:23,代码来源:Pconfig.php

示例13: thing_content

function thing_content(&$a)
{
    // @FIXME one problem with things is we can't share them unless we provide the channel in the url
    // so we can definitively lookup the owner.
    if (argc() == 2) {
        $r = q("select obj_channel from obj where obj_type = %d and obj_obj = '%s' limit 1", intval(TERM_OBJ_THING), dbesc(argv(1)));
        if ($r) {
            $sql_extra = permissions_sql($r[0]['obj_channel']);
        }
        $r = q("select * from obj where obj_type = %d and obj_obj = '%s' {$sql_extra} limit 1", intval(TERM_OBJ_THING), dbesc(argv(1)));
        if ($r) {
            return replace_macros(get_markup_template('show_thing.tpl'), array('$header' => t('Show Thing'), '$edit' => t('Edit'), '$delete' => t('Delete'), '$canedit' => local_channel() && local_channel() == $r[0]['obj_channel'] ? true : false, '$thing' => $r[0]));
        } else {
            notice(t('item not found.') . EOL);
            return;
        }
    }
    $channel = App::get_channel();
    if (!(local_channel() && $channel)) {
        notice(t('Permission denied.') . EOL);
        return;
    }
    $acl = new Zotlabs\Access\AccessList($channel);
    $channel_acl = $acl->get();
    $lockstate = $acl->is_private() ? 'lock' : 'unlock';
    $thing_hash = '';
    if (argc() == 3 && argv(1) === 'edit') {
        $thing_hash = argv(2);
        $r = q("select * from obj where obj_type = %d and obj_obj = '%s' limit 1", intval(TERM_OBJ_THING), dbesc($thing_hash));
        if (!$r || $r[0]['obj_channel'] != local_channel()) {
            notice(t('Permission denied.') . EOL);
            return '';
        }
        $o .= replace_macros(get_markup_template('thing_edit.tpl'), array('$thing_hdr' => t('Edit Thing'), '$multiprof' => feature_enabled(local_channel(), 'multi_profiles'), '$profile_lbl' => t('Select a profile'), '$profile_select' => contact_profile_assign($r[0]['obj_page']), '$verb_lbl' => $channel['channel_name'], '$verb_select' => obj_verb_selector($r[0]['obj_verb']), '$activity' => array('activity', t('Post an activity'), true, t('Only sends to viewers of the applicable profile')), '$thing_hash' => $thing_hash, '$thing_lbl' => t('Name of thing e.g. something'), '$thething' => $r[0]['obj_term'], '$url_lbl' => t('URL of thing (optional)'), '$theurl' => $r[0]['obj_url'], '$img_lbl' => t('URL for photo of thing (optional)'), '$imgurl' => $r[0]['obj_imgurl'], '$permissions' => t('Permissions'), '$aclselect' => populate_acl($channel_acl, false), '$lockstate' => $lockstate, '$submit' => t('Submit')));
        return $o;
    }
    if (argc() == 3 && argv(1) === 'drop') {
        $thing_hash = argv(2);
        $r = q("select * from obj where obj_type = %d and obj_obj = '%s' limit 1", intval(TERM_OBJ_THING), dbesc($thing_hash));
        if (!$r || $r[0]['obj_channel'] != local_channel()) {
            notice(t('Permission denied.') . EOL);
            return '';
        }
        $x = q("delete from obj where obj_obj = '%s' and obj_type = %d and obj_channel = %d", dbesc($thing_hash), intval(TERM_OBJ_THING), intval(local_channel()));
        $r[0]['obj_deleted'] = 1;
        build_sync_packet(0, array('obj' => $r));
        return $o;
    }
    $o .= replace_macros(get_markup_template('thing_input.tpl'), array('$thing_hdr' => t('Add Thing to your Profile'), '$multiprof' => feature_enabled(local_channel(), 'multi_profiles'), '$profile_lbl' => t('Select a profile'), '$profile_select' => contact_profile_assign(''), '$verb_lbl' => $channel['channel_name'], '$activity' => array('activity', t('Post an activity'), array_key_exists('activity', $_REQUEST) ? $_REQUEST['activity'] : true, t('Only sends to viewers of the applicable profile')), '$verb_select' => obj_verb_selector(), '$thing_lbl' => t('Name of thing e.g. something'), '$url_lbl' => t('URL of thing (optional)'), '$img_lbl' => t('URL for photo of thing (optional)'), '$permissions' => t('Permissions'), '$aclselect' => populate_acl($channel_acl, false), '$lockstate' => $lockstate, '$submit' => t('Submit')));
    return $o;
}
开发者ID:anmol26s,项目名称:hubzilla-yunohost,代码行数:51,代码来源:thing.php

示例14: connections_clone

function connections_clone(&$a)
{
    if (!array_key_exists('abook', $a->data)) {
        return;
    }
    $clone = $a->data['abook'];
    unset($clone['abook_id']);
    unset($clone['abook_account']);
    unset($clone['abook_channel']);
    build_sync_packet(0, array('abook' => array($clone)));
}
开发者ID:redmatrix,项目名称:red,代码行数:11,代码来源:connections.php

示例15: post


//.........这里部分代码省略.........
     if (x($_POST, 'notify4')) {
         $notify += intval($_POST['notify4']);
     }
     if (x($_POST, 'notify5')) {
         $notify += intval($_POST['notify5']);
     }
     if (x($_POST, 'notify6')) {
         $notify += intval($_POST['notify6']);
     }
     if (x($_POST, 'notify7')) {
         $notify += intval($_POST['notify7']);
     }
     if (x($_POST, 'notify8')) {
         $notify += intval($_POST['notify8']);
     }
     $vnotify = 0;
     if (x($_POST, 'vnotify1')) {
         $vnotify += intval($_POST['vnotify1']);
     }
     if (x($_POST, 'vnotify2')) {
         $vnotify += intval($_POST['vnotify2']);
     }
     if (x($_POST, 'vnotify3')) {
         $vnotify += intval($_POST['vnotify3']);
     }
     if (x($_POST, 'vnotify4')) {
         $vnotify += intval($_POST['vnotify4']);
     }
     if (x($_POST, 'vnotify5')) {
         $vnotify += intval($_POST['vnotify5']);
     }
     if (x($_POST, 'vnotify6')) {
         $vnotify += intval($_POST['vnotify6']);
     }
     if (x($_POST, 'vnotify7')) {
         $vnotify += intval($_POST['vnotify7']);
     }
     if (x($_POST, 'vnotify8')) {
         $vnotify += intval($_POST['vnotify8']);
     }
     if (x($_POST, 'vnotify9')) {
         $vnotify += intval($_POST['vnotify9']);
     }
     if (x($_POST, 'vnotify10')) {
         $vnotify += intval($_POST['vnotify10']);
     }
     if (x($_POST, 'vnotify11')) {
         $vnotify += intval($_POST['vnotify11']);
     }
     $always_show_in_notices = x($_POST, 'always_show_in_notices') ? 1 : 0;
     $err = '';
     $name_change = false;
     if ($username != $channel['channel_name']) {
         $name_change = true;
         require_once 'include/channel.php';
         $err = validate_channelname($username);
         if ($err) {
             notice($err);
             return;
         }
     }
     if ($timezone != $channel['channel_timezone']) {
         if (strlen($timezone)) {
             date_default_timezone_set($timezone);
         }
     }
     set_pconfig(local_channel(), 'system', 'use_browser_location', $allow_location);
     set_pconfig(local_channel(), 'system', 'suggestme', $suggestme);
     set_pconfig(local_channel(), 'system', 'post_newfriend', $post_newfriend);
     set_pconfig(local_channel(), 'system', 'post_joingroup', $post_joingroup);
     set_pconfig(local_channel(), 'system', 'post_profilechange', $post_profilechange);
     set_pconfig(local_channel(), 'system', 'blocktags', $blocktags);
     set_pconfig(local_channel(), 'system', 'channel_menu', $channel_menu);
     set_pconfig(local_channel(), 'system', 'vnotify', $vnotify);
     set_pconfig(local_channel(), 'system', 'always_show_in_notices', $always_show_in_notices);
     set_pconfig(local_channel(), 'system', 'evdays', $evdays);
     set_pconfig(local_channel(), 'system', 'photo_path', $photo_path);
     set_pconfig(local_channel(), 'system', 'attach_path', $attach_path);
     set_pconfig(local_channel(), 'system', 'cal_first_day', $cal_first_day);
     $r = q("update channel set channel_name = '%s', channel_pageflags = %d, channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d {$set_perms} where channel_id = %d", dbesc($username), intval($pageflags), dbesc($timezone), dbesc($defloc), intval($notify), intval($unkmail), intval($maxreq), intval($expire), intval(local_channel()));
     if ($r) {
         info(t('Settings updated.') . EOL);
     }
     if (!is_null($publish)) {
         $r = q("UPDATE profile SET publish = %d WHERE is_default = 1 AND uid = %d", intval($publish), intval(local_channel()));
     }
     if ($name_change) {
         $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s' where xchan_hash = '%s'", dbesc($username), dbesc(datetime_convert()), dbesc($channel['channel_hash']));
         $r = q("update profile set fullname = '%s' where uid = %d and is_default = 1", dbesc($username), intval($channel['channel_id']));
     }
     \Zotlabs\Daemon\Master::Summon(array('Directory', local_channel()));
     build_sync_packet();
     if ($email_changed && \App::$config['system']['register_policy'] == REGISTER_VERIFY) {
         // FIXME - set to un-verified, blocked and redirect to logout
         // Why? Are we verifying people or email addresses?
     }
     goaway(z_root() . '/settings');
     return;
     // NOTREACHED
 }
开发者ID:phellmes,项目名称:hubzilla,代码行数:101,代码来源:Channel.php


注:本文中的build_sync_packet函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。