summaryrefslogtreecommitdiffstats
path: root/scripts/wordcompletition.pl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/wordcompletition.pl')
-rw-r--r--scripts/wordcompletition.pl42
1 files changed, 25 insertions, 17 deletions
diff --git a/scripts/wordcompletition.pl b/scripts/wordcompletition.pl
index 0aa5e52..6dfeb4a 100644
--- a/scripts/wordcompletition.pl
+++ b/scripts/wordcompletition.pl
@@ -1,9 +1,10 @@
#!/usr/bin/perl
use Irssi;
use DBI;
+use DBD::SQLite;
use strict;
use vars qw($VERSION %IRSSI);
-$VERSION = "0.1";
+$VERSION = "0.2";
%IRSSI = (
authors => "Jesper Lindh",
contact => "rakblad\@midgard.liu.se",
@@ -11,28 +12,35 @@ $VERSION = "0.1";
description => "Adds words from IRC to your tab-completion list",
license => "Public Domain",
url => "http://midgard.liu.se/~n02jesli/perl/",
- changed => "2004-03-12"
+ changed => "2017-03-19",
+ modules => "DBD::SQLite"
);
-my ($dsn) = "DBI:mysql:yourdatabase:databashostname";
-my ($user_name) = "yourusername";
-my ($password) = "yourpassword";
+
+my $bd= Irssi::get_irssi_dir();
+my $fndb="wordcompletition.db";
+#my ($dsn) = "DBI:mysql:yourdatabase:databashostname";
+my ($dsn) = "DBI:SQLite:dbname=$bd/$fndb";
+my ($user_name) = "";
+my ($password) = "";
my ($dbh, $sth);
my (@ary);
my $query;
my $connect = 1;
$dbh = DBI->connect ($dsn, $user_name, $password, { RaiseError => 1 });
+$dbh->do("create table if not exists words (word varchar(30), prio int)");
+
sub wordsearch
{
my $sw = shift;
my @retar;
my $i = 0;
- $query = qq{ select word from words where word like "$sw%" order by prio desc };
+ $query = qq{ select word from words where word like ? order by prio desc };
$sth = $dbh->prepare ( $query );
- $sth->execute();
+ $sth->execute($sw.'%');
while (@ary = $sth->fetchrow_array ())
{
- $retar[$i++] = join ("", @ary), "\n";
+ push @retar,$ary[0];
}
$sth->finish();
return @retar;
@@ -41,9 +49,9 @@ sub wordfind
{
my $sw = shift;
my $ret;
- $query = qq{ select word from words where word = "$sw" };
+ $query = qq{ select word from words where word = ? };
$sth = $dbh->prepare ( $query );
- $sth->execute();
+ $sth->execute($sw);
@ary = $sth->fetchrow_array;
$ret = join ("", @ary), "\n";
$sth->finish();
@@ -53,32 +61,32 @@ sub wordfind
sub wordupdate
{
my $sw = shift;
- $query = qq { update words set prio = prio + 1 where word = "$sw" };
+ $query = qq { update words set prio = prio + 1 where word = ? };
$sth = $dbh->prepare ( $query );
- $sth->execute();
+ $sth->execute($sw);
$sth->finish();
};
sub delword
{
my $sw = shift;
- $query = qq { delete from words where word = "$sw" };
+ $query = qq { delete from words where word = ? };
$sth = $dbh->prepare ( $query );
- $sth->execute();
+ $sth->execute($sw);
$sth->finish();
};
sub addword
{
my $sw = shift;
- $query = qq { insert into words values ('$sw', 1) };
+ $query = qq { insert into words values (?, 1) };
$sth = $dbh->prepare ( $query );
- $sth->execute();
+ $sth->execute($sw);
$sth->finish();
};
sub word_complete
{
my ($complist, $window, $word, $linestart, $want_space) = @_;
$word =~ s/([^a-zA-Z0-9åäöÅÄÖ])//g;
- @$complist = wordsearch($word);
+ push @$complist , wordsearch($word);
};
sub word_message
{