Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: .txt files  (Read 4038 times)

0 Members and 1 Guest are viewing this topic.

birddog

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 32
    • DankSite.Com
.txt files
« on: March 02, 2006, 09:06:58 pm »

I have created a category section for text to appear eg.. News, Jokes or whatever. I placed a .txt file in the category. However, it displays as a normal text file would in a browser. I want my text to appear within the coppermine such as does the .wmv or .jpg's do. Is there any simple way this can be done? Thank you in advance for your reply.
« Last Edit: March 03, 2006, 04:54:57 am by TranzNDance »
Logged

Nibbler

  • Guest
Re: .txt files
« Reply #1 on: March 02, 2006, 09:49:43 pm »

Essentially, you'd do this:

1) Locate the function theme_html_picture() in themes/sample/theme.php
2) Copy the entire function to themes/yourtheme/theme.php
3) Edit your copy of the function like so:

find:

Code: [Select]
    } elseif ($mime_content['content']=='document') {
        $pic_thumb_url = get_pic_url($CURRENT_PIC_DATA,'thumb');
        $pic_html = "<a href=\"{$picture_url}\" target=\"_blank\" class=\"document_link\"><img src=\"".$pic_thumb_url."\" border=\"0\" class=\"image\" /></a>\n<br />";
    } else {

Change to

Code: [Select]
    } elseif ($mime_content['content']=='document') {
        $pic_thumb_url = get_pic_url($CURRENT_PIC_DATA);
  $file = nl2br(htmlspecialchars(file_get_contents($pic_thumb_url)));
  $pic_html = '<div style="text-align:left;height:300px;overflow:auto">' . $file . '</div>';   
    } else {

Adjust the styling to suit your theme. If you have documents that are not simple text files then it may need adjustment.
Logged

birddog

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 32
    • DankSite.Com
Re: .txt files
« Reply #2 on: March 03, 2006, 12:09:57 am »

Thank you for the rapid reply. Not very good with code. I get by, but sometimes I need a little assistance.
1st- I backed up my original theme.php (good idea on my part, since I am an idiot)
2nd- I copied the function from samples folder
3rd- I made the changes you requested
4th- I pasted it anywhere in my theme.php
Came up with a really screwed up result. THerefore, I reverted back to original.
I am using the hotwired theme. I copied the function as follows and made changes. 1 of two things had to of happened. 1--->I didn't copy the entire function, or two much
2---->I placed it in the wrong part of theme.php.
below is the function I copied and changed. Is this the whole function? if so, where would I put it in the "HOTWIRED" theme? thank you in advance for your reply (or scolding  ;D )
Code: [Select]
[quote]// Displays a picture
function theme_html_picture()
{
    global $CONFIG, $CURRENT_PIC_DATA, $CURRENT_ALBUM_DATA, $USER;
    global $album, $comment_date_fmt, $template_display_media;
    global $lang_display_image_php, $lang_picinfo;

    $pid = $CURRENT_PIC_DATA['pid'];
    $pic_title = '';

    if (!isset($USER['liv']) || !is_array($USER['liv'])) {
        $USER['liv'] = array();
    }
    // Add 1 to hit counter
    if (!USER_IS_ADMIN && !in_array($pid, $USER['liv']) && isset($_COOKIE[$CONFIG['cookie_name'] . '_data'])) {
        add_hit($pid);
        if (count($USER['liv']) > 4) array_shift($USER['liv']);
        array_push($USER['liv'], $pid);
    }

    if($CONFIG['thumb_use']=='ht' && $CURRENT_PIC_DATA['pheight'] > $CONFIG['picture_width'] ){ // The wierd comparision is because only picture_width is stored
      $condition = true;
    }elseif($CONFIG['thumb_use']=='wd' && $CURRENT_PIC_DATA['pwidth'] > $CONFIG['picture_width']){
      $condition = true;
    }elseif($CONFIG['thumb_use']=='any' && max($CURRENT_PIC_DATA['pwidth'], $CURRENT_PIC_DATA['pheight']) > $CONFIG['picture_width']){
      $condition = true;
    }else{
     $condition = false;
    }

    if ($CURRENT_PIC_DATA['title'] != '') {
        $pic_title .= $CURRENT_PIC_DATA['title'] . "\n";
    }
    if ($CURRENT_PIC_DATA['caption'] != '') {
        $pic_title .= $CURRENT_PIC_DATA['caption'] . "\n";
    }
    if ($CURRENT_PIC_DATA['keywords'] != '') {
        $pic_title .= $lang_picinfo['Keywords'] . ": " . $CURRENT_PIC_DATA['keywords'];
    }

    if (!$CURRENT_PIC_DATA['title'] && !$CURRENT_PIC_DATA['caption']) {
        template_extract_block($template_display_media, 'img_desc');
    } else {
        if (!$CURRENT_PIC_DATA['title']) {
            template_extract_block($template_display_media, 'title');
        }
        if (!$CURRENT_PIC_DATA['caption']) {
            template_extract_block($template_display_media, 'caption');
        }
    }

    $CURRENT_PIC_DATA['menu'] = html_picture_menu(); //((USER_ADMIN_MODE && $CURRENT_ALBUM_DATA['category'] == FIRST_USER_CAT + USER_ID) || ($CONFIG['users_can_edit_pics'] && $CURRENT_PIC_DATA['owner_id'] == USER_ID && USER_ID != 0) || GALLERY_ADMIN_MODE) ? html_picture_menu($pid) : '';

    if ($CONFIG['make_intermediate'] && $condition ) {
        $picture_url = get_pic_url($CURRENT_PIC_DATA, 'normal');
    } else {
        $picture_url = get_pic_url($CURRENT_PIC_DATA, 'fullsize');
    }

    $image_size = compute_img_size($CURRENT_PIC_DATA['pwidth'], $CURRENT_PIC_DATA['pheight'], $CONFIG['picture_width']);

    $pic_title = '';
    $mime_content = cpg_get_type($CURRENT_PIC_DATA['filename']);


    if ($mime_content['content']=='movie' || $mime_content['content']=='audio') {

        if ($CURRENT_PIC_DATA['pwidth']==0 || $CURRENT_PIC_DATA['pheight']==0) {
            $CURRENT_PIC_DATA['pwidth']  = 320; // Default width

            // Set default height; if file is a movie
            if ($mime_content['content']=='movie') {
                $CURRENT_PIC_DATA['pheight'] = 240; // Default height
            }
        }

        $ctrl_offset['mov']=15;
        $ctrl_offset['wmv']=45;
        $ctrl_offset['swf']=0;
        $ctrl_offset['rm']=0;
        $ctrl_offset_default=45;
        $ctrl_height = (isset($ctrl_offset[$mime_content['extension']]))?($ctrl_offset[$mime_content['extension']]):$ctrl_offset_default;
        $image_size['whole']='width="'.$CURRENT_PIC_DATA['pwidth'].'" height="'.($CURRENT_PIC_DATA['pheight']+$ctrl_height).'"';
    }

    if ($mime_content['content']=='image') {
        if (isset($image_size['reduced'])) {
            $winsizeX = $CURRENT_PIC_DATA['pwidth']+5;  //the +'s are the mysterious FF and IE paddings
            $winsizeY = $CURRENT_PIC_DATA['pheight']+3; //the +'s are the mysterious FF and IE paddings
            $pic_html = "<a href=\"javascript:;\" onclick=\"MM_openBrWindow('displayimage.php?pid=$pid&amp;fullsize=1','" . uniqid(rand()) . "','scrollbars=yes,toolbar=yes,status=yes,resizable=yes,width=$winsizeX,height=$winsizeY')\">";
            $pic_title = $lang_display_image_php['view_fs'] . "\n==============\n" . $pic_title;
            $pic_html .= "<img src=\"" . $picture_url . "\" class=\"image\" border=\"0\" alt=\"{$lang_display_image_php['view_fs']}\" /><br />";
            $pic_html .= "</a>\n";
        } else {
            $pic_html = "<img src=\"" . $picture_url . "\" {$image_size['geom']} class=\"image\" border=\"0\" alt=\"\" /><br />\n";
        }
     } elseif ($mime_content['content']=='document') {
        $pic_thumb_url = get_pic_url($CURRENT_PIC_DATA);
  $file = nl2br(htmlspecialchars(file_get_contents($pic_thumb_url)));
  $pic_html = '<div style="text-align:left;height:300px;overflow:auto">' . $file . '</div>';   
    } else {
        $autostart = ($CONFIG['media_autostart']) ? ('true'):('false');

        $players['WMP'] = array('id' => 'MediaPlayer',
                                'clsid' => 'classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" ',
                                'codebase' => 'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" ',
                                'mime' => 'type="application/x-mplayer2" ',
                               );
        $players['RMP'] = array('id' => 'RealPlayer',
                                'clsid' => 'classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" ',
                                'codebase' => '',
                                'mime' => 'type="audio/x-pn-realaudio-plugin" '
                               );
        $players['QT']  = array('id' => 'QuickTime',
                                'clsid' => 'classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" ',
                                'codebase' => 'codebase="http://www.apple.com/qtactivex/qtplugin.cab" ',
                                'mime' => 'type="video/x-quicktime" '
                               );
        $players['SWF'] = array('id' => 'SWFlash',
                                'clsid' => ' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ',
                                'codebase' => 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ',
                                'mime' => 'type="application/x-shockwave-flash" '
                               );
        $players['UNK'] = array('id' => 'DefaultPlayer',
                                'clsid' => '',
                                'codebase' => '',
                                'mime' => ''
                               );

        if (isset($_COOKIE[$CONFIG['cookie_name'].'_'.$mime_content['extension'].'player'])) {
            $user_player = $_COOKIE[$CONFIG['cookie_name'].'_'.$mime_content['extension'].'player'];
        } else {
            $user_player = $mime_content['player'];
        }

                // There isn't a player selected or user wants client-side control
        if (!$user_player) {
            $user_player = 'UNK';
        }

        $player = $players[$user_player];

        $pic_html  = '<object id="'.$player['id'].'" '.$player['classid'].$player['codebase'].$player['mime'].$image_size['whole'].'>';
        $pic_html .= "<param name=\"autostart\" value=\"$autostart\" /><param name=\"src\" value=\"". $picture_url . "\" />";
        $pic_html .= '<embed '.$image_size['whole'].' src="'. $picture_url . '" autostart="'.$autostart.'" '.$player['mime'].'></embed>';
        $pic_html .= "</object><br />\n";
    }

    $CURRENT_PIC_DATA['html'] = $pic_html;
    $CURRENT_PIC_DATA['header'] = '';
    $CURRENT_PIC_DATA['footer'] = '';

    $CURRENT_PIC_DATA = CPGPluginAPI::filter('file_data',$CURRENT_PIC_DATA);

    $params = array('{CELL_HEIGHT}' => '100',
        '{IMAGE}' => $CURRENT_PIC_DATA['header'].$CURRENT_PIC_DATA['html'].$CURRENT_PIC_DATA['footer'],
        '{ADMIN_MENU}' => $CURRENT_PIC_DATA['menu'],
        '{TITLE}' => bb_decode($CURRENT_PIC_DATA['title']),
        '{CAPTION}' => bb_decode($CURRENT_PIC_DATA['caption']),
        );

    return template_eval($template_display_media, $params);
}[/quote]

Nibbler

  • Guest
Re: .txt files
« Reply #3 on: March 03, 2006, 12:18:56 am »

Looks ok, the code can go anywhere before the ?> at the end. Attach your theme.php if you are unsure.
Logged

birddog

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 32
    • DankSite.Com
Re: .txt files
« Reply #4 on: March 03, 2006, 12:40:11 am »

Works like a champ. I put it on the very end before the close tag. I'll have to edit properties on the txt to increase width a bit (to rid it of horizontal scroll bar). nevertheless, Thank you very much. 
« Last Edit: March 03, 2006, 01:39:24 am by birddog »
Logged

birddog

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 32
    • DankSite.Com
wrapping text files
« Reply #5 on: March 20, 2006, 12:12:54 pm »

Hello, is there any way to wrap txt files? I am using a text modification located at http://forum.coppermine-gallery.net/index.php?topic=28653.msg132590 Would rather a user scroll vertically than horizontally. Thank you in advance for your reply.

Joachim Müller

  • Dev Team member
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 47844
  • aka "GauGau"
    • gaugau.de
Re: .txt files
« Reply #6 on: March 20, 2006, 05:13:21 pm »

merged...
Logged

birddog

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 32
    • DankSite.Com
Re: .txt files
« Reply #7 on: March 20, 2006, 06:48:08 pm »

OK, after some research in PHP sites on the web, I have found that the overflow function should handle this. However, this doesn't work with NS or FF. is there an answer to this problem other than me manually editing all of my text files? THank you in advance for your reply.

birddog

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 32
    • DankSite.Com
Re: .txt files
« Reply #8 on: June 18, 2006, 11:18:38 am »

I have asked other experienced web programmers this same question. They all tell me that I'm out of luck on this one. I am at the mercy of one browser to the next. I will manually edit all text files before uploading.

Nibbler

  • Guest
Re: .txt files
« Reply #9 on: June 18, 2006, 12:02:56 pm »

Try using the wordwrap function

Code: [Select]
$file = nl2br(htmlspecialchars(wordwrap(file_get_contents($pic_thumb_url))));
http://php.net/wordwrap
Logged
Pages: [1]   Go Up
 

Page created in 0.021 seconds with 19 queries.