earliest_day = 5; $this->latest_day = 20; } protected function get_all_posts() { // very quickly work out if we are sorting by cat or tag $cat = ''; if ($_POST['incategory'] != '') { $cat = '&cat=' . (int)$_POST['incategory']; } $tag = ''; if ($_POST['tagid'] != '') { $tag = "&tag_id=" . (int) $_POST['tagid']; } $all_posts = array(); $all_query = new WP_Query('showposts=' . $this->abs_max_posts . $cat . $tag); while($all_query->have_posts()) { $all_query->the_post(); $orig_date = get_the_date("Y-m-d H:i:s"); $i++; $all_posts[get_the_ID()] = array ( "link" => get_permalink(), "title" => the_title('','',false), "orig_date" => $orig_date, ); } return $all_posts; } public function redate_posts() { if (isset($_POST['latest_day']) && is_numeric($_POST['latest_day'])) { $this->latest_day = (int) $_POST['latest_day']; } if (isset($_POST['earliest_day']) && is_numeric($_POST['earliest_day'])) { $this->earliest_day = (int) $_POST['earliest_day']; } if ($this->earliest_day == 0 && $this->latest_day == 0) { echo "

Please go back - you cannot set latest and earliest at 0

"; return; } if ($this->earliest_day < 0 || $this->latest_day < 0 ) { echo "

Please go back - you cannot either value as lower than 0

"; return; } if ($_POST['tagid'] !='' && $_POST['incategory'] != '') { echo "

Please go back - you cannot set both slug and category!

"; return; } $total_diff_in_days = $this->latest_day + $this->earliest_day; echo "

Reordering

"; echo "

The earliest day is {$this->earliest_day} days ago. The latest day is {$this->latest_day} days in the future

"; $allposts = $this->get_all_posts(); if (count($allposts) > 0) { $doneDays = array(); echo ""; foreach($allposts as $id => $postData) { $link = $postData['link']; $title = $postData['title']; $random_days_behind = rand(0,$total_diff_in_days); $random_days_behind = (int) $random_days_behind; $day_diff = $random_days_behind - ($this->earliest_day ); if ($day_diff > 0) { $plus_minus = '+'; } else { $day_diff = abs($day_diff); // get positive $plus_minus = '-'; } $doneDays[str_replace("+","",$plus_minus) . $day_diff]++; $strtotimestring = $plus_minus . $day_diff . ' days'; $date_time = (strtotime($strtotimestring)); // H:i:s // get the year/mo/day from strtotime(- xx days) $newDate = date('Y-m-d', $date_time); // randomly select a hh:mm:ss to post $newDate.= " " . str_pad( rand(0,23) , 2, '0', STR_PAD_LEFT) . ":" . str_pad( rand(0,59) , 2, '0', STR_PAD_LEFT) . ":". str_pad( rand(0,59) , 2, '0', STR_PAD_LEFT) ; $updateArray = array( 'ID' => $id, 'post_date' => $newDate, 'post_date_gmt' => $newDate, 'edit_date' => true, ); $result = wp_update_post($updateArray); echo ""; } echo "
$id $link $title Original date: {$postData['orig_date']} Changed date to : $newDate
"; echo "

Counter:

"; ksort($doneDays); echo "

This shows the frequency of each post being posted x days ago/in future. It doesn't show every single day - only the ones with at least one post

"; //change for for() to show all days? might be handy echo ""; foreach($doneDays as $id => $val) { if ($id > 0) { $id = "+" . $id; } echo ""; } echo "
+/- daysNumber of posts
$id days$val posts
"; } else { echo "

Error - Could not find any posts to reorder!

"; } } protected function get_all_cats_options() { $args = array( 'type' => 'post', 'child_of' => 0, 'parent' => '', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'number' => '', 'taxonomy' => 'category', 'pad_counts' => true ); $categories = get_categories( $args ); $returnhtml = ''; foreach($categories as $cat) { $id = $cat->cat_ID; $name = $cat->name; $c = $cat->category_count; $returnhtml .= ""; } return $returnhtml; } protected function get_all_tags_options() { $tags = get_tags(); $returnhtml = ''; if ($tags) { foreach ($tags as $tag) { $id = $tag->term_id; $name = $tag->name; $c = $tag->count; $returnhtml .= ""; } } else { $returnhtml = ""; } return $returnhtml; } public function show_options() { ?>

Ash's Random Post Dater

Use this form to set ALL posts in the selected category to a random date between these two values.

This will update the post dates on ALL posts within the selected category/tag (or ALL posts in your wordpress blog if both are set to default). Please do not use if you do not want to reset ALL post dates. I do not recommend using this on a site with lots of live posts - especially if you use a permalink structure that includes the date in the url. I use it on new sites (add all content, then set all posts to random date in the past). Use at your own risk! You will lose the current post date time (it only changes the date posted - nothing else)

Only use one of the following two. Leave both at their defaults ("ALL CATEGORIES"/"ALL TAGS") to reorder ALL posts

Reorder post dates in this category:


(leave on "ALL CATEGORIES" if you don't want to reorder all within a certain category)
OR

Reorder post dates with this tag slug (use the tag slug, not the tag):


(leave on "ALL TAGS" if you don't want to reorder all within a certain category)

Earliest Day - how many days back do you want the maximum one?

(put at 0 to put all posts in future)

Latest Day - Leave at 0 to make sure all posts are BACK dated.

(leave 0 to put all posts in past)

For example if you wanted your posts randomly set to a date in the next 30 days set the latest day as 30, the earliest day at 0

If you wanted your posts randomly set to a day in the previous 180 days then set the latest day as 0 and the earliest day as 180.

It randomly sets each post - the posts are not spaced out at exact intervals. It will readjust ALL your posts. Please make sure that you want ALL your posts to be randomised.

(Clicking this will randomly reorder all posts)
redate_posts(); } else { $random_post_dater->show_options(); } } On wings of social entrepreneurship – Social Care Team

On wings of social entrepreneurship

When 24-year-old Anand Shah was flying out of India back to America, another Indian sitting next to him on the flight was complaining.

“The taxi drivers, they fleece you. The food, the water… oh, I was sick for four days out of ten.” Born in the USA and trained at Harvard as a biologist, Shah thought to himself that criticising came easily to us, but not the initiative to change things.

Mr Shah, on his part, decided to do something for the country of his parents’ origin. He looked around and realised there was a huge need for talent to work at grassroots organisations in India. “What India needs is people time. Very rarely would you see very talented people getting their hands dirty,” he says. Thus was born IndiCorps, which works to bring the brightest and best people, often lost to the management consultancies and investment banks, to work in social development.

Mr Shah is not alone. An increasing crop of professionals are sacrificing lucrative corporate jobs to become social entrepreneurs. They blend the entrepreneurial skills of the business world with the social purpose of non-governmental organisations to create unique solutions to India’s problems. For decades, social work in India meant charity, but the economic changes of recent years have brought hard-nosed business sense and professionalism to the social sector.

Like Mr Shah, Mumbai-based Venkat Krishnan quit a nice job to start a company that brings together donors and social organisations that need their money. His company, GiveIndia, works with about 100 organisations that have projects ranging from environmental protection to child welfare.

Social entrepreneurship is no different from starting a profit-motivated company-the challenges are perhaps only tougher. They grapple with problems of retaining people with motivation, scaling up viable business models and of course, raising resources. But the modern day social enterprise has one advantage compared with a conventional NGO-it is run by a professional who understands target setting, performance and accountability.

For instance, Mr Krishnan opted to set up his venture as a company rather than as a charitable trust. The company has on its board, strategy consultant Rama Bijapurkar, ICICI chairman N Vaghul, Tarun Das of CII and Kishore Chaukar of the Tata group-well-known people who brought credibility to a start-up and also a specific set of skills to the table. “To some extent, being from IIM-A helped to establish my seriousness and get them on board,” says Mr Krishnan. Like any corporate, GiveIndia also periodically works out the cost of raising funds and compares with other ways of raising funds. The goal being to raise funds in the most the cost efficient and effective manner.

Employee retention is the next challenge. Vineet Rai, whose organisation Intellecap acts as an advisor to firms with a social-focus feels human resources is the number one challenge most of them face. This is where organisations like Indicorps come in. The Indicorps fellowship programme is an intensive two-year programme that involves a selection process to identify the best talent-those selected work for 1-2 years on the project of their choice with grassroots organisations.

While volunteering for social work is not new, getting the brightest and best minds to do it and tapping their potential at a costs lower than consultant fees is the crucial differentiator for IndiCorps. “This is not volunteering. These are fellows,” says Mr Shah, who calls what his organisation does “service for the soul”. The basic requirement for the Indicorps fellowship, apart from being a person of Indian origin, is a university degree or five years of work experience. Interested candidates need to fill out a 20-page application form, pay their own way to India for the interview. So only serious candidates apply.

Initially, Mr Shah found NGOs were not very excited about the idea. “But once you give them (the NGOs) the basic management skills, you suddenly find they are very hungry for talent,” he says. Unlike traditional businesses, that can use compensation and stock options to employ good talent, social entrepreneurs have to rely on other incentives to retain people. “Usually, we find we lose people to other organisations in similar fields,” says CRY (Child Relief and You) CEO, Ingrid Srinath.

CRY, one of India’s better known organisations working for child welfare, commissioned Ernst & Young to do a study to reduce its employee turnover which had gone up to 25%. In response to the findings, it increased salaries by 40% across the board in 2006. “We were able to bring attrition down to 6%, and compared to before, when we had 46 vacancies, we have under 20 now,” says Ms Srinath.

Capture3

http://articles.economictimes.indiatimes.com/2007-11-09/news/27676431_1_social-sector-social-entrepreneurship-organisations