コード例 #1
0
function edit_post($params)
{
    global $xmlrpcerruser;
    global $SYSTEM;
    $postid = $params->getParam(0);
    $username = $params->getParam(1);
    $password = $params->getParam(2);
    $content = $params->getParam(3);
    $publish = $params->getParam(4);
    # The publish flag is ignored.
    user_verify_fingerprint(user_get_fingerprint($username->scalarval(), $password->scalarval()));
    if (user_is_valid($username->scalarval(), $password->scalarval())) {
        while ($list = $content->structeach()) {
            # We only handle a few of the possible RSS2 item elements because
            # most of them only apply to already published entries.
            switch ($list['key']) {
                case 'title':
                    $entry .= "<h4>" . $list['value']->scalarval() . "</h4>";
                    break;
                case 'description':
                    $entry .= $list['value']->scalarval();
                    break;
                case 'category':
                    $tag_arr = array();
                    $size = $list['value']->arraysize();
                    for ($i = 0; $i < $size; $i++) {
                        $elem = $list['value']->arraymem($i);
                        $tag_arr[] = $elem->scalarval();
                    }
                    $tags = implode(',', $tag_arr);
                    if (strstr($tags, 'private')) {
                        $private = TRUE;
                    }
                    if (strstr($tags, 'nolinebreaks')) {
                        $nolinebreaks = TRUE;
                    }
                    $entry .= "<!-- tags: {$tags} -->";
                    break;
            }
        }
        if (user_is_journaling($username->scalarval())) {
            $ret = plan_write_journaling($postid->scalarval(), $entry, $private, $nolinebreaks, $username->scalarval());
        } else {
            $ret = plan_write_traditional($entry, $username->scalarval());
        }
        if ($ret) {
            $ret = new xmlrpcresp(new xmlrpcval($ret));
        } else {
            $ret = new xmlrpcresp(0, $xmlrpcerruser + 2, "Entry add failed");
        }
    } else {
        $ret = new xmlrpcresp(0, $xmlrpcerruser + 3, "Invalid login - cannot create new post");
    }
    return $ret;
}
コード例 #2
0
                $draft_filename = "{$_SERVER['USER_ROOT']}/plan/draft.{$_POST['draft_time']}.txt";
                unlink($draft_filename);
                echo plan_list_drafts();
                break;
            case 'Update Journaling Plan Ajax':
                $_SERVER['AJAX_POST'] = TRUE;
                $return = plan_write_journaling($_POST['edit'], $_POST['newplan'], $_POST['private'], $_POST['nolinebreaks'], $_POST['writer']);
                $return = stripslashes(stripslashes($return));
                if ($_POST['nolinebreaks'] != 1) {
                    $return = nl2br($return);
                }
                $return = plan_process_directives(plan_add_user_links(plan_add_alias_links($return, $_POST['writer'])));
                echo $return;
                break;
            case 'Update Nonjournaling Plan':
                plan_write_traditional($_POST['newplan'], $_POST['writer']);
                break;
            default:
                echo "ERROR: no valid action selected.";
                print_r($_POST);
        }
    }
} else {
    echo "invalid user {$_POST['writer']}";
    exit;
}
//redirect("/");
// plan_edit_blocked_message()
//
// presents a form for editing the contents of a list file
//------------------------------------------------------------------------------