function showResults($q, $page) { $profile = new Profile(); $search_engine = $profile->getSearchEngine('profile'); $search_engine->set_sort_mode('chron'); // Ask for an extra to see if there's more. $search_engine->limit(($page - 1) * PROFILES_PER_PAGE, PROFILES_PER_PAGE + 1); if (false === $search_engine->query($q)) { $cnt = 0; } else { $cnt = $profile->find(); } if ($cnt > 0) { $terms = preg_split('/[\\s,]+/', $q); $results = new PeopleSearchResults($profile, $terms, $this); $results->show(); $profile->free(); $this->pagination($page > 1, $cnt > PROFILES_PER_PAGE, $page, 'peoplesearch', array('q' => $q)); } else { // TRANS: Message on the "People search" page where a query has no results. $this->element('p', 'error', _('No results.')); $this->searchSuggestions($q); $profile->free(); } }
function updateUserUrls() { printfnq("Updating user URLs...\n"); // XXX: only update user URLs where out-of-date $qry = "SELECT * FROM profile order by id asc"; $pflQry = new Profile(); $pflQry->query($qry); $members = array(); while ($pflQry->fetch()) { $members[] = clone $pflQry; } $pflQry->free(); foreach ($members as $member) { $user = $member->getUser(); printfv("Updating user {$user->nickname}..."); try { $profile = $user->getProfile(); updateProfileUrl($profile); updateAvatarUrls($profile); // Broadcast for remote users common_broadcast_profile($profile); } catch (Exception $e) { printv("Error updating URLs: " . $e->getMessage()); } printfv("DONE."); } }
function showResults($q, $page) { $profile = new Profile(); // lcase it for comparison // $q = strtolower($q); $search_engine = $profile->getSearchEngine('identica_people'); $search_engine->set_sort_mode('chron'); // Ask for an extra to see if there's more. $search_engine->limit(($page - 1) * PROFILES_PER_PAGE, PROFILES_PER_PAGE + 1); if (false === $search_engine->query($q)) { $cnt = 0; } else { $cnt = $profile->find(); } if ($cnt > 0) { $terms = preg_split('/[\\s,]+/', $q); $results = new PeopleSearchResults($profile, $terms, $this); $results->show(); } else { $this->element('p', 'error', _('No results')); } $profile->free(); $this->pagination($page > 1, $cnt > PROFILES_PER_PAGE, $page, 'peoplesearch', array('q' => $q)); }
-g --group Nickname or alias of group to send email -G --group-id ID of group to send email -a --all Send email to all members END_OF_USERROLE_HELP; require_once INSTALLDIR . '/scripts/commandline.inc'; // Si tiene la opción all if (have_option('a', 'all')) { $qry = "SELECT * FROM profile order by id asc"; $pflQry = new Profile(); $pflQry->query($qry); $members = array(); while ($pflQry->fetch()) { $members[] = clone $pflQry; } $pflQry->free(); } else { if (have_option('i', 'id') || have_option('n', 'nickname')) { if (have_option('i', 'id')) { $id = get_option_value('i', 'id'); $profile = Profile::staticGet('id', $id); if (empty($profile)) { print "Can't find user with ID {$id}\n"; exit(1); } } else { if (have_option('n', 'nickname')) { $nickname = get_option_value('n', 'nickname'); $user = User::staticGet('nickname', $nickname); if (empty($user)) { print "Can't find user with nickname '{$nickname}'\n";
function showContent() { // XXX: Note I'm doing it this two-stage way because a raw query // with a JOIN was *not* working. --Zach $featured_nicks = common_config('nickname', 'featured'); if (count($featured_nicks) > 0) { $quoted = array(); foreach ($featured_nicks as $nick) { $quoted[] = "'{$nick}'"; } $user = new User(); $user->whereAdd(sprintf('nickname IN (%s)', implode(',', $quoted))); $user->limit(($this->page - 1) * PROFILES_PER_PAGE, PROFILES_PER_PAGE + 1); $user->orderBy(common_database_tablename('user') . '.nickname ASC'); $user->find(); $profile_ids = array(); while ($user->fetch()) { $profile_ids[] = $user->id; } $profile = new Profile(); $profile->whereAdd(sprintf('profile.id IN (%s)', implode(',', $profile_ids))); $profile->orderBy('nickname ASC'); $cnt = $profile->find(); if ($cnt > 0) { $featured = new ProfileList($profile, $this); $featured->show(); } $profile->free(); $this->pagination($this->page > 1, $cnt > PROFILES_PER_PAGE, $this->page, 'featured'); } }
/** * Function to check the permission related to the setting module data * @param string $current_file * @param integer $sqrecord * @return boolean */ public function action_permitted_settings($current_file, $sqrecord = '') { $retval = true; if (preg_match("#^group(.*)\$#i", $current_file) == 1 && (int) $sqrecord > 0) { $do_check = new Group(); $do_check->getId((int) $sqrecord); if ($do_check->getNumRows() == 0) { $retval = false; } $do_check->free(); } if (preg_match("#^profile(.*)\$#i", $current_file) == 1 && (int) $sqrecord > 0) { $do_check = new Profile(); $do_check->getId((int) $sqrecord); if ($do_check->getNumRows() == 0) { $retval = false; } else { if ($do_check->editable == 0 && ($current_file == 'profile_permissions' || $current_file == 'profile_details')) { $retval = false; } } $do_check->free(); } if (preg_match("#^roles(.*)\$#i", $current_file) == 1) { $idrole = ''; if ($_GET["parentrole"] != '') { $idrole = $_GET["parentrole"]; } elseif ($_GET["idrole"] != '') { $idrole = $_GET["idrole"]; } if ($idrole != '') { $do_check = new Roles(); $qry = "select * from `role` where idrole = :idrole"; $stmt = $do_check->getDbConnection()->prepare($qry); $stmt->bindValue(":idrole", $idrole); $stmt->execute(); if ($stmt->rowCount() == 0) { $retval = false; } else { $row = $stmt->fetch(); if ($row["editable"] == 0 && ($current_file == 'roles_edit' || $current_file == 'roles_detail')) { $retval = false; } } $do_check->free(); } } return $retval; }
function initGroupProfileId() { printfnq("Ensuring all User_group entries have a Profile and profile_id..."); $group = new User_group(); $group->whereAdd('NOT EXISTS (SELECT id FROM profile WHERE id = user_group.profile_id)'); $group->find(); while ($group->fetch()) { try { // We must create a new, incrementally assigned profile_id $profile = new Profile(); $profile->nickname = $group->nickname; $profile->fullname = $group->fullname; $profile->profileurl = $group->mainpage; $profile->homepage = $group->homepage; $profile->bio = $group->description; $profile->location = $group->location; $profile->created = $group->created; $profile->modified = $group->modified; $profile->query('BEGIN'); $id = $profile->insert(); if (empty($id)) { $profile->query('ROLLBACK'); throw new Exception('Profile insertion failed, profileurl: ' . $profile->profileurl); } $group->query("UPDATE user_group SET profile_id={$id} WHERE id={$group->id}"); $profile->query('COMMIT'); $profile->free(); } catch (Exception $e) { printfv("Error initializing Profile for group {$group->nickname}:" . $e->getMessage()); } } printfnq("DONE.\n"); }