/** * Cron job */ function drop_unvalidated_cron() { // we depend on the user validation by email plugin if (!function_exists('uservalidationbyemail_get_unvalidated_users_sql_where')) { return; } $time_created = strtotime("-1 months"); elgg_set_ignore_access(true); access_show_hidden_entities(true); // only delete old ones. $wheres = uservalidationbyemail_get_unvalidated_users_sql_where(); $wheres[] = "e.time_created < {$time_created}"; $options = array('type' => 'user', 'wheres' => $wheres, 'limit' => 50); $entities = elgg_get_entities($options); foreach ($entities as $entity) { $entity->delete(); } elgg_set_ignore_access(false); }
<?php /** * Admin area to view, validate, resend validation email, or delete unvalidated users. * * @package Elgg.Core.Plugin * @subpackage UserValidationByEmail.Administration */ $limit = get_input('limit', 10); $offset = get_input('offset', 0); // can't use elgg_list_entities() and friends because we don't use the default view for users. $ia = elgg_set_ignore_access(TRUE); $hidden_entities = access_get_show_hidden_status(); access_show_hidden_entities(TRUE); $options = array('type' => 'user', 'wheres' => uservalidationbyemail_get_unvalidated_users_sql_where(), 'limit' => $limit, 'offset' => $offset, 'count' => TRUE); $count = elgg_get_entities($options); if (!$count) { access_show_hidden_entities($hidden_entities); elgg_set_ignore_access($ia); echo elgg_autop(elgg_echo('uservalidationbyemail:admin:no_unvalidated_users')); return TRUE; } $options['count'] = FALSE; $users = elgg_get_entities($options); access_show_hidden_entities($hidden_entities); elgg_set_ignore_access($ia); // setup pagination $pagination = elgg_view('navigation/pagination', array('base_url' => 'admin/users/unvalidated', 'offset' => $offset, 'count' => $count, 'limit' => $limit)); $bulk_actions_checkbox = '<label><input type="checkbox" id="uservalidationbyemail-checkall" />' . elgg_echo('uservalidationbyemail:check_all') . '</label>'; $validate = elgg_view('output/url', array('href' => 'action/uservalidationbyemail/validate/', 'text' => elgg_echo('uservalidationbyemail:admin:validate'), 'title' => elgg_echo('uservalidationbyemail:confirm_validate_checked'), 'class' => 'uservalidationbyemail-submit', 'is_action' => true, 'is_trusted' => true)); $resend_email = elgg_view('output/url', array('href' => 'action/uservalidationbyemail/resend_validation/', 'text' => elgg_echo('uservalidationbyemail:admin:resend_validation'), 'title' => elgg_echo('uservalidationbyemail:confirm_resend_validation_checked'), 'class' => 'uservalidationbyemail-submit', 'is_action' => true, 'is_trusted' => true));