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; }
$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 //------------------------------------------------------------------------------