91 lines
2.8 KiB
Perl
Executable File
91 lines
2.8 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# ==================================================================
|
|
# Links SQL - enhanced directory management system
|
|
#
|
|
# Website : http://gossamer-threads.com/
|
|
# Support : http://gossamer-threads.com/scripts/support/
|
|
# Revision : $Id: nph-imageresize.cgi,v 1.2 2004/12/09 00:55:04 aki Exp $
|
|
#
|
|
# Copyright (c) 2001 Gossamer Threads Inc. All Rights Reserved.
|
|
# Redistribution in part or in whole strictly prohibited. Please
|
|
# see LICENSE file for full details.
|
|
# ==================================================================
|
|
use lib '/var/home/slowtwitch/slowtwitch.com/cgi-bin/articles/admin';
|
|
|
|
use strict;
|
|
use vars qw/$USE_HTML/;
|
|
use Links qw/$IN $DB $CFG/;
|
|
use Links::Plugins;
|
|
use Plugins::ConvertVideo;
|
|
use GT::TempFile;
|
|
use GT::SQL::File;
|
|
|
|
$| = 1;
|
|
Links::init('/var/home/slowtwitch/slowtwitch.com/cgi-bin/articles/admin');
|
|
|
|
main();
|
|
|
|
sub main {
|
|
# --------------------------------------------------
|
|
$USE_HTML = exists $ENV{REQUEST_METHOD} ? 1 : 0;
|
|
local $SIG{__DIE__} = \&Links::fatal if $USE_HTML;
|
|
|
|
my $links = $DB->table( 'Links' ) or die $GT::SQL::error;
|
|
|
|
# Beautify output...
|
|
my $lcount = $links->count;
|
|
if ( $USE_HTML ) {
|
|
print qq~
|
|
<html>
|
|
<head>
|
|
<title>Converting video database</title>
|
|
</head>
|
|
<body bgcolor="white">
|
|
~;
|
|
print Links::header ('Updating Links ...', 'Links SQL is now attempting to update your $lcount links, please be patient, this can take a while.', 0);
|
|
print '<pre>';
|
|
}
|
|
else {
|
|
print "\nUpdating $lcount links\n\n";
|
|
}
|
|
|
|
my $cfg = Links::Plugins::get_plugin_user_cfg('ConvertVideo');
|
|
my $vf_field = $cfg->{video_file_field};
|
|
my $ff_field = $cfg->{flash_file_field};
|
|
my $thumb = $cfg->{thumbnail_file_field};
|
|
|
|
# Now do it. This is the really slow part.
|
|
$links->select_options( "order by ID" );
|
|
my $link_handle = $links->select([ 'ID', $vf_field ], { Link_Type => 'video' } ) or die $GT::SQL::error;
|
|
|
|
my $i = 1;
|
|
while ( my $link = $link_handle->fetchrow_hashref ) {
|
|
my $source_path = $links->file_info( $vf_field, $link->{ID} ) or do {
|
|
warn "Could not fetch file for link $link->{ID} '$GT::SQL::error'\n";
|
|
next;
|
|
};
|
|
Plugins::ConvertVideo::convert_video($link);
|
|
|
|
print $link->{ID} . ( $link->{$ff_field} ? "*" : "" ) . " ";
|
|
$i++ % 10 or print "\n";
|
|
my $id = $link->{ID};
|
|
delete $link->{ID};
|
|
|
|
$links->update( $link, { ID => $id } ) or do {
|
|
warn "Could not update link $link->{ID} '$GT::SQL::error'\n";
|
|
next;
|
|
};
|
|
}
|
|
|
|
# End beautiful output
|
|
if ($USE_HTML) {
|
|
print "\nDone!</pre></body></html>\n\n";
|
|
}
|
|
else {
|
|
print "\n\nDone!\n"
|
|
}
|
|
}
|
|
|
|
1;
|
|
|