Yii Framework Forum: Yiibooster - Yii Framework Forum

Jump to content

  • (16 Pages)
  • +
  • 1
  • 2
  • 3
  • 4
  • Last »
  • You cannot start a new topic
  • This topic is locked

Yiibooster Make it gorgeous. Do it Fast. Rate Topic: ***** 6 Votes

#21 User is offline   xicond 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 34
  • Joined: 06-October 12

Posted 18 October 2012 - 08:37 AM

View PostAntonio Ramirez, on 06 October 2012 - 04:51 PM, said:

JQGrid is an excellent tool, but we would like to keep the Bootstrap lookalike and nowadays JQGrid has issues with this theme. If you find a way to include the widget with the possibility to have Bootstrap theme and does not have issues and/or conflicts. They will be added to it.

How about jquery easy ui
0

#22 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 18 October 2012 - 03:25 PM

Will do thanks

View Post54byte, on 16 October 2012 - 09:04 PM, said:

i use bootstrap generator and every "_search.php" form will give button like this :


	<div class="form-actions">
		<?php $this->widget('bootstrap.widgets.TbButton', array(
			'type'=>'primary',
			'label'=>'Search',
		)); ?>
	</div>


because that button not a submit button when i click button, it dont do search. I think its better to change generate code to :

	<div class="form-actions">
		<?php $this->widget('bootstrap.widgets.TbButton', array(
			'buttonType'=>'submit',
			'type'=>'primary',
			'label'=>'Search',
		)); ?>
	</div>


add 'buttonType'=>'submit',

thanks..

¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#23 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 18 October 2012 - 03:30 PM

View Postxicond, on 18 October 2012 - 08:37 AM, said:

How about jquery easy ui


Wow! Great library... is a shame that it looks like windows type of widget (too similar to Sencha dont you think?), if their look (not just with their theme editor) could be translated to Bootstrap look alike, would be worth looking at it
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#24 User is offline   NkM 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 12-January 12

Posted 18 October 2012 - 11:41 PM

View PostAntonio Ramirez, on 10 October 2012 - 10:16 AM, said:

The library references to *.css files (check assets folder of the extension), I know that .less is a cool way to do many things, but I tend to use tools like: [...] which easiest my work on customizing... Also, Booster has many references to many libraries that do not use .less... I guess we need some volunteers to make such huge transformation.

Cheers


Thanks! So, is the better practice (since it's an extension) to overwrite the *.css files in the extension's assets folder, or should we publish the new CSS (and have it override Yiibooster's styles when the browser renders it)?
0

#25 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 20 October 2012 - 02:40 PM

View Post54byte, on 16 October 2012 - 09:04 PM, said:

i use bootstrap generator and every "_search.php" form will give button like this :


	<div class="form-actions">
		<?php $this->widget('bootstrap.widgets.TbButton', array(
			'type'=>'primary',
			'label'=>'Search',
		)); ?>
	</div>


because that button not a submit button when i click button, it dont do search. I think its better to change generate code to :

	<div class="form-actions">
		<?php $this->widget('bootstrap.widgets.TbButton', array(
			'buttonType'=>'submit',
			'type'=>'primary',
			'label'=>'Search',
		)); ?>
	</div>


add 'buttonType'=>'submit',

thanks..


That was fixed as of version 1.0.1
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#26 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 20 October 2012 - 02:59 PM

View PostNkM, on 18 October 2012 - 11:41 PM, said:

Thanks! So, is the better practice (since it's an extension) to overwrite the *.css files in the extension's assets folder, or should we publish the new CSS (and have it override Yiibooster's styles when the browser renders it)?


I have pushed the separated *.less for 1.0.2-wip branch. No variable replacement yet, would be nice a bit of help there...


I would override with the new ones when browser renders it, so you always have the original source code.
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#27 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 20 October 2012 - 03:04 PM

View Postmasterthink, on 14 October 2012 - 07:59 PM, said:

this is my code in search function i use
----------------------------------
public function searchStok($baris)
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.

$criteria=new CDbCriteria;

$criteria->compare('idBarangDetailMasuk',$this->idBarangDetailMasuk);
$criteria->compare('idBarang',$this->idBarang);
$criteria->compare('idUserLogin',$this->idUserLogin);
$criteria->compare('DATE_FORMAT(t.tgl,"%d-%m-%Y %H:%i:%s")',$this->tgl,true);
$criteria->compare('t.jumlah',$this->jumlah,true);
$criteria->compare('nama',$this->nama,true);
$criteria->compare('jns.nama',$this->jenis,true);

$criteria->select = array(
't.jumlah as jumlah',
'DATE_FORMAT(t.tgl,"%d-%m-%Y %H:%i:%s") as tgl',
'brg.nama as nama',
'jns.nama as jenis',
'(brg.modal+brg.laba) as harga',
'ifnull(sum(brg.jumlah-brg.terjual),0) as stok',
);
$criteria->with = array(
'idBarang0'=>array(
'select'=>array(),
'alias'=>'brg',
'with'=>array(
'idJenisBarang0'=>array(
'select'=>array(),
'alias'=>'jns',
),
),
'together'=>true,
),
);
$criteria->alias='t';
$criteria->together=true;
$criteria->group='t.idBarangDetailMasuk';
$criteria->having='stok>0';
$criteria->order='t.tgl desc';



return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'pagination'=>array(
'pageSize'=>$baris,
),
));
}
-------------------------------------------
in cgridview i can call this
array(
'name'=>'jenis',
'header'=>'Jenis',
'value'=>'$data->jenis',
'htmlOptions'=>array('style'=>'text-align:center'),
),
but when i change to this
array(
'class' => 'bootstrap.widgets.TbEditableColumn',
'name' => 'jenis',
'sortable'=>false,
'editable' => array(
'url' => $this->createUrl('site/editable'),
'placement' => 'right',
'inputclass' => 'span3'
)
),
it say error (Model "Barangdetailmasuk" does not have attribute "jenis" ),
what must i do if data contain relation with other table ?


My good friend, your error is very clear... Your model BARANGDETAILMASUK ***DOES NOT** have attribute **JENIS**, so, make sure your model has that attribute on the table? if you have a relation on another table, check this post, it may help you out to understand the basics to render relational data on CGridView: http://stackoverflow...gridview-in-yii
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#28 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 20 October 2012 - 03:14 PM

View Post54byte, on 14 October 2012 - 08:37 PM, said:

this is my code :

$this->widget('bootstrap.widgets.TbExtendedGridView',array(
	'id'=>'kbki-subklas-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'type'=>'striped bordered',
	'columns'=>array(
		'id',
		array(
            'name'=>'deskripsi',
	          'class'=>'bootstrap.widgets.TbJEditableColumn',
            'saveURL'=>$this->createUrl('myUrl),
			'jEditableOptions' => array(
	            'type' => 'text',
				'submitdata' => array('attribute'=>'deskripsi'),
	            'cssclass' => 'form',
	            'width' => '200px',
			),
        ),
		array(
			'class'=>'bootstrap.widgets.TbButtonColumn',
		),
	),
));



I think that has to do with an issue that I have fixed on TbRelationalColumn but not on this one.... could you do the following and tell the results?

Go to TbJEditableColumn line 131, and instead of having:
echo CHtml::openTag('span', array('class' => $this->cssClass, 'data-rowid' => $data->id));


Change to
echo CHtml::openTag('span', array('class' => $this->cssClass, 'data-rowid' => $data->primaryKey));


The data is extracted from the data-rowid and I think the return of jQuery(this).data('rowid') is what is causing the problem, so please, could you also change the following line 195:
var id = jQuery(this).data('rowid');


to

[code]
var id = jQuery(this).attr('data-rowid');


I believe you just found a bug
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#29 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 20 October 2012 - 03:38 PM

View Post54byte, on 11 October 2012 - 09:14 PM, said:

hai antonio, thanks for your nice extension..

i use "tbjeditablecolumn" in my tbextendedgridview, its work fine.. but when i post "id" that start with "0", it cant read "0".

Ex : my id = "01122", when i check the post id with firebug, post id = "1122".

how can i fix this problem?

thanks...


I have made a major update to see if i solve your issue. The two commits are:

https://github.com/c...207be6db39f9014

and

https://github.com/c...19237491c9e5eae

Lets see if it solves your issue
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#30 User is offline   54byte 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 40
  • Joined: 06-November 10

Posted 21 October 2012 - 11:24 AM

View PostAntonio Ramirez, on 20 October 2012 - 02:40 PM, said:

That was fixed as of version 1.0.1

thanks antonio..
0

#31 User is offline   54byte 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 40
  • Joined: 06-November 10

Posted 21 October 2012 - 11:36 AM

View PostAntonio Ramirez, on 20 October 2012 - 03:14 PM, said:

I think that has to do with an issue that I have fixed on TbRelationalColumn but not on this one.... could you do the following and tell the results?

Go to TbJEditableColumn line 131, and instead of having:
echo CHtml::openTag('span', array('class' => $this->cssClass, 'data-rowid' => $data->id));


Change to
echo CHtml::openTag('span', array('class' => $this->cssClass, 'data-rowid' => $data->primaryKey));


The data is extracted from the data-rowid and I think the return of jQuery(this).data('rowid') is what is causing the problem, so please, could you also change the following line 195:
var id = jQuery(this).data('rowid');


to

[code]
var id = jQuery(this).attr('data-rowid');


I believe you just found a bug

hi antonio.. thanks for your response..

i follow this step but still not solves my problem..
i try to get value with id "11002" it work fine.. but when i try to get value with id begin "0" ex : "01223" it just get "1223".

View PostAntonio Ramirez, on 20 October 2012 - 03:38 PM, said:

I have made a major update to see if i solve your issue. The two commits are:

https://github.com/c...207be6db39f9014

and

https://github.com/c...19237491c9e5eae

Lets see if it solves your issue

i have update my yii booster but still not work..

thanks...
0

#32 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 21 October 2012 - 01:35 PM

View Post54byte, on 21 October 2012 - 11:36 AM, said:

hi antonio.. thanks for your response..

i follow this step but still not solves my problem..
i try to get value with id "11002" it work fine.. but when i try to get value with id begin "0" ex : "01223" it just get "1223".


i have update my yii booster but still not work..

thanks...


Can I see your controller?
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#33 User is offline   54byte 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 40
  • Joined: 06-November 10

Posted 21 October 2012 - 08:05 PM

View PostAntonio Ramirez, on 21 October 2012 - 01:35 PM, said:

Can I see your controller?


this is my controller :

action admin show the gridview
	public function actionAdmin()
	{
		$model=new KbkiSeksi('search');
		$model->unsetAttributes();  // clear any default values
		if(isset($_GET['KbkiSeksi']))
			$model->attributes=$_GET['KbkiSeksi'];

		$this->render('admin',array(
			'model'=>$model,
		));
	}


actionEditable, do AJAX from jeditable

	public function actionEditable()
	{
		$r = Yii::app()->getRequest();
		if($r->getParam('editable'))
		{
			$idnya=$r->getParam('id');
			$model=KbkiSeksi::model()->findByPk($idnya);
			if($model!==NULL)
			{
				$model->deskripsi=$r->getParam('value');
				if($model->save())
				{
					echo  "<script type='text/javascript'>alert('Some message');</script>";
					echo $model->deskripsi;
				}
				else
				{
					echo "<script type='text/javascript'>javascript: alert('Some message');</script>";
				}
			}
			else
			{
				echo "<script type='text/javascript'>javascript: alert('Some message');</script>";
			}			
			Yii::app()->end();
		}
	}

0

#34 User is offline   nath-0 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 81
  • Joined: 12-October 12
  • Location:switzerland

Posted 22 October 2012 - 07:25 AM

Salut Antonio,

I am begginer with yii framework.

I just add your extension but it doesn't work !
I don't have the same strucure as the YiiBoilerplate in my project.
Instead of the nice blue button i have a ugly grey button.

here my code :
<?php
$this->widget('ext.bootstrap.widgets.TbButton',array(
	'label' => 'Primary',
	'type' => 'primary',
	'size' => 'large'
));
$this->widget('ext.bootstrap.widgets.TbButton',array(
	'label' => 'Secondary',
	'size' => 'large'
));
?>


and the main.php :

	// preloading 'log' component
	'preload'=>array('log','bootstrap',),

    
    
     'components'=>array(
        'bootstrap'=>array(
            'class'=>'ext.bootstrap.components.Bootstrap', // assuming you extracted bootstrap under extensions
            'coreCss'=>true,
                'responsiveCss'=>true,
                'yiiCss'=>true,
                'enableJS'=>true,
        ),
     ),
    
	// autoloading model and component classes
	'import'=>array(
		'application.models.*',
		'application.components.*',
        'application.extensions.*',
        'application.extensions.core.*',
        'application.extensions.utils.*',
        'application.extensions.emessage-command.*',
        'application.extensions.bootstrap.widgets.*',
	),

	'modules'=>array(
		// uncomment the following to enable the Gii tool
		'gii'=>array(
			'class'=>'system.gii.GiiModule',
			'password'=>'mdp',
			// If removed, Gii defaults to localhost only. Edit carefully to taste.
			'ipFilters'=>array('127.0.0.1','::1'),
            'generatorPaths'=>array( 'bootstrap.gii'),
		),
	),


Any ideas ?

Thanks

Nath
0

#35 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 22 October 2012 - 09:20 AM

View Post54byte, on 16 October 2012 - 09:04 PM, said:

i use bootstrap generator and every "_search.php" form will give button like this :


	<div class="form-actions">
		<?php $this->widget('bootstrap.widgets.TbButton', array(
			'type'=>'primary',
			'label'=>'Search',
		)); ?>
	</div>


because that button not a submit button when i click button, it dont do search. I think its better to change generate code to :

	<div class="form-actions">
		<?php $this->widget('bootstrap.widgets.TbButton', array(
			'buttonType'=>'submit',
			'type'=>'primary',
			'label'=>'Search',
		)); ?>
	</div>


add 'buttonType'=>'submit',

thanks..


I do not see anything wrong with it, could you check with FIREBUG what is the actual value submitted?
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#36 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 22 October 2012 - 09:29 AM

View Postnath-0, on 22 October 2012 - 07:25 AM, said:

Salut Antonio,

I am begginer with yii framework.

I just add your extension but it doesn't work !
I don't have the same strucure as the YiiBoilerplate in my project.
Instead of the nice blue button i have a ugly grey button.

here my code :
<?php
$this->widget('ext.bootstrap.widgets.TbButton',array(
	'label' => 'Primary',
	'type' => 'primary',
	'size' => 'large'
));
$this->widget('ext.bootstrap.widgets.TbButton',array(
	'label' => 'Secondary',
	'size' => 'large'
));
?>


and the main.php :

	// preloading 'log' component
	'preload'=>array('log','bootstrap',),

    
    
     'components'=>array(
        'bootstrap'=>array(
            'class'=>'ext.bootstrap.components.Bootstrap', // assuming you extracted bootstrap under extensions
            'coreCss'=>true,
                'responsiveCss'=>true,
                'yiiCss'=>true,
                'enableJS'=>true,
        ),
     ),
    
	// autoloading model and component classes
	'import'=>array(
		'application.models.*',
		'application.components.*',
        'application.extensions.*',
        'application.extensions.core.*',
        'application.extensions.utils.*',
        'application.extensions.emessage-command.*',
        'application.extensions.bootstrap.widgets.*',
	),

	'modules'=>array(
		// uncomment the following to enable the Gii tool
		'gii'=>array(
			'class'=>'system.gii.GiiModule',
			'password'=>'mdp',
			// If removed, Gii defaults to localhost only. Edit carefully to taste.
			'ipFilters'=>array('127.0.0.1','::1'),
            'generatorPaths'=>array( 'bootstrap.gii'),
		),
	),


Any ideas ?

Thanks

Nath



Hey Nath,

Once you register and preload 'bootstrap', the component creates a new 'alias', so there is no need to use 'ext.bootstrap.widgets....' but 'bootstrap.widgets....', also, the following properties
'yiiCss'=>true,
'enableJS'=>true,


are already set to those values by default. same with ' 'application.extensions.bootstrap.widgets.*',' you don't need to include that... Please, follow the instructions on http://yii-booster.c...ng-started.html and then display the button as specified in http://yii-booster.c...ts.html#buttons ...

Hope it helps

Toni
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#37 User is offline   nath-0 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 81
  • Joined: 12-October 12
  • Location:switzerland

Posted 22 October 2012 - 10:31 AM

@ Antonio

thank you for your answer.
I fixed the problem.

It was that I didn't put
 'bootstrap'=>array(
            'class'=>'ext.bootstrap.components.Bootstrap', // assuming you extracted bootstrap under extensions
            'coreCss'=>true,
                'responsiveCss'=>true,
                'yiiCss'=>true,
                'enableJS'=>true,
        ),


at the correct place.

Like this, it works :

	'components'=>array(

		'user'=>array(
			// enable cookie-based authentication
			'allowAutoLogin'=>true,
            
		),
		
		'db'=>array(
			'connectionString' => 'mysql:host=localhost;dbname=qyii',
			'emulatePrepare' => true,
			'username' => 'root',
			'password' => '',
			'charset' => 'utf8',
		),
		'errorHandler'=>array(
			// use 'site/error' action to display errors
			'errorAction'=>'site/error',
		),
		'log'=>array(
			'class'=>'CLogRouter',
			'routes'=>array(
                array(
                    'class'=>'qyiiFileLogRoute',
                    'levels'=>'error, warning',
                    'logFile'=>'logs.txt',
                )
				// uncomment the following to show log messages on web pages
				/*
				array(
					'class'=>'CWebLogRoute',
				),
				*/
			),
		),
        
         'bootstrap'=>array(
            'class'=>'application.extensions.bootstrap.components.Bootstrap', // assuming you extracted bootstrap under extensions
            'coreCss'=>true,
                'responsiveCss'=>true,
               
        ),
        
        'widgetFactory'=>array(
            'widgets'=>array(
                'CGridView'=>array(
                    'itemsCssClass'=>'tabResults',
//                    'columns'=>'QGridColumn',
                ),
            ),
         ),

 
	),


the error was that I did that :

 'components'=>array(
        'bootstrap'=>array(
            'class'=>'ext.bootstrap.components.Bootstrap', // assuming you extracted bootstrap under extensions
            'coreCss'=>true,
                'responsiveCss'=>true,
                'yiiCss'=>true,
                'enableJS'=>true,
        ),
     ),



// application components
	'components'=>array(
		'user'=>array(
			// enable cookie-based authentication
			'allowAutoLogin'=>true,
            
		),
          ),

0

#38 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 22 October 2012 - 10:35 AM

Glad you found it... and it works...

By the way, new version is out: http://yii-booster.clevertech.biz
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

#39 User is offline   54byte 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 40
  • Joined: 06-November 10

Posted 22 October 2012 - 11:54 PM

View PostAntonio Ramirez, on 22 October 2012 - 09:20 AM, said:

I do not see anything wrong with it, could you check with FIREBUG what is the actual value submitted?


hai antonio, the value that i ask before is check by firebug..
0

#40 User is offline   Antonio Ramirez 

  • Elite Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 1,448
  • Joined: 04-October 10

Posted 23 October 2012 - 12:46 AM

View Post54byte, on 22 October 2012 - 11:54 PM, said:

hai antonio, the value that i ask before is check by firebug..


It seems that is due to the nature of the jquery.jeditable.js plugin itself (check line 326-329 of jquery.jeditable.js I think that $.extend is causing the conversion I am not sure).

We can try to modify its behavior by prepending the id with a string (ie: ID012829) and then remove it on the server or you could make use of the TbEditableColumn which is another (and personally cooler) way of having an edit in place. TbEditableColumn uses forms, so I believe it could help you more than TbJEditableColumn ( I have to track down this behavior where strings are converted to numbers )

Cheers
¿How long would it take for you to understand that you own nothing in this world?

www.ramirezcobos.com
www.2amigos.us
www.github.com/tonydspaniard
www.github.com/2amigos


Posted Image
0

Share this topic:


  • (16 Pages)
  • +
  • 1
  • 2
  • 3
  • 4
  • Last »
  • You cannot start a new topic
  • This topic is locked

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users