require_once "models/articles.php";
$article_model = new Articles();
$titles_and_dois = $article_model->get_titles_and_dois($db);
$titles_clean = array();
$dois_clean = array();
if ($titles_and_dois) {
    while ($row = $titles_and_dois->fetch_assoc()) {
        if ($row['title_count'] * 1 > 1) {
            $titles_clean[$row['id']] = $row['title_stripped'];
        }
        if ($row['doi_count'] * 1 > 1) {
            $dois_clean[$row['id']] = $row['doi'];
        }
    }
}
$unique_titles = array_unique($titles_clean);
$unique_dois = array_unique($dois_clean);
$ids = array();
foreach ($unique_titles as $id => $title) {
    array_push($ids, $id);
}
foreach ($unique_dois as $id => $doi) {
    array_push($ids, $id);
}
$ids = array_unique($ids);
if (count($ids) > 1) {
    echo "Removing " . count($ids) . " duplicates.<br/>";
    $article_model->delete($db, $ids);
}
echo "Time elapsed: " . (microtime(true) - $time_start) . "s <br/>";
echo "<a href='/index.php'>Back to index page</a>";
Exemple #2
0
<?php

include "Mapper.php";
include "MapperCollection.php";
include "Articles.php";
$map = new Articles("articles");
// Find
echo "Find\n";
$result = $map->find(2);
print_r($result);
// insert
echo "\nInsert\n";
$obj = new stdClass();
$obj->name = "Ny artikel";
$obj->body = "Blah blah yada yada";
$obj->author_id = 2;
$map->insert($obj);
echo "Inserted object:\n";
print_r($obj);
echo "delete\n";
$map->delete($obj);
//update
echo "\nUpdate:\n";
$result->name = "Modified";
$map->update($result);
 /**
  * 删除
  */
 public function actionDelete($id)
 {
     $id = (int) $id;
     $where = array('aid' => $id);
     $Articles = new Articles();
     $Articles->delete($where);
     $ArticlesContent = new ArticlesContent();
     $ArticlesContent->delete($where);
     $this->Common->exportResult(true, '成功!');
 }
Exemple #4
0
 /**
  * limit the number of articles for one anchor
  *
  * This function deletes oldest pages going beyond the given threshold.
  *
  * @param int the maximum number of pages to keep in the database
  * @return void
  */
 public static function purge_for_anchor($anchor, $limit = 1000)
 {
     global $context;
     // lists oldest entries beyond the limit
     $query = "SELECT articles.* FROM " . SQL::table_name('articles') . " AS articles " . " WHERE (articles.anchor LIKE '" . SQL::escape($anchor) . "')" . " ORDER BY articles.edit_date DESC LIMIT " . $limit . ', 10';
     // no result
     if (!($result = SQL::query($query))) {
         return;
     }
     // empty list
     if (!SQL::count($result)) {
         return;
     }
     // delete silently all matching items
     while ($item = SQL::fetch($result)) {
         Articles::delete($item['id']);
     }
     // end of processing
     SQL::free($result);
 }
Exemple #5
0
        $menu = array();
        $menu[] = Skin::build_submit_button(i18n::s('Delete'));
        $menu[] = Skin::build_link(Sections::get_url($item['id'], 'manage'), 'Cancel', 'span');
        $context['text'] .= Skin::finalize_list($menu, 'assistant_bar');
        $context['text'] .= '</form>';
        // nothing to do
    } else {
        Logger::error(i18n::s('No section has been selected.'));
    }
    // actual deletion
} elseif ($action == 'delete_confirmed') {
    // articles
    if (isset($_REQUEST['selected_articles'])) {
        $count = 0;
        foreach ($_REQUEST['selected_articles'] as $dummy => $id) {
            if (Articles::delete($id)) {
                $count++;
            }
        }
        // clear the cache for this section
        Sections::clear($item);
        // report on results
        $context['text'] .= '<p>' . sprintf(i18n::ns('%d page has been deleted.', '%d pages have been deleted.', $count), $count) . '</p>';
        // follow-up commands
        $follow_up = i18n::s('What do you want to do now?');
        $menu = array();
        $menu[] = Skin::build_link(Sections::get_permalink($item), i18n::s('View the section'), 'span');
        $menu[] = Skin::build_link(Sections::get_url($item['id'], 'manage'), i18n::s('Manage it'), 'span');
        $follow_up .= Skin::finalize_list($menu, 'menu_bar');
        $context['text'] .= Skin::build_block($follow_up, 'bottom');
        // sections
Exemple #6
0
global $render_overlaid;
// not found
if (!isset($item['id'])) {
    include '../error.php';
    // permission denied
} elseif (!$permitted) {
    Safe::header('Status: 401 Unauthorized', TRUE, 401);
    Logger::error(i18n::s('You are not allowed to perform this operation.'));
    // deletion is confirmed
} elseif (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete') {
    // touch the related anchor before actual deletion, since the image has to be accessible at that time
    if (is_object($anchor)) {
        $anchor->touch('article:delete', $item['id']);
    }
    // attempt to delete
    if (Articles::delete($item['id'])) {
        // log item deletion
        $label = sprintf(i18n::c('Deletion: %s'), strip_tags($item['title']));
        $description = Articles::get_permalink($item);
        Logger::remember('articles/delete.php: ' . $label, $description);
        // this can appear anywhere
        Cache::clear();
        // back to the anchor page or to the index page
        if (is_object($overlay) && ($back_url = $overlay->get_url_after_deleting())) {
            Safe::redirect($back_url);
        } elseif (!is_object($anchor)) {
            Safe::redirect($context['url_to_home'] . $context['url_to_root'] . 'articles/');
        } elseif ($anchor->is_viewable()) {
            Safe::redirect($context['url_to_home'] . $context['url_to_root'] . $anchor->get_url());
        } elseif ($id = Surfer::get_id()) {
            Safe::redirect($context['url_to_home'] . $context['url_to_root'] . Users::get_url($id));