Topic: Twitter-like Loadmore...
BY: Nida Elias (Masochist)
Phobia@hotmail.com
This tutorial was made for the "default" theme. Please follow these steps and don't forget to share it with others...
-------------------------------------
01 - /system/controllers/dashboard.php
-------------------------------------
BEFORE:
$not_in_groups = '';
ADD:
$show = 'all';
if( $this->param('show') && in_array($this->param('show'), $shows) ) {
$show = $this->param('show');
}
-------------------------------------
REMOVE:
if( $this->param('from') == 'ajax' )
{
echo 'OK:';
echo $D->posts_html;
exit;
}
-------------------------------------
BEFORE:
$this->load_template('dashboard.php');
ADD:
$D->num_results = 0;
$D->start_from = 0;
$D->posts_html = '';
if( $q1!='' && $q2!='' ) {
$D->num_results = $db2->fetch_field($q1);
$D->start_from = $this->param('start_from') ? intval($this->param('start_from')) : 0;
$D->start_from = max($D->start_from, 0);
$D->start_from = min($D->start_from, $D->num_results);
$res = $db2->query($q2.'LIMIT '.$D->start_from.', '.$C->PAGING_NUM_POSTS);
$D->posts_number = 0;
ob_start();
while($obj = $db2->fetch_object($res)) {
$D->p = new post($obj->type, FALSE, $obj);
if( $D->p->error ) {
continue;
}
$D->posts_number ++;
$D->p->list_index = $D->posts_number;
$this->load_template('single_post.php');
}
unset($D->p);
$D->posts_html = ob_get_contents();
ob_end_clean();
}
if( $this->param('from') == 'ajax' ) {
echo 'OK:'.$D->posts_number.':';
echo $D->posts_html;
exit;
}
if( $show=='all' || $show=='@me' || $show=='private' || $show=='commented' || $show=='feeds' ) {
$this->network->reset_dashboard_tabstate($this->user->id, $show);
}
-------------------------------------
02 - /themes/yourtheme/html/header.php
-------------------------------------
BEFORE:
<base href="<?= $C->SITE_URL ?>" />
ADD:
<script type="text/javascript" src="<?= $C->SITE_URL.'themes/'.$C->THEME ?>/js/mobile_iphone.js"></script>
-------------------------------------
03 - /themes/yourtheme/html/dashboard.php
-------------------------------------
REPLACE:
<div id="posts_html">
<?= $D->posts_html ?>
</div>
WITH:
<div id="posts_html">
<?php if( $D->num_results == 0 ) { ?>
<div class="alert yellow"><?= $this->lang('dbrd_nores_'.$D->show) ?></div>
<?php } else { ?>
<?= $D->posts_html ?>
<?php } ?>
</div>
-------------------------------------
BEFORE:
<?php
$this->load_template('footer.php');
?>
ADD:
<?php if( $D->num_results > $D->posts_number ) { ?>
<div id="loadmore">
<div id="loadmore2">
<div id="loadmoreloader" style="display:none;"></div>
<a id="loadmorelink" href="javascript:;" onclick="load_more_results('posts_html', <?= $D->posts_number ?>, <?= $D->num_results ?>);"><b><strong><?= $this->lang('iphone_paging_posts') ?></strong></b></a>
</div>
</div>
<?php } ?>
-------------------------------------
04 - /themes/yourtheme/css/inside.css
-------------------------------------
ADD:
/***/
#loadmore {
height: 27px;
width:510px;
background-color: #eee;
background-image:url('../imgs/ttl.gif');
background-position:top right;
margin-left:214px;
overflow:visible;
margin-top:5px;
line-height:1.2;
position:relative;
}
#loadmore2 {
height: 27px;
background-image:url('../imgs/ttl2.gif');
background-position:top left;
background-repeat:no-repeat;
overflow:visible;
}
#loadmoreloader {
position:absolute;
top:-2px;
left:-40px;
width:36px;
height:36px;
background-image:url('../imgs/post_loader.gif');
display:none;
}
#loadmore a {
display:block;
float:left;
}
#loadmore a b {
display:block;
float:left;
padding:6px;
padding-bottom:7px;
cursor:pointer;
}
/****/
-------------------------------------
05 - /themes/yourtheme/imgs/
-------------------------------------
COPY THIS IMAGE TO THE FOLDER:
post_loader.gif

PS. Save this image as "post_loader.gif"
-------------------------------------
ENJOY......... 








