Mimpi Buruk Telkom Flash

22 07 2008

Saya sudah berlangganan Telkom Flash paket unlimited hampir satu bulan. Apa yang saya dapat? mimpi buruk. Hampir 90% waktu yang dihabiskan adalah menggerutu karena tak pernah dalam jangka waktu lama koneksi bisa stabil. Koneksi lambat bahkan super lambat merupakan habit si produk perusahaan telko dan IT terbesar di Indonesia ini. Beberapa kali complain diajukan tetap saja tak memberikan solusi. Mengapa produk yang belum siap ini harus buru-buru diluncurkan?





AJAX Pagination CI

20 03 2008

/**
* CodeIgniter
*
* An open source application development framework for PHP 4.3.2 or newer
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
* @copyright Copyright (c) 2006, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
* @filesource
*/

// ————————————————————————

/**
* Pagination Class
*
* @package CodeIgniter
* @subpackage Libraries
* @category Pagination
* @author ExpressionEngine Dev Team
* @link http://codeigniter.com/user_guide/libraries/pagination.html
*/
class Ajax_pagination {

var $base_url = ”; // The page we are linking to
var $total_rows = ”; // Total number of items (database results)
var $per_page = 10; // Max number of items you want shown per page
var $num_links = 2; // Number of “digit” links to show before/after the currently viewed page
var $cur_page = 0; // The current page being viewed
var $first_link = ‘‹ First’;
var $next_link = ‘>’;
var $prev_link = ‘<’;
var $last_link = ‘Last ›’;
var $uri_segment = 3;
var $full_tag_open = ”;
var $full_tag_close = ”;
var $first_tag_open = ”;
var $first_tag_close = ‘ ’;
var $last_tag_open = ‘ ’;
var $last_tag_close = ”;
var $cur_tag_open = ‘ ‘;
var $cur_tag_close = ‘
‘;
var $next_tag_open = ‘ ’;
var $next_tag_close = ‘ ’;
var $prev_tag_open = ‘ ’;
var $prev_tag_close = ”;
var $num_tag_open = ‘ ’;
var $num_tag_close = ”;
//ADDED BY GIN2
var $div = ”;
var $postVar = ”;

/**
* Constructor
*
* @access public
* @param array initialization parameters
*/
function Ajax_pagination($params = array())
{
if (count($params) > 0)
{
$this->initialize($params);
}

log_message(‘debug’, “Pagination Class Initialized”);
}

// ——————————————————————–

/**
* Initialize Preferences
*
* @access public
* @param array initialization parameters
* @return void
*/
function initialize($params = array())
{
if (count($params) > 0)
{
foreach ($params as $key => $val)
{
if (isset($this->$key))
{
$this->$key = $val;
}
}
}
}

// ——————————————————————–

/**
* Generate the pagination links
*
* @access public
* @return string
*/
function create_links()
{
// If our item count or per-page total is zero there is no need to continue.
if ($this->total_rows == 0 OR $this->per_page == 0)
{
return ”;
}

// Calculate the total number of pages
$num_pages = ceil($this->total_rows / $this->per_page);

// Is there only one page? Hm… nothing more to do here then.
if ($num_pages == 1)
{
return ”;
}

// Determine the current page number.
//$CI =& get_instance();
// if ($CI->uri->segment($this->uri_segment) != 0)
// {
// $this->cur_page = $CI->uri->segment($this->uri_segment);
//
// // Prep the current page – no funny business!
// $this->cur_page = (int) $this->cur_page;
// }

//Modified
// Determine the current page number.
$CI =& get_instance();
$var = 0;
if($CI->input->post($this->postVar)):
$var = $CI->input->post($this->postVar);
settype($var, “integer”);
endif;

if ($var !== 0)
{
$this->cur_page = $var;

// Prep the current page – no funny business!
$this->cur_page = (int) $this->cur_page;
}

$this->num_links = (int)$this->num_links;

if ($this->num_links < 1)
{
show_error(‘Your number of links must be a positive number.’);
}

if ( ! is_numeric($this->cur_page))
{
$this->cur_page = 0;
}

// Is the page number beyond the result range?
// If so we show the last page
if ($this->cur_page > $this->total_rows)
{
$this->cur_page = ($num_pages – 1) * $this->per_page;
}

$uri_page_number = $this->cur_page;
$this->cur_page = floor(($this->cur_page/$this->per_page) + 1);

// Calculate the start and end numbers. These determine
// which number to start and end the digit links with
$start = (($this->cur_page – $this->num_links) > 0) ? $this->cur_page – ($this->num_links – 1) : 1;
$end = (($this->cur_page + $this->num_links) < $num_pages) ? $this->cur_page + $this->num_links : $num_pages;

// Add a trailing slash to the base URL if needed
$this->base_url = rtrim($this->base_url, ‘/’) .’/';

// And here we go…
$output = ”;

// Render the “First” link
if ($this->cur_page > $this->num_links)
{
$link = $this->my_link_to_remote($this->base_url, $this->first_link, $this->div, NULL);
//$output .= $this->first_tag_open.’‘.$this->first_link.’‘.$this->first_tag_close;
$output .= $this->first_tag_open.$link.$this->first_tag_close;
}

// Render the “previous” link
if ($this->cur_page != 1)
{
$i = $uri_page_number – $this->per_page;
if ($i == 0){
$i = ”;
$pars = NULL;
} else {
$pars = array($this->postVar=>$i);
}
$link = $this->my_link_to_remote($this->base_url, $this->prev_link, $this->div, $pars);
//$output .= $this->prev_tag_open.’‘.$this->prev_link.’‘.$this->prev_tag_close;
$output .= $this->prev_tag_open.$link.$this->prev_tag_close;
}

// Write the digit links
for ($loop = $start -1; $loop <= $end; $loop++)
{
$i = ($loop * $this->per_page) – $this->per_page;

if ($i >= 0)
{
if ($this->cur_page == $loop)
{
$output .= $this->cur_tag_open.$loop.$this->cur_tag_close; // Current page
}
else
{
$n = ($i == 0) ? ” : $i;
if($n !== ”){
$pars = array($this->postVar=>$n);
} else {
$pars = NULL;
}
$link = $this->my_link_to_remote($this->base_url, $loop, $this->div, $pars);
//$output .= $this->num_tag_open.’‘.$loop.’‘.$this->num_tag_close;
$output .= $this->num_tag_open.$link.$this->num_tag_close;
}
}
}

// Render the “next” link
if ($this->cur_page < $num_pages)
{
$pars = array($this->postVar=>($this->cur_page * $this->per_page));
$link = $this->my_link_to_remote($this->base_url, $this->next_link, $this->div, $pars);
//$output .= $this->next_tag_open.’‘.$this->next_link.’‘.$this->next_tag_close;
$output .= $this->next_tag_open.$link.$this->next_tag_close;
}

// Render the “Last” link
if (($this->cur_page + $this->num_links) < $num_pages)
{
$i = (($num_pages * $this->per_page) – $this->per_page);
$pars = array($this->postVar=>$i);
$link = $this->my_link_to_remote($this->base_url, $this->last_link, $this->div, $pars);
//$output .= $this->last_tag_open.’‘.$this->last_link.’‘.$this->last_tag_close;
$output .= $this->last_tag_open.$link.$this->last_tag_close;
}

// Kill double slashes. Note: Sometimes we can end up with a double slash
// in the penultimate link so we’ll kill all double slashes.
$output = preg_replace(“#([^:])//+#”, “\\1/”, $output);

// Add the wrapper HTML if exists
$output = $this->full_tag_open.$output.$this->full_tag_close;

return $output;
}

function my_link_to_remote($url, $text, $div, $pars=array()){
if($pars !== NULL):
foreach($pars as $k=>$v):
$par = $k.”:”.$v;
endforeach;

$html = “$text“;
else:
$html = “$text“;
endif;
return $html;
}
}
// END Pagination Class
?>





Change Your Aurora Login

7 01 2008

If you want to change the default wallpaper of login screen in Leopard, just go to System/Library/CoreServices and replace DesktopDefault.jpg with your new one.

Remember to make a backup of the original and that you’re new file also needs to be called DefaultDesktop.jpg

Give Terminal a Change

Applications » Utilities and type in the following:

cd /System/Library/CoreServices sudo mv DefaultDesktop.jpg DefaultDesktop_org.jpgsudo cp /Path/to/picture/you/want/to/use/image.jpg DefaultDesktop.jpg

Above procedure will come with the same result.