// Add overall news
$news_index = array();
$draft_index = array();
$archive_index = array();
foreach ($files as $news_file) {
    $dt = cn_touch_get(cn_path_construct(SERVDIR, 'cdata', 'news') . $news_file);
    foreach ($dt as $id => $data) {
        // checks news existing in archive
        if ($afn = is_news_inarchive($id, $archive_data)) {
            $archive_index[$afn][$id] = db_index_create($data);
        }
        // checks draft
        if ($data['st'] == 'd') {
            $draft_index[$id] = db_index_create($data);
        } else {
            $news_index[$id] = db_index_create($data);
        }
    }
}
db_index_save($draft_index, 'draft');
db_index_save($news_index);
db_index_update_overall();
foreach ($archive_index as $file => $ind) {
    db_index_save($ind, 'archive-' . $file);
    $min = min(array_keys($ind));
    $max = max(array_keys($ind));
    $cnt = count($ind);
    db_archive_meta_update($file, $min, $max, $cnt);
    db_index_update_overall('archive-' . $file);
}
echo "UPDATE SUCCESS." . PHP_EOL;
Example #2
0
function edit_news_delete()
{
    cn_dsi_check();
    if (!test('Nud')) {
        msg_info("Unable to delete news: no permission");
    }
    $FlatDB = new FlatDB();
    list($id, $source) = GET('id, source', 'GET');
    $ida = db_index_load($source);
    $nloc = db_get_nloc($id);
    $db = db_news_load($nloc);
    // ------
    $FlatDB->cn_remove_categories($db[$id]['c'], $db[$id]['id']);
    $FlatDB->cn_update_date(0, $db[$id]['id']);
    $FlatDB->cn_user_sync($db[$id]['u'], 0, $db[$id]['id']);
    $FlatDB->cn_remove_tags($db[$id]['tg'], $db[$id]['id']);
    // ------
    unset($db[$id]);
    unset($ida[$id]);
    // Remove from meta-index
    $_ts_id = bt_get_id($id, 'nts_id');
    bt_del_id($id, 'nts_id');
    bt_del_id($_ts_id, 'nid_ts');
    // Remove page alias
    $_ts_pg = bt_get_id($id, 'ts_pg');
    bt_del_id($id, 'ts_pg');
    bt_del_id($_ts_pg, 'pg_ts');
    // save block
    db_save_news($db, $nloc);
    db_index_save($ida, $source);
    db_index_update_overall($source);
    cn_relocation(cn_url_modify(array('reset'), 'mod=editnews', "source={$source}"));
    $FlatDB->cache_clean();
}