Example #1
0
function metaWeblog_editPost($values)
{
    global $config, $defualtcategoryid, $db_prefix, $mbconfig;
    $struct = $values['struct'];
    $userdetail = check_user($values['username'], $values['password']);
    $blog = new boblog();
    $values['postid'] = floor($values['postid']);
    $records = $blog->getgroupbyquery("SELECT * FROM `{$db_prefix}blogs` WHERE `blogid`='{$values['postid']}'");
    if ($records[0]['blogid'] == '') {
        xml_error("Entry does not exist.");
    }
    if (!$struct['title']) {
        $title = "Untitled MetaWeblogAPI Entry";
    } else {
        $title = safe_convert($struct['title']);
    }
    if (!$struct['description']) {
        xml_error("You MUST provide a decription element in your post.");
    } else {
        $content = reduce_entities($struct['description']);
    }
    $nowtime = time();
    if ($struct['pubDate']) {
        $struct['dateCreated'] = $struct['pubDate'];
    }
    if ($struct['dateCreated']) {
        $time = get_time_unix($struct['dateCreated']) + 3600 * $config['timezone'];
    } else {
        $time = $records[0]['pubtime'];
    }
    $newcym = date("Ym", $time);
    $newcd = date("d", $time);
    $blog->query("UPDATE `{$db_prefix}calendar` SET cyearmonth='{$newcym}', cday='{$newcd}' WHERE `cid`='{$values['postid']}'");
    //writetofile ('text5.php', $struct['categories']); //For debug only
    if ($struct['categories'] != '') {
        $c_tmp = $blog->getgroupbyquery("SELECT cateid FROM `{$db_prefix}categories` WHERE `catename`='{$struct['categories']}'");
        $category = $c_tmp[0]['cateid'];
        if ($category == '') {
            $category = $defualtcategoryid;
        }
    } else {
        $category = $records[0]['category'];
    }
    if ($values['publish'] == 1 && $struct['flNotOnHomePage'] != 1) {
        $property = 0;
    } else {
        $property = 3;
    }
    $query = "UPDATE `{$db_prefix}blogs` SET `title`='{$title}', `pubtime`='{$time}', `property`='{$property}', `category`='{$category}', `content`='{$content}', `editorid`='{$userdetail['userid']}', `edittime`='{$nowtime}' WHERE `blogid`='{$values['postid']}'";
    recache_latestentries();
    recache_currentmonthentries();
    recache_categories();
    //Update Category counter
    $blog->query($query);
    $xml_content = make_xml_piece("boolean", '1');
    $body_xml = xml_generate($xml_content);
    send_response($body_xml);
}
Example #2
0
function blogger_newPost($values)
{
    global $settingInfo, $defualtcategoryid, $DMC, $DBPrefix, $arrSideModule;
    global $strArrayMonth, $strArrayDay, $strYear, $strMonth, $arrWeek, $strDayLogs, $strCalendar;
    global $strModifyInfo, $strLogout, $strLoginSubmit, $strUserRegister;
    global $strSearchErr, $strKeyword, $strSearchTitle, $strSearchContent, $strSearchTitleContent, $strFind;
    $struct = $values['struct'];
    $userdetail = check_user_pw($values['username'], $values['password']);
    if (!$struct['title']) {
        $logTitle = "Untitled MetaWeblogAPI Entry";
    } else {
        $logTitle = reduce_entities($struct['title']);
    }
    if (!$struct['description']) {
        xml_error("You MUST provide a decription element in your post.");
    } else {
        $logContent = reduce_entities($struct['description']);
    }
    if ($struct['pubDate']) {
        $struct['dateCreated'] = $struct['pubDate'];
    }
    if ($struct['dateCreated']) {
        $postTime = get_time_unix($struct['dateCreated']);
    } else {
        $postTime = time();
    }
    if ($struct['categories'] != '') {
        if (strpos(";" . $struct['categories'], "|-") > 0) {
            $struct['categories'] = trim(substr($struct['categories'], 2));
        }
        $c_tmp = $DMC->fetchArray($DMC->query("SELECT id FROM `{$DBPrefix}categories` WHERE `name`='{$struct['categories']}'"));
        $category = $c_tmp['id'];
        if ($category == '') {
            $category = $defualtcategoryid;
        }
    } else {
        $category = $defualtcategoryid;
    }
    $query = "INSERT INTO `{$DBPrefix}logs` (cateId,logTitle,logContent,author,quoteUrl,postTime,isComment,isTrackback,isTop,weather,saveType,tags,password,logsediter) VALUES ('{$category}','{$logTitle}','{$logContent}','{$userdetail['username']}','','{$postTime}','1','1','0','','1','','','tiny')";
    $DMC->query($query);
    //echo $DMC->error();
    $currentid = $DMC->insertId();
    //更新缓存
    $DMC->query("UPDATE " . $DBPrefix . "categories set cateCount=cateCount+1 WHERE id='{$category}'");
    $DMC->query("UPDATE " . $DBPrefix . "setting set settValue=settValue+1 where settName='setlogs'");
    //更新Cache
    settings_recache();
    categories_recount();
    categories_recache();
    recentLogs_recache();
    archives_recache();
    calendar_recache();
    logsTitle_recache();
    logs_sidebar_recache($arrSideModule);
    $xml_logContent = make_xml_piece("string", $currentid);
    $body_xml = xml_generate($xml_logContent);
    //writetofile ("text2.xml", $body_xml); //For debug use
    send_response($body_xml);
}