Hi,
I'm trying to work on making so Thumb_Images will work with non-standard charachters (i.e things like éêèëÏÌÎïìîÖÔÒöôòÜÛÙ , - etc)
I've got the code working - and it renames the file fine
glinks_Links_Files:
( 3 records in total ) Save Result
ID ForeignColName ForeignColKey File_Name File_Directory File_MimeType File_Size File_URL
2 Image 9 aff-payment-step-2.jpg /home/linkssql/ultradev.com/www image/jpeg 64226 http://ultradev.com.nmsrv.com/ Edit Delete
3 Image 7 endKR_d3Ca.jpg /home/linkssql/ultradev.com/www image/jpeg 14655 http://ultradev.com.nmsrv.com/ Edit Delete
4 Image 8 00001ËéêèëÏÌÎï whatever.jpg /home/linkssql/ultradev.com/www image/jpeg 14655 http://ultradev.com.nmsrv.com/ Edit Delete
The one in red works (after I commented out my function) .. but the one in green doesn't work :/
glinks_Links:
7 ete color http://www.ultranerds.com admin 2006-04-28 2009-10-07
asdasdasd jjfjdsj andy@ultranerds.com 18 No Yes Yes Yes 0.00 0 0 2006-04-28 19:20:08 2009-10-07 01:44:10 2147483647 0 0 0 0 NULL 0 0 0 endKR_d3Ca.jpg 0.15 Edit Dele
The image itself is renamed, and works fine - but for some reason, the admin side of things just doesn't wanna show when I click "view" when modifying a record :/
This is what I see:
Cannot file file pointed to by ID: 7 and Column: Image
The code is:
sub rename_file_with_odd_charachters {
my $file = $_[0]; # the fielname
my $table = $_[1] || 'Links';
my $field = $_[2];
my $ID = $_[3];
return;
if ($debug > 0) {
print $IN->header;
use Data::Dumper;
print Dumper(@_);
print qq|<br /><br />
FILE: $file <br />
Table: $table <br />
Field: $field <br />
ID: $ID <br />
|;
}
# if true, we have charachrers we don't want - so lets replace them
if ($_[0] =~ /[\&\[\]ÀÂÄàâäÇçÉÊÈËéêèëÏÌÎïìîÖÔÒöôòÜÛÙüûùA-Z?!;«»\(\)" ]/) {
# print $IN->header;
if ($debug > 0) {
print qq|<font color="red">We got a match </font> <br />|
}
my $image = ReadImageForConvert($ID,$field,$table);
my @split = split /\//, $image;
pop @split;
my $folder = join("/", @split);
# print qq|Ok, we got the image of $image <br />|;
my $old_filename = $image;
my $new_filename = GT::CGI->unescape($image);
$old_filename =~ s/$folder\///;
$new_filename =~ s/$folder\///;
$old_filename = GT::CGI->escape($old_filename);
my @file_split = split /\./, $_[0];
my $ext = $file_split[$#file_split];
$new_filename = generate_random_string(10) . ".$ext"; #tr{&[]ÀÂÄàâäÇçÉÊÈËéêèëÏÌÎïìîÖÔÒöôòÜÛÙüûùA-Z?!;«»()" }{ aaaaaacceeeeeeeeiiiiiioooooouuuuuua-z__________};
if ($debug > 0) {
print qq|<font color="red">$new_filename</font> <br />|
}
if ($debug > 0) {
print $IN->header;
}
print qq|
folder: $folder <br />
old filename : $old_filename
<br /> new filename: $new_filename
| if $debug > 0;
copy(qq|$folder/$old_filename|,qq|$folder/$new_filename|);
unlink(qq|$folder/$old_filename|);
$new_filename =~ s/^\d+\-//;
$DB->table("${table}_Files")->update( { File_Name => $new_filename }, { ForeignColKey => $ID } ) || die $GT::SQL::error;
$DB->table("${table}")->update( { $field => $new_filename }, { ID => $ID } ) || die $GT::SQL::error;
}
}
Any ideas?
TIA
Andy (mod)
andy@ultranerds.co.uk
Want to give me something back for my help? Please see my Amazon Wish List
GLinks ULTRA Package | GLinks ULTRA Package PRO
Links SQL Plugins | Website Design and SEO | UltraNerds | ULTRAGLobals Plugin | Pre-Made Template Sets | FREE GLinks Plugins!
I'm trying to work on making so Thumb_Images will work with non-standard charachters (i.e things like éêèëÏÌÎïìîÖÔÒöôòÜÛÙ , - etc)
I've got the code working - and it renames the file fine
glinks_Links_Files:
( 3 records in total ) Save Result
ID ForeignColName ForeignColKey File_Name File_Directory File_MimeType File_Size File_URL
2 Image 9 aff-payment-step-2.jpg /home/linkssql/ultradev.com/www image/jpeg 64226 http://ultradev.com.nmsrv.com/ Edit Delete
3 Image 7 endKR_d3Ca.jpg /home/linkssql/ultradev.com/www image/jpeg 14655 http://ultradev.com.nmsrv.com/ Edit Delete
4 Image 8 00001ËéêèëÏÌÎï whatever.jpg /home/linkssql/ultradev.com/www image/jpeg 14655 http://ultradev.com.nmsrv.com/ Edit Delete
The one in red works (after I commented out my function) .. but the one in green doesn't work :/
glinks_Links:
7 ete color http://www.ultranerds.com admin 2006-04-28 2009-10-07
asdasdasd jjfjdsj andy@ultranerds.com 18 No Yes Yes Yes 0.00 0 0 2006-04-28 19:20:08 2009-10-07 01:44:10 2147483647 0 0 0 0 NULL 0 0 0 endKR_d3Ca.jpg 0.15 Edit Dele
The image itself is renamed, and works fine - but for some reason, the admin side of things just doesn't wanna show when I click "view" when modifying a record :/
This is what I see:
Quote:
Links: Error Viewing File Cannot file file pointed to by ID: 7 and Column: Image
The code is:
Code:
# rename_file_with_odd_charachters(filename,table,field,id) sub rename_file_with_odd_charachters {
my $file = $_[0]; # the fielname
my $table = $_[1] || 'Links';
my $field = $_[2];
my $ID = $_[3];
return;
if ($debug > 0) {
print $IN->header;
use Data::Dumper;
print Dumper(@_);
print qq|<br /><br />
FILE: $file <br />
Table: $table <br />
Field: $field <br />
ID: $ID <br />
|;
}
# if true, we have charachrers we don't want - so lets replace them
if ($_[0] =~ /[\&\[\]ÀÂÄàâäÇçÉÊÈËéêèëÏÌÎïìîÖÔÒöôòÜÛÙüûùA-Z?!;«»\(\)" ]/) {
# print $IN->header;
if ($debug > 0) {
print qq|<font color="red">We got a match </font> <br />|
}
my $image = ReadImageForConvert($ID,$field,$table);
my @split = split /\//, $image;
pop @split;
my $folder = join("/", @split);
# print qq|Ok, we got the image of $image <br />|;
my $old_filename = $image;
my $new_filename = GT::CGI->unescape($image);
$old_filename =~ s/$folder\///;
$new_filename =~ s/$folder\///;
$old_filename = GT::CGI->escape($old_filename);
my @file_split = split /\./, $_[0];
my $ext = $file_split[$#file_split];
$new_filename = generate_random_string(10) . ".$ext"; #tr{&[]ÀÂÄàâäÇçÉÊÈËéêèëÏÌÎïìîÖÔÒöôòÜÛÙüûùA-Z?!;«»()" }{ aaaaaacceeeeeeeeiiiiiioooooouuuuuua-z__________};
if ($debug > 0) {
print qq|<font color="red">$new_filename</font> <br />|
}
if ($debug > 0) {
print $IN->header;
}
print qq|
folder: $folder <br />
old filename : $old_filename
<br /> new filename: $new_filename
| if $debug > 0;
copy(qq|$folder/$old_filename|,qq|$folder/$new_filename|);
unlink(qq|$folder/$old_filename|);
$new_filename =~ s/^\d+\-//;
$DB->table("${table}_Files")->update( { File_Name => $new_filename }, { ForeignColKey => $ID } ) || die $GT::SQL::error;
$DB->table("${table}")->update( { $field => $new_filename }, { ID => $ID } ) || die $GT::SQL::error;
}
}
Any ideas?
TIA
Andy (mod)
andy@ultranerds.co.uk
Want to give me something back for my help? Please see my Amazon Wish List
GLinks ULTRA Package | GLinks ULTRA Package PRO
Links SQL Plugins | Website Design and SEO | UltraNerds | ULTRAGLobals Plugin | Pre-Made Template Sets | FREE GLinks Plugins!