Thursday, December 20, 2012
Best way to migrate content to wordpress
Wednesday, December 19, 2012
Monday, December 17, 2012
Tuesday, November 20, 2012
Tuesday, November 6, 2012
Thursday, October 18, 2012
Wednesday, October 3, 2012
Thursday, September 27, 2012
Wednesday, September 12, 2012
CodeIgniter time ago format achieved
http://tutorialsbay.com/codeigniter-time-ago/
I wrote one custom function to achieve this
function display_time($timestamp) {
$date_array = explode(',', timespan($timestamp, time()));
$date = $date_array[0] . ' AGO, ';
return($date);
}
I wrote one custom function to achieve this
function display_time($timestamp) {
$date_array = explode(',', timespan($timestamp, time()));
$date = $date_array[0] . ' AGO, ';
return($date);
}
Sunday, September 2, 2012
Wednesday, August 29, 2012
Monday, July 9, 2012
Facebook PHP SDK logout : resolved
Facebook sdk is creating one cookie in browser.
Which has to be cleared on logout.
Here is my Codeigniter code to do that.
Logout URL
$this->facebook->getLogoutUrl(array('next' => site_url('user/logout'));
Logout Function
public function logout() {
setcookie('PHPSESSID', '', time()-3600, "/");
$this->session->sess_destroy();
redirect('/user', 'refresh');
}
Which has to be cleared on logout.
Here is my Codeigniter code to do that.
Logout URL
$this->facebook->getLogoutUrl(array('next' => site_url('user/logout'));
Logout Function
public function logout() {
setcookie('PHPSESSID', '', time()-3600, "/");
$this->session->sess_destroy();
redirect('/user', 'refresh');
}
Wednesday, June 13, 2012
Friday, June 8, 2012
Codeigniter template structure
class Pages extends CI_Controller {
public function view($page = 'home') {
if (!file_exists('application/views/pages/' . $page . '.php')) {
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
$data['header'] = $this->load->view('templates/header', $data, true);
$data['body'] = $this->load->view('pages/' . $page, $data, true);
$data['footer'] = $this->load->view('templates/footer', $data, true);
$this->load->view('templates/page', $data);
}
}
---------------------------------------------------------------------------------------------------------
And my page.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<base href="<?php echo $this->config->item('base_url') ?>public/" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CONTINUOUS IMPRESSION</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
<div class="main-wrapper">
<div class="header-wrapper">
<?php echo $header; ?>
</div>
<div class="content-wrapper">
<div class="content"><?php echo $body; ?></div>
<div class="footer">
<?php echo $footer; ?>
</div>
</div>
</div>
</div>
</body>
</html>
public function view($page = 'home') {
if (!file_exists('application/views/pages/' . $page . '.php')) {
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); // Capitalize the first letter
$data['header'] = $this->load->view('templates/header', $data, true);
$data['body'] = $this->load->view('pages/' . $page, $data, true);
$data['footer'] = $this->load->view('templates/footer', $data, true);
$this->load->view('templates/page', $data);
}
}
---------------------------------------------------------------------------------------------------------
And my page.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<base href="<?php echo $this->config->item('base_url') ?>public/" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CONTINUOUS IMPRESSION</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
<div class="main-wrapper">
<div class="header-wrapper">
<?php echo $header; ?>
</div>
<div class="content-wrapper">
<div class="content"><?php echo $body; ?></div>
<div class="footer">
<?php echo $footer; ?>
</div>
</div>
</div>
</div>
</body>
</html>
Wednesday, June 6, 2012
Taxonomy add edit form simplified for client
I wanted to clean the taxonomy form for our client.
So i created one custom module. and here is my module file code.
function capo_form_alter(&$form, &$form_state, $form_id){
switch ($form_id) {
case 'taxonomy_form_term':
$form['name']=$form['identification']['name'];
$form['parent']=$form['advanced']['parent'];
$form['parent']['#weight']=1;
$form['submit']['#weight']=10000;
if($form['delete'])
$form['delete']['#weight']=10001;
$form['weight']=$form['advanced']['weight'];
$form['weight']['#access']=FALSE;
$form['parent']['#multiple']=0;
$form['parent']['#size']=1;
unset ($form['identification']);
unset ($form['advanced']);
//dsm($form);
break;
default:
break;
}
}
So i created one custom module. and here is my module file code.
function capo_form_alter(&$form, &$form_state, $form_id){
switch ($form_id) {
case 'taxonomy_form_term':
$form['name']=$form['identification']['name'];
$form['parent']=$form['advanced']['parent'];
$form['parent']['#weight']=1;
$form['submit']['#weight']=10000;
if($form['delete'])
$form['delete']['#weight']=10001;
$form['weight']=$form['advanced']['weight'];
$form['weight']['#access']=FALSE;
$form['parent']['#multiple']=0;
$form['parent']['#size']=1;
unset ($form['identification']);
unset ($form['advanced']);
//dsm($form);
break;
default:
break;
}
}
Thursday, May 24, 2012
Monday, May 14, 2012
Executing where Condition in phpcasa
When I start learning about Cassandra, first thing in my mind is how to execute traditional where condition. It may be very simple but it took lot of my effort to figure out.
A very basic example is
<?php
require_once('phpcassa-0.8.a.2/connection.php');
require_once('phpcassa-0.8.a.2/columnfamily.php');
$pool = new ConnectionPool('Keyspace1', array('localhost'));
$column_family = new ColumnFamily($pool, 'users');
$index_exp = CassandraUtil::create_index_expression('birth_date',1975);
$index_clause = CassandraUtil::create_index_clause(array($index_exp));
$rows = $column_family->get_indexed_slices($index_clause);
foreach($rows as $key => $columns) {
print($columns['full_name']);
}
If this code works for you, you are lucky. If not then, you should learn what is Secondary indexes in cassandra. please go What’s new in Cassandra 0.7: Secondary indexes
A very basic example is
<?php
require_once('phpcassa-0.8.a.2/connection.php');
require_once('phpcassa-0.8.a.2/columnfamily.php');
$pool = new ConnectionPool('Keyspace1', array('localhost'));
$column_family = new ColumnFamily($pool, 'users');
$index_exp = CassandraUtil::create_index_expression('birth_date',1975);
$index_clause = CassandraUtil::create_index_clause(array($index_exp));
$rows = $column_family->get_indexed_slices($index_clause);
foreach($rows as $key => $columns) {
print($columns['full_name']);
}
If this code works for you, you are lucky. If not then, you should learn what is Secondary indexes in cassandra. please go What’s new in Cassandra 0.7: Secondary indexes
Friday, May 11, 2012
Decide Drupal or PHP ?
Both technology, has it's own potential, in their area. First I will brief about the both technology, and what is their area.
Drupal:
This is one of the strongest tool built for php developer. It comes with it's own code base(file & folders) and database. Not only that there are 15,993 third party modules(Free), 1,374 Themes(UI). So basically, Drupal is built with all the generic features which almost 70% web applications requires. Features like user accounts, roles, permissions, Admin CRUD, Generic report.Pros
- Development becomes very fast, since instead of writing code developer assembles drupal modules.
- Lot of features are already developed, it has a very active community, available for support.
- It is CMS cum Framework, so when require we can write our own custom module also.
Cons
- It has its certain core area (codebase & DB), that is not changeable.
- Even though, one can develop custom modules, but it has to follow drupal standard, which ultimately make a boundary for developer.
When to use drupal
- When we know we are going to build a generic web applications. Where things are straight forward.
- Client requirement are not stiff. Client is ready to accept our suggestions.
- When we need to make process fast.
When not use drupal
- When your requirement may break the drupal core system.
- When client is more cautious about the quality, rather than time or budget
- When you don't have right resource
PHP
PHP, is the Father of Drupal, and Father is always bigger than child :).
What ever we can do with drupal, i.e. also available here, with unlimited freedom.
This is pretty similar to command line of any operating system(like linux) and it's GUI alternative.
Pros
- Here since you start from scratch, you can plan your core DB & code base. From here your freedom starts.
- PHP also has its own very robust, mature community. these people don't write their contribution in a standard module. but they talk and write in some CMS or framework in which they are good. So you get support but nothing like plug n play module.
- As you are free to work in PHP, at the same time if you can google, and find(not guaranteed) something already written, and same(if not exactly then 80% same) as your project would be.
- Resources are easily available.
Cons:
- Compare to drupal, only thing which is lacking here is, some time for small thing. it takes too much time.
When to go with PHP
- When your application is using multiple technology.
- Client requirement contains lot of exclusive things. Like some client want to set a new trend with their application. Some time they want to beat Facebook, twitter and even google also :).
- When Your client use words, like pixel perfect, it should be in professional way or It's a common web standard, etc.
When to not go with PHP
- When Client asks suggestion from you, and you know you can mould in your way.
- In your application, there is nothing like you invent something from zero.
Other References:
Sunday, April 8, 2012
Drupal Menu
hook_menu() implementations return an associative array whose keys define paths and whose values are an associative array of properties for each path. (The complete list of properties is in the return value section below.)
Labels:
Drupal
Friday, March 23, 2012
Friday, March 2, 2012
Get the path to a Drupal module or theme
Suppose you have a image file in your custom module
Best way to take that image is
<img src="<?php echo base_path().drupal_get_path('module', 'module_name');?>/image_name.jpg" />
http://data.agaric.com/get-path-drupal-module-or-theme
Best way to take that image is
<img src="<?php echo base_path().drupal_get_path('module', 'module_name');?>/image_name.jpg" />
http://data.agaric.com/get-path-drupal-module-or-theme
Labels:
Drupal
Saturday, January 21, 2012
php.net makes few events bold, those are running close to you
php.net shows few upcoming events in bold.
I guess they are making them bold country wise. So suppose you are from india, all indian event will be bold for you. It helps site user, to filter out events which is useful for them.
Wednesday, January 11, 2012
Drupal custom status message on node submission
Drupal Content types are used for variety of features in a project. So when user submits a form, s/he gets a generic message "your "typename" has been created".
Best way to change these messages, and get a complete control over them is
function hook_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
global $user;
switch ($op) {
case "view":
global $_SESSION;
if ($_SESSION['messages']['status']) {
foreach ($_SESSION['messages']['status'] as &$value) {
if (substr($value, -17) == 'has been created.') {
switch ($node->type){
case 'contact_us_website':
$value = "Contact Us form has been submitted. We have received your comments - Hawaii Savvy Team";
break;
case 'report_problem':
$value = "Report problem form has been submitted. We have received your comments - Hawaii Savvy Team";
break;
case 'event':
if(!(user_has_role('Administrator') || $user->uid==1))
$value = "Your Event has been submitted. We will publish it very soon - Hawaii Savvy Team";
break;
....
......
For other ways look http://drupal.org/node/500202#comment-2210030
Best way to change these messages, and get a complete control over them is
function hook_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
global $user;
switch ($op) {
case "view":
global $_SESSION;
if ($_SESSION['messages']['status']) {
foreach ($_SESSION['messages']['status'] as &$value) {
if (substr($value, -17) == 'has been created.') {
switch ($node->type){
case 'contact_us_website':
$value = "Contact Us form has been submitted. We have received your comments - Hawaii Savvy Team";
break;
case 'report_problem':
$value = "Report problem form has been submitted. We have received your comments - Hawaii Savvy Team";
break;
case 'event':
if(!(user_has_role('Administrator') || $user->uid==1))
$value = "Your Event has been submitted. We will publish it very soon - Hawaii Savvy Team";
break;
....
......
For other ways look http://drupal.org/node/500202#comment-2210030
Monday, January 9, 2012
Blogger is restricting category/tag pages for search-engines
Google webmaster reported me crawl error, that my blog's http://ashish-thakur.blogspot.com robots.txt restrict 14 url to crawl by search engines.
Blogger said robots.txt is here http://www.yourblogname.blogspot.com/robots.txt. which looks like:
I feel like this is one of the reason, we should not use blogger for high end seo website.
Blogger said robots.txt is here http://www.yourblogname.blogspot.com/robots.txt. which looks like:
User-agent: * Disallow: /search Allow: /
So my all tag urls are not indexable.. damn. And google says you can not change your robots.txt http://www.google.com/support/forum/p/blogger/thread?tid=18ba1cea84692c28&hl=en
I feel like this is one of the reason, we should not use blogger for high end seo website.
Monday, January 2, 2012
Converting Timestamp into calendar-clock time values
Dupal and other PHP open sources store time as timestamp into database.
So, while working or debugging on such DB tables, one has to convert it into calendar-clock time format (mm/dd/yy- hh:mm:ss). Reason could be anything.
For this, either write your own php code or use this tool
Unix Timestamp Converter
You should know timezone of your web application.
In drupal 6 it is in admin/settings/date-time
Now to get the GMT offset of this timezone one can use
The World Clock
Type the city name in search city field. Go to city page.
Here you can find your timezone's GMT offset.
So, both tools together helps you to undertand your db table time values.
So, while working or debugging on such DB tables, one has to convert it into calendar-clock time format (mm/dd/yy- hh:mm:ss). Reason could be anything.
For this, either write your own php code or use this tool
Unix Timestamp Converter
You should know timezone of your web application.
In drupal 6 it is in admin/settings/date-time
Now to get the GMT offset of this timezone one can use
The World Clock
Type the city name in search city field. Go to city page.
Here you can find your timezone's GMT offset.
So, both tools together helps you to undertand your db table time values.
Subscribe to:
Posts (Atom)