Adult Script Pro Community Forums

The forum is here for legacy reasons. No new posts will be created. User registration is disabled! If you have any questions, please email us or check https://www.adultscriptpro.com for more details!

You are not logged in.

#1 2011-06-29 23:31:11

Eri
Member
Registered: 2011-03-18
Posts: 977

Change from flowplayer to jwplayer

If some users want to use JW player.

1. Download JWplayer and uplaoded to /modules/video/player/
2. go to /templates/your_theme/video_view_player.tpl
Replace

<script type="text/javascript" src="<?php echo RELATIVE_URL; ?>/modules/video/player/config.php?id=<?php echo $this->video['video_id']; ?>"></script>
<script type="text/javascript" src="<?php echo RELATIVE_URL; ?>/modules/video/player/flowplayer-3.2.6.min.js"></script>
<div id="player"></div>
<script type="text/javascript">
$f("player", "<?php echo BASE_URL; ?>/modules/video/player/flowplayer-3.2.7.swf", {
    "clip": conf["default"],
    "canvas": conf["canvas"],
    "plugins": {
        "controls": conf["skins"],
        "lighttpd": conf["plugins"]["lighttpd"],
        "imageAdv": conf["plugins"]["imageAdv"],
        "textAdv": conf["plugins"]["textAdv"],
    }
});
</script>

With:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<p id="container1"><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash Player" /></a></p>
<script type="text/javascript">
var flashvars = {config:'<?php echo BASE_URL; ?>/modules/video/player/config.php?id=<?php echo $this->video['video_id']; ?>'};
var params = {allowfullscreen:'true', allowscriptaccess:'always', wmode:'transparent'};
var attributes = {id:'player1', name:'player1'};
swfobject.embedSWF('<?php echo BASE_URL; ?>/modules/video/player/player.swf','container1','650','480','9.0.115','false',flashvars, params, attributes);
</script>

(swfobject 2.2 use google CDN for faster site load)


3. Open /modules/video/player/config.php
Replace from line 79 to 213 with this code.

<config>
  <file><?php echo $video_url; ?></file>
  <start>0</start>
  <stretching>exactfit</stretching>
  <smoothing>true</smoothing>
  <autostart>true</autostart>
  <aboutlink>http://yoursite.com</aboutlink>
  <abouttext>YourSite.com Porn Tube</abouttext>
<sharing.link>http://yoursite.com/<?php echo $video_id,'/',$video['slug']; ?>/</sharing.link>
  <sharing.code><![CDATA[ your embed code]]></sharing.code>
</config>

4. Change

VResponse::add_header('Content-Type', 'application/x-javascript');

with

VResponse::add_header('Content-Type', 'text/xml');

That's it smile)

Last edited by Eri (2011-11-08 21:50:59)


Best Adult Affilitate Network:
ExoClick
Best Deals on Dedicated Servers - CDN
INXY

Offline

#2 2011-06-30 10:50:48

thiva7
Member
Registered: 2011-04-30
Posts: 1,022

Re: Change from flowplayer to jwplayer

is not work for me

http://xporn4u.com/102373/girls-fucking-guy-strippers/

is not load.....i change again to flowplayer.


what can be rong?

Last edited by thiva7 (2011-06-30 10:59:39)

Offline

#3 2011-06-30 13:30:34

Eri
Member
Registered: 2011-03-18
Posts: 977

Re: Change from flowplayer to jwplayer

have u uploaded jwplayer as player.swf?


Best Adult Affilitate Network:
ExoClick
Best Deals on Dedicated Servers - CDN
INXY

Offline

#4 2011-06-30 14:11:36

thiva7
Member
Registered: 2011-04-30
Posts: 1,022

Re: Change from flowplayer to jwplayer

i upload everything inside mediaplayer-viral file and then i do the steps whis u say...but is not show player
so make this steps :

1) i upload mediaplayer-viral files to  /modules/video/player/

2) then i edit /templates/default-pink/video_view_player.tpl.php like u say

3) i edit /modules/video/player/config.php

i will not change to flowplayer to see what is show to me

http://www.xporn4u.com/102376/4-babes-1-cock/

Offline

#5 2011-07-01 08:56:54

Eri
Member
Registered: 2011-03-18
Posts: 977

Re: Change from flowplayer to jwplayer

the error is here
http://www.xporn4u.com/modules/video/pl … p?id=25877

firstly change
VResponse::add_header('Content-Type', 'application/x-javascript');

with
VResponse::add_header('Content-Type', 'text/xml');

Also make sure that you have those lines after </config> in modules/video/player/config.php

<?php
$config = ob_get_contents();
ob_end_clean();

VResponse::add_header('Content-Type', 'text/xml');
VResponse::add_header('Pragma', 'no-cache');
VResponse::add_header('Cache-Control', 'no-cache, must-revalidate');
VResponse::add_header('Last-Modified', gmdate('D, d M Y H:i:s').' GMT');
VResponse::add_header('Expires', 'Sat, 26 Jul 1997 05:00:00 GMT');

Best Adult Affilitate Network:
ExoClick
Best Deals on Dedicated Servers - CDN
INXY

Offline

#6 2011-07-01 09:56:15

thiva7
Member
Registered: 2011-04-30
Posts: 1,022

Re: Change from flowplayer to jwplayer

its ok play well now tongue . thank you man smile

Last edited by thiva7 (2011-07-01 10:07:51)

Offline

#7 2011-11-05 03:18:00

rickytan
Member
Registered: 2011-10-31
Posts: 13

Re: Change from flowplayer to jwplayer

When I follow exact methods Nothing shows up for player at all
I think its the config.php the original is this

<?php
define('_VALID', true);
require 'config_common.php';

$access        = VF::cfg_item('module.video.view_access');
if ($access != 'all' && !VAuth::group($access)) {
    die('Access denied (never reached)!');
}

$video_id     = (isset($_GET['id'])) ? (int) $_GET['id'] : 0;
if ($video_id === 0) {
    die('Invalid video id!');
}

$cache        = VF::factory('cache');
$db            = VF::factory('database');
$cache_id    = 'video_player_'.$video_id;
$sql_add    = (VModule::enabled('premium')) ? " AND premium = '0'" : '';
if (!$video = $cache->get($cache_id, 86400)) {
    $db->query("SELECT v.video_id, v.old_video_id, v.user_id, v.title, v.url, v.server,
                       v.allow_embed, v.ext, v.sponsor,
                       GROUP_CONCAT(c.cat_id) AS categories
                FROM #__video AS v
                INNER JOIN #__video_category AS c ON (c.video_id = v.video_id)
                WHERE v.video_id = ".$video_id."
                AND v.status = 1".$sql_add."
                GROUP BY c.video_id
                LIMIT 1");
    if ($db->affected_rows()) {
        $video = $db->fetch_assoc();
        $cache->store($cache_id, $video, 86400);
    }            
}

if (!$video) {
    die('Invalid video!');
}

VHelper::load('module.video.player');
$name       = ($video['ext'] == 'mp4') ? 'hd' : 'flv';
$player        = VHelper_video_player::get_config($name);
if (!$player) {
    die('Failed to load player configuration!');
}

$VID        = $video_id;
if ($video_id <= 40000) {
    $VID     = $video['old_video_id'];
}


if ($video['url'] != '') {
    $video_url = $video['url'];
} else {
    VHelper::load('module.video.stream');
    $video_url = VHelper_video_stream::url(TRUE, $VID, $video['ext'], $video['server']);
}

VLanguage::load('frontend.player');

// check if advertising is enabled here...
$cuepoints    = array();
$iadv         = VHelper_video_player::get_image_adv(
    $video_id, $video['user_id'],
    $video['sponsor'], $video['categories']
);
if (isset($iadv)) {
    $cuepoints[]     = $iadv['cuepoint'];
}

$tadv        = VHelper_video_player::get_text_adv(
    $video_id, $video['user_id'],
    $video['sponsor'], $video['categories']
);
if (isset($tadv)) {
    $cuepoints[]    = $tadv['cuepoint'];
}

$madv        = VHelper_video_player::get_media_adv(
    $video_id, $video['user_id'],
    $video['sponsor'], $video['categories']
);

ob_start();
?>
var conf = {
    <?php if ($player['license'] != ''): ?>
    'key': '<?php echo $player['license']; ?>',
    <?php else: ?>
    'key': null,
    <?php endif; ?>
    <?php if ($player['logo'] == ''): ?>
    'logo': null,
    <?php else: ?>
    'logo':
    {
        'url': '<?php echo $player['logo']; ?>',
        'fullscreenOnly': false,
        'top': <?php echo $player['top']; ?>,
        'left': <?php echo $player['left']; ?>,
        'bottom': <?php echo $player['bottom']; ?>,
        'right': <?php echo $player['right']; ?>
    },
    <?php endif; ?>
    'default': {
        'autoPlay': <?php echo $player['autoPlay']; ?>,
        'autoBuffering': <?php echo $player['autoBuffering']; ?>,
        'bufferLength': <?php echo $player['bufferLength']; ?>,
        'scaling': '<?php echo $player['scaling']; ?>',
        'url': '<?php echo $video_url; ?>',
        'provider': 'lighttpd',
        'onBegin': function(clip) {
            if (clip.isInStream) {
                this.getPlugin("textAdv").hide();
                this.getPlugin("imageAdv").hide();
            }
        },
        'onResume': function() {
            hide_player_ads();
        },
        'onPause': function() {
            display_player_ads();
        },
        <?php if (isset($cuepoints) && $cuepoints): ?>
        'onCuepoint': [
              [<?php foreach ($cuepoints as $cuepoint): echo $cuepoint; endforeach; ?>],
              function (clip, cuepoint) {
                  if (!clip.isInStream) {
                      if (cuepoint.text) {
                          this.getPlugin("textAdv").show();
                      } else if (cuepoint.image) {
                          this.getPlugin("imageAdv").show();
                      }
                  }
              }
        ],
        <?php endif; ?>
        <?php if (isset($madv)): echo $madv; endif; ?>
    },
    'canvas': {
        'backgroundColor': '<?php echo $player['canvas_backgroundColor']; ?>',
        'backgroundGradient': '<?php echo $player['canvas_backgroundGradient']; ?>'
    },
    'skins': {
          'url': '<?php echo BASE_URL,'/modules/video/player/flowplayer.controls-',FLOWPLAYER_CONTROLS,'.swf'; ?>',
          'autoHide': {
              'enabled': false,
          },
        'backgroundColor': '<?php echo $player['backgroundColor']; ?>',
        'backgroundGradient': '<?php echo $player['backgroundGradient']; ?>',
        'buttonColor': '<?php echo $player['buttonColor']; ?>',
        'buttonOverColor': '<?php echo $player['buttonOverColor']; ?>',
        'bufferColor': '<?php echo $player['bufferColor']; ?>',
        'bufferGradient': '<?php echo $player['bufferGradient']; ?>',
        'timeColor': '<?php echo $player['timeColor']; ?>',
        'timeBgColor': '<?php echo $player['timeBgColor']; ?>',
        'durationColor': '<?php echo $player['durationColor']; ?>',
        'sliderColor': '<?php echo $player['sliderColor']; ?>',
        'sliderGradient': '<?php echo $player['sliderGradient']; ?>',
        'progressColor': '<?php echo $player['progressColor']; ?>',
        'progressGradient': '<?php echo $player['progressGradient']; ?>',
        'volumeSliderColor': '<?php echo $player['volumeSliderColor']; ?>',
        'volumeSliderGradient': '<?php echo $player['volumeSliderGradient']; ?>',
        'borderRadius': '<?php echo $player['borderRadius']; ?>px',
        'tooltipColor': '<?php echo $player['tooltipColor']; ?>',
        'tooltipTextColor': '<?php echo $player['tooltipTextColor']; ?>',
        'height': <?php echo $player['height']; ?>,
        'opacity': 1.0,
        'play': <?php echo $player['play']; ?>, 
          'volume': <?php echo $player['volume']; ?>,
          'mute': <?php echo $player['mute']; ?>, 
          'time': <?php echo $player['time']; ?>,
          'stop': <?php echo $player['stop']; ?>, 
          'playlist': <?php echo $player['playlist']; ?>,
          'fullscreen': <?php echo $player['fullscreen']; ?>,
        'tooltips': {
        <?php if ($player['tooltips'] == '1'): ?>
        'buttons': true,
            'play': '<?php echo __('play'); ?>',
            'pause': '<?php echo __('pause'); ?>',
            'stop': '<?php echo __('stop'); ?>',
            'mute': '<?php echo __('mute'); ?>',
            'unmute': '<?php echo __('unmute'); ?>',
            'fullscreen': '<?php echo __('fullscreen'); ?>',
            'fullscreenExit': '<?php echo __('exit-fullscreen'); ?>',
            'next': '<?php echo __('next'); ?>',
            'previous': '<?php echo __('previous'); ?>'
        <?php else: ?>
            'buttons': false
        <?php endif; ?>
        }
    },
    'plugins': {
          'imageAdv': {
              'url': '<?php echo BASE_URL,'/modules/video/player/flowplayer.content-',FLOWPLAYER_CONTENT; ?>.swf',
              'display': 'none',
              'top': 5,
              'width': 450,
              'height': 350,
              'closeButton': true,
            'style': {
                'border': 0,
                'backgroundColor': '#000000'
            },
            <?php if (isset($iadv)): echo $iadv['code']; endif; ?>
            'onClick': function() {
                this.hide();
            }
          },
          'textAdv': {
              'url': '<?php echo BASE_URL,'/modules/video/player/flowplayer.content-',FLOWPLAYER_CONTENT; ?>.swf',
            'display': 'none',
            'bottom': 35,
            'width': 600,
            'height': 65,
            'closeButton': true,
            'backgroundGradient': 'low',
            'style': {
                'border': 0,
                'backgroundColor': '#000000',
                '.title': {
                    'fontSize': 15,
                    'fontWeight': 'bold',
                    'textDecoration': 'underline',
                },
                '.link': {
                    'fontSize': 13,
                    'fontWeight': 'bold',
                    'color': '#DFDFDF',
                },
            },
            <?php if (isset($tadv)): echo $tadv['code']; endif; ?>
            'onClick': function() {
                this.hide();
            }            
          },
          'lighttpd': {
            'url': '<?php echo BASE_URL,'/modules/video/player/flowplayer.pseudostreaming-',FLOWPLAYER_PSEUDOSTREAMING,'.swf'; ?>'
        }
    }
}
<?php
$config = ob_get_contents();
ob_end_clean();

VResponse::add_header('Content-Type', 'application/x-javascript');
VResponse::add_header('Pragma', 'no-cache');
VResponse::add_header('Cache-Control', 'no-cache, must-revalidate');
VResponse::add_header('Last-Modified', gmdate('D, d M Y H:i:s').' GMT');
VResponse::add_header('Expires', 'Sat, 26 Jul 1997 05:00:00 GMT');

if (MINIFY_OUTPUT === TRUE) {
    VF::load('jsmin.JSMin');
    $config = JSMin::minify($config);
}

if (GZIP_OUTPUT === TRUE) {
    $config = VResponse::gzip($config);
}

VResponse::send_headers();
echo $config;

VF::close();
?>

Last edited by rickytan (2011-11-05 03:18:21)

Offline

#8 2011-11-05 03:29:27

rickytan
Member
Registered: 2011-10-31
Posts: 13

Re: Change from flowplayer to jwplayer

Line 79 - 213 so random and seems to cut off codes....

please help and I do not know what the cdata embed code here is

Offline

#9 2011-11-05 09:00:38

Eri
Member
Registered: 2011-03-18
Posts: 977

Re: Change from flowplayer to jwplayer

send you player config link


Best Adult Affilitate Network:
ExoClick
Best Deals on Dedicated Servers - CDN
INXY

Offline

#10 2011-11-06 07:58:31

rickytan
Member
Registered: 2011-10-31
Posts: 13

Re: Change from flowplayer to jwplayer

did not receive anything :S

Offline

#11 2011-11-08 19:24:25

Coscast
Member
From: Germany
Registered: 2010-10-03
Posts: 546

Re: Change from flowplayer to jwplayer

Hey.

Is it meant like this?

var flashvars = {config:'<?php echo BASE_URL; ?>/modules/video/player/config.php?id=25877'};

You have an hardcoded id in there.

Maybe something like this:

var flashvars = {config:'<?php echo BASE_URL; ?>/modules/video/player/config.php?id=<?php echo $this->video['video_id']; ?>'};

Nevertheless: I tried that too, but i had no luck sad So i'll stay with flowplayer until Adrian provides codesnippets for changing to JWPlayer.

Last edited by Coscast (2011-11-08 20:06:47)


sgt-halfsize-banner.jpg

Offline

#12 2011-11-08 22:02:11

Eri
Member
Registered: 2011-03-18
Posts: 977

Re: Change from flowplayer to jwplayer

have you uploaded all the jw player files?

for thiva7 the thumb preview was not working


Best Adult Affilitate Network:
ExoClick
Best Deals on Dedicated Servers - CDN
INXY

Offline

#13 2011-11-08 22:03:57

Coscast
Member
From: Germany
Registered: 2010-10-03
Posts: 546

Re: Change from flowplayer to jwplayer

Yes i did, but i ask because you hardcoded a video_id into your file above.

t19_08-11-2011-23-04-54.png

Last edited by Coscast (2011-11-08 22:10:41)


sgt-halfsize-banner.jpg

Offline

#14 2011-11-09 07:36:57

rickytan
Member
Registered: 2011-10-31
Posts: 13

Re: Change from flowplayer to jwplayer

can you send confing file to
booger6o4@hotmail.com

Offline

#15 2011-11-09 08:55:52

symtab
Administrator
Registered: 2010-08-23
Posts: 7,501
Website

Re: Change from flowplayer to jwplayer

I currently dont have a JW Player integration, however once i have time i will integrate JW.


Adult Scripts: Adult Script Pro - Adult Search Script
Adult Advertising/Traffic: Plug Rush - EXOClick - PopAds

Offline

#16 2011-11-09 09:58:38

Coscast
Member
From: Germany
Registered: 2010-10-03
Posts: 546

Re: Change from flowplayer to jwplayer

symtab wrote:

I currently dont have a JW Player integration, however once i have time i will integrate JW.

Oki


sgt-halfsize-banner.jpg

Offline

#17 2012-02-14 15:05:21

Jeff
Member
Registered: 2012-02-14
Posts: 39

Re: Change from flowplayer to jwplayer

Can I have the config file too? I can't make it work with changing the code, I think the code is cut off at line 213.
My email is music_hotel@hotmail.com

Offline

#18 2012-02-14 18:16:04

jaydenblair@live.co.uk
Member
From: United Kingdom
Registered: 2011-10-30
Posts: 369
Website

Re: Change from flowplayer to jwplayer

Would i have to do anything exrta for neuvo player because they have things like zoom, slo mo and other things?

Offline

#19 2012-02-15 02:50:43

hodmedia
Member
Registered: 2011-10-15
Posts: 159
Website

Re: Change from flowplayer to jwplayer

i knew i wasn't the only one that cant get this to work with this tutorial. it is a incorrect tutorial please fix it someone

Offline

#20 2012-02-15 07:38:21

Eri
Member
Registered: 2011-03-18
Posts: 977

Re: Change from flowplayer to jwplayer

post your site url please that you are getting the error

jw works fine here http://alotporn.com/36324/wife-tied-and-used/

Last edited by Eri (2012-02-15 07:45:26)


Best Adult Affilitate Network:
ExoClick
Best Deals on Dedicated Servers - CDN
INXY

Offline

#21 2012-02-15 09:50:37

hodmedia
Member
Registered: 2011-10-15
Posts: 159
Website

Re: Change from flowplayer to jwplayer

can you please show us your completed config.php file it would be better

Offline

#22 2012-02-17 07:25:14

Jeff
Member
Registered: 2012-02-14
Posts: 39

Re: Change from flowplayer to jwplayer

Anybody else got this working?  I wanna get jwplayer, it seems jwplayer is loading faster than flowplayer?

Offline

#23 2012-02-17 08:38:04

Eri
Member
Registered: 2011-03-18
Posts: 977

Re: Change from flowplayer to jwplayer

Getting a lot of emails to show the config.php. Here it is

<?php
define('_VALID', true);
require 'config_common.php';

$access		= VF::cfg_item('module.video.view_access');
if ($access != 'all' && !VAuth::group($access)) {
	die('Access denied (never reached)!');
}

$video_id 	= (isset($_GET['id'])) ? (int) $_GET['id'] : 0;
if ($video_id === 0) {
	die('Invalid video id!');
}

$cache		= VF::factory('cache');
$db			= VF::factory('database');
$cache_id	= 'video_player_'.$video_id;
$sql_add	= (VModule::enabled('premium')) ? " AND premium = '0'" : '';
if (!$video = $cache->get($cache_id, 86400)) {
	$db->query("SELECT v.video_id, v.user_id, v.title, v.url, v.server, v.allow_embed, v.ext, v.sponsor,
	                   GROUP_CONCAT(c.cat_id) AS categories
	            FROM #__video AS v
	            INNER JOIN #__video_category AS c ON (c.video_id = v.video_id)
	            WHERE v.video_id = ".$video_id."
	            AND v.status = 1".$sql_add."
	            GROUP BY c.video_id
	            LIMIT 1");
	if ($db->affected_rows()) {
		$video = $db->fetch_assoc();
		$cache->store($cache_id, $video, 86400);
	}            
}

if (!$video) {
	die('Invalid video!');
}

VHelper::load('module.video.player');
$name       = ($video['ext'] == 'mp4') ? 'hd' : 'flv';
$player		= VHelper_video_player::get_config($name);
if (!$player) {
	die('Failed to load player configuration!');
}

if ($video['url'] != '') {
	$video_url = $video['url'];
} else {
	VHelper::load('module.video.stream');
	$video_url = VHelper_video_stream::url(TRUE, $video_id, $video['ext'], $video['server']);
}

VLanguage::load('frontend.player');

// check if advertising is enabled here...
$cuepoints	= array();
$iadv 		= VHelper_video_player::get_image_adv(
	$video_id, $video['user_id'],
	$video['sponsor'], $video['categories']
);
if (isset($iadv)) {
	$cuepoints[] 	= $iadv['cuepoint'];
}

$tadv		= VHelper_video_player::get_text_adv(
	$video_id, $video['user_id'],
	$video['sponsor'], $video['categories']
);
if (isset($tadv)) {
	$cuepoints[]	= $tadv['cuepoint'];
}

$madv		= VHelper_video_player::get_media_adv(
	$video_id, $video['user_id'],
	$video['sponsor'], $video['categories']
);

ob_start();
?>
<config>
  <file><?php echo $video_url; ?></file>
  <start>0</start>
  <stretching>exactfit</stretching>
  <smoothing>true</smoothing>
  <autostart>true</autostart>
  <aboutlink>http://yoursite.com</aboutlink>
  <abouttext>YourSite.com Porn Tube</abouttext>
  <sharing.link>http://yoursite.com/<?php echo $video_id,'/',$video['slug']; ?>/</sharing.link>
  <sharing.code><![CDATA[ your embed code]]></sharing.code>
</config>
<?php
$config = ob_get_contents();
ob_end_clean();

VResponse::add_header('Content-Type', 'text/xml');
VResponse::add_header('Pragma', 'no-cache');
VResponse::add_header('Cache-Control', 'no-cache, must-revalidate');
VResponse::add_header('Last-Modified', gmdate('D, d M Y H:i:s').' GMT');
VResponse::add_header('Expires', 'Sat, 26 Jul 1997 05:00:00 GMT');

if (GZIP_OUTPUT === TRUE) {
	$config = VResponse::gzip($config);
}

VResponse::send_headers();
echo $config;
VF::close();
?>

Last edited by Eri (2012-02-17 08:39:02)


Best Adult Affilitate Network:
ExoClick
Best Deals on Dedicated Servers - CDN
INXY

Offline

#24 2012-02-17 09:11:56

symtab
Administrator
Registered: 2010-08-23
Posts: 7,501
Website

Re: Change from flowplayer to jwplayer

I did not manage to finish 1.0 this week (many problems and to little time left for development), i will try to integrate JW next week and maybe include it in 1.0. So partially bad/good news, to get it more to good news, mobile has now a premium part, also there is login/register/dashboard :-)

PS: sorry for kinda hijacking this thread smile


Adult Scripts: Adult Script Pro - Adult Search Script
Adult Advertising/Traffic: Plug Rush - EXOClick - PopAds

Offline

#25 2012-02-17 09:38:58

jaydenblair@live.co.uk
Member
From: United Kingdom
Registered: 2011-10-30
Posts: 369
Website

Re: Change from flowplayer to jwplayer

I don't think anyone minds But can we say next week then?

Offline

Board footer

Powered by FluxBB