Kevin, it's late here, but I think I have the attrs back in the
uploads markup for external links. I've actually significantly
rewritten the code to use some simpler techniques and hopefully be a
bit more efficient. It seems much more logical at least... Please give
it a try and let me know if you spot any problems. I just replaced the
entire last function in markups.php with this:

Cheers,
Dan

function BOLTMuploads($file) {
## HERE IS THE MARKUP PROCESSOR FOR FILE UPLOADS. CREATE MARKUP FOR AN
IMAGE AND IF DOESN'T EXIST PUTS A LINK TO AN UPLOAD FORM. IF EXISTS,
DISPLAYS IMAGE OR SHOWS DOWNLOAD LINK
        global $scriptURL, $fieldURL, $pageLink, $BOLTid, $BOLTmissingUpload,
$BOLTreloadMark, $imgPath;
        $args = BOLTargs($file, 'uploads');
        if (isset($args['file'])) $file = $args['file'];
        else $file = $args[1];
        if (substr($file, 0, 4) == 'img:') $file = substr($file, 4);
        if (strpos('jpg,gif,png', substr(strrchr($file, "."), 1)) !== false)
$type = 'img';
        else $type = 'a';
        foreach($args as $f => $v) {
                if (! in_array($f, BOLTattrs($type))) continue;
                $attr .= "$f='$v' ";
                }
        if (strpos($file, '://') !== false) {
                if ($type == 'img')     return BOLTescape("<img src='$file' 
$attr />");
                return;
                }
        if (! isset($BOLTmissingUpload)) {
                $BOLTmissingUpload = BOLTconfig('BOLTmissingMark');
                if ($BOLTmissingUpload == 'true') $BOLTmissingUpload = "<span
class='marks'><sup>?</sup></span>";
                }
        if (substr($file, 0, 1) == "?") {
                $file = substr($file, 1);
                unset($BOLTmissingUpload);
                }
        $BOLTfilesDir = BOLTconfig('BOLTfilesDir', 'files');
        if (BOLTconfig('BOLTuploadCase') != 'true') $file = strtolower($file);  
        if (BOLTfilter($file, '/^[-_a-zA-Z0-9.]+$/') == '') return
BOLTtranslate(BOLTinfoVar('site.messages', 'invalid_file', 'Invalid
file name.'));
        $dir = '';
        if (isset($args['dir'])) {
                $dir = $args['dir'];
                if (BOLTfilter($dir, '/^[-_a-zA-Z0-9\/]+$/') == '') return
BOLTtranslate(BOLTinfoVar('site.messages', 'invalid_dir',
'Unauthorized upload directory.'));
                $location = "$BOLTfilesDir/$dir/$file";
                }
        else $location = "$BOLTfilesDir/$file";
        if (isset($args['label'])) $label = $args['label'];
        else $label = $file;
        if (! file_exists($location)) $location = strtolower($location);
        if (! file_exists($location)) $location = "$imgPath/$file";
        if (file_exists($location)) {
                if (substr($location, 0, strlen($imgPath)) != $imgPath) 
$location =
$fieldURL . $location;
                if (BOLTexists('site.auth.files') &&
strpos(BOLTloadpage('site.auth.files'), $file) !== false && !
BOLTauth($file, $BOLTid, 'files')) return 'File access blocked';
                if (strpos('jpg,gif,png', substr(strrchr($file, "."), 1)) !== 
false) {
                        if (!isset($args['alt'])) $attr .= "alt='' ";
                        if (strpos($attr, 'height=') === false && strpos($attr, 
'width=')
=== false) {
                                $size = getimagesize($location);
                                $attr .= $size[3];
                                }
                        return BOLTescape("<img src='$location' $attr />");
                        }
                else {
                        $out = "<a href='$location' $attr>$label</a>";
                        if ($args['reload'] == 'true' || $_GET['reload'] == 
'true') {
                                if (! isset($BOLTreloadMark)) $BOLTreloadMark = 
"<span
class='marks'><sup>^</sup></span>";
                                if ($dir != '') $reload = "<a
href='$scriptURL$fileLink&action=upload&file=$file&dir=$dir'
rel='nofollow'>$BOLTreloadMark</a>";
                                else $reload = "<a
href='$scriptURL$fileLink&action=upload&file=$file'
rel='nofollow'>$BOLTreloadMark</a>";
                                }
                        return BOLTescape("$out$reload");
                        }
                }
        else {
                $label = $label . $BOLTmissingUpload;
                if ($dir != '') return BOLTescape("<a
href='$scriptURL$pageLink$fileLink&action=upload&file=$file&dir=$dir'>$label</a>");
                return BOLTescape("<a
href='$scriptURL$pageLink$fileLink&action=upload&file=$file'>$label</a>");
                }
        }

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"BoltWire" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/boltwire?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to