This repository has been archived on 2024-09-05. You can view files and clone it, but cannot push or open issues or pull requests.
shimmie2/ext/bulk_add_csv/theme.php
velocity37 86402f681c bulk_add_csv: bulk_add with metadata
Imports a CSV with:
path,tags,source,rating

It is basically bulk_add with an fgetcsv loop instead of a foreach glob.
I wanted an easy way to import tagged data from other sources.
2012-08-23 17:03:46 -07:00

44 lines
1.3 KiB
PHP

<?php
class BulkAddCSVTheme extends Themelet {
var $messages = array();
/*
* Show a standard page for results to be put into
*/
public function display_upload_results(Page $page) {
$page->set_title("Adding images from csv");
$page->set_heading("Adding images from csv");
$page->add_block(new NavBlock());
foreach($this->messages as $block) {
$page->add_block($block);
}
}
/*
* Add a section to the admin page. This should contain a form which
* links to bulk_add_csv with POST[csv] set to the name of a server-side
* csv file
*/
public function display_admin_block() {
global $page, $user;
$html = "
Add images from a csv. Images will be tagged and have their
source and rating set (if \"Image Ratings\" is enabled)
<br>Specify the absolute or relative path to a local .csv file. Check <a href=\"" . make_link("ext_doc/bulk_add_csv") . "\">here</a> for the expected format.
<p>".make_form(make_link("bulk_add_csv"))."
<table class='form'>
<tr><th>CSV</th><td><input type='text' name='csv' size='40'></td></tr>
<tr><td colspan='2'><input type='submit' value='Add'></td></tr>
</table>
</form>
";
$page->add_block(new Block("Bulk Add CSV", $html));
}
public function add_status($title, $body) {
$this->messages[] = new Block($title, $body);
}
}
?>