コード例 #1
0
ファイル: index.php プロジェクト: vojtajina/sitellite
<?php

global $cgi;
loader_import('cms.Workspace.Bookmark');
$bk = new WorkspaceBookmark();
$cgi->bk_link = str_replace('&_msg=deleted', '', $cgi->bk_link);
$res = $bk->add($cgi->bk_link, $cgi->bk_name);
loader_import('saf.Misc.RPC');
echo rpc_response($res);
exit;
コード例 #2
0
ファイル: index.php プロジェクト: vojtajina/sitellite
}
if (!$cgi->verify('key', 'regex', '/^[a-zA-Z0-9_-]+$/')) {
    echo rpc_response(false);
    exit;
}
if (session_is_resource($cgi->table) && !session_allowed($cgi->table, 'rw', 'resource')) {
    echo rpc_response(false);
    exit;
}
$items = preg_split('/, ?/', $cgi->items);
if (!$cgi->title) {
    foreach ($items as $item) {
        db_execute('insert into ' . $cgi->table . ' (' . $cgi->key . ') values (?)', $item);
    }
    echo rpc_response(true);
} else {
    if (!$cgi->verify('title', 'regex', '/^[a-zA-Z0-9_-]+$/')) {
        echo rpc_response(false);
        exit;
    }
    $ids = array();
    foreach ($items as $item) {
        db_execute('insert into ' . $cgi->table . ' (' . $cgi->key . ', ' . $cgi->title . ') values (null, ?)', $item);
        $i = new StdClass();
        $i->value = db_lastid();
        $i->text = $item;
        $ids[] = $i;
    }
    echo rpc_response($ids);
}
exit;
コード例 #3
0
ファイル: index.php プロジェクト: vojtajina/sitellite
<?php

global $cgi;
loader_import('saf.Misc.RPC');
if (!$cgi->table || !$cgi->items || !$cgi->key) {
    echo rpc_response(false);
    exit;
}
if (!$cgi->verify('table', 'regex', '/^[a-zA-Z0-9_-]+$/')) {
    echo rpc_response(false);
    exit;
}
if (!$cgi->verify('key', 'regex', '/^[a-zA-Z0-9_-]+$/')) {
    echo rpc_response(false);
    exit;
}
if (session_is_resource($cgi->table) && !session_allowed($cgi->table, 'rw', 'resource')) {
    echo rpc_response(false);
    exit;
}
$items = preg_split('/, ?/', $cgi->items);
foreach ($items as $item) {
    db_execute('insert into ' . $cgi->table . ' (' . $cgi->key . ') values (?)', $item);
}
echo rpc_response(true);
exit;
コード例 #4
0
ファイル: index.php プロジェクト: vojtajina/sitellite
if (session_admin()) {
    $level++;
}
$current = db_single('select * from sitewiki_page where id = ?', $cgi->page);
if (!$current) {
    echo rpc_response(false);
    exit;
}
$revision = db_single('select * from sitewiki_page_sv where id = ? and sv_autoid = ?', $cgi->page, $cgi->rev);
if (!$revision) {
    echo rpc_response(false);
    exit;
}
if ($current->view_level > $level && $current->owner != session_username()) {
    echo rpc_response(false);
    exit;
}
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    $join = ';';
} else {
    $join = ':';
}
ini_set('include_path', 'inc/app/sitewiki/lib/Ext' . $join . ini_get('include_path'));
loader_import('sitewiki.Ext.Text.Diff');
loader_import('sitewiki.Ext.Text.Diff.Renderer');
loader_import('sitewiki.Ext.Text.Diff.Renderer.inline');
$diff = new Text_Diff(explode("\n", $revision->body), explode("\n", $current->body));
$renderer = new Text_Diff_Renderer_inline();
$out = $renderer->render($diff);
echo rpc_response($out);
exit;