#!/usr/bin/perl 

=item
command to update all the sites:

for i in `ls /etc/opals/conf/`; do cp -p /www/opals/script/update_opl_arl /tmp/urt; perl -pi -e "s/_MY_SITE_/$i/" /tmp/urt; sudo /tmp/urt; done

=cut

use lib "/www/opals/module";
#use Opals::Context("/etc/opals/conf/ztest");
#use Opals::Context("/etc/opals/conf/sll_mos");
use Opals::Context("/etc/opals/conf/_MY_SITE_");

use POSIX qw(ceil floor);

use Opals::MarcXml qw(
    mxml_updateARIndex    
);
use DBI;
use strict;
use Encode;
use GD;
my $dbh = Opals::Context->dbh();
END {
    if ($dbh) {
        $dbh->disconnect();
    }
}
$| = 1;
my $zdbDir = Opals::Context->config('zRoot') .'/'
           . Opals::Context->config('zPort') .'/'
           . 'record' .'/'
           . Opals::Context->config('zDatabase');

my $indexDir;
my $attTbl;
my $query_insert ;


$dbh->do('drop table opl_arl');
$dbh->do("CREATE TABLE `opl_arl` (
  `rid` int(10) unsigned NOT NULL default '0',
  `program` varchar(100) NOT NULL default '',
  `interestLevel` varchar(50) NOT NULL default '',
  `readingLevel` varchar(50) NOT NULL default '',
  `pointValue` varchar(50) NOT NULL default '',
  `quizNum` varchar(50) NOT NULL default '',
  KEY `i_rid` (`rid`),
  KEY `i_rtilc` (`program`,`interestLevel`,`readingLevel`,`pointValue`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8");

my $sth= $dbh->prepare("select distinct rid from opl_item where  barcode not regexp '\_\_\_' && available=1");

$sth->execute();
while(my ($rid)=$sth->fetchrow_array){
    my $xml=getXmlRecord($zdbDir,$rid);
    mxml_updateARIndex($dbh,$rid,$xml);

}
############################################################
sub getXmlRecord {
    my ($zdbDir, $rid) = @_;

    my $record = '';
    my $dir = ceil($rid/1000);
    if (! -f "$zdbDir/$dir/$rid.xml") {
        print "ERROR: $zdbDir/$dir/$rid.xml: not found.\n";
        return;
    }

    #print "$rid\n";
    #return;

    open MARCXML, "<$zdbDir/$dir/$rid.xml";
    while (<MARCXML>) {
        $record .= $_;
    }
    close MARCXML;
    return $record;
}

