本文整理汇总了PHP中Team::GetShortUrl方法的典型用法代码示例。如果您正苦于以下问题:PHP Team::GetShortUrl方法的具体用法?PHP Team::GetShortUrl怎么用?PHP Team::GetShortUrl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Team
的用法示例。
在下文中一共展示了Team::GetShortUrl方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: OnLoadPageData
public function OnLoadPageData()
{
# Read the player data if (a) it's not a new player and (b) it's not in the postback data
if ($this->player->GetId() and !$this->IsPostback()) {
$this->player_manager->ReadPlayerById($this->player->GetId());
$this->player = $this->player_manager->GetFirst();
}
unset($this->player_manager);
# ensure we have a player
if (!$this->player instanceof Player) {
$this->Redirect();
}
# if it's a new player, get the team details
if (!$this->player->GetId() or $this->add_player_already_exists) {
if (!$this->team instanceof Team) {
require_once "stoolball/team-manager.class.php";
$team_manager = new TeamManager($this->GetSettings(), $this->GetDataConnection());
$team_manager->ReadById(array($this->player->Team()->GetId()));
$this->team = $team_manager->GetFirst();
unset($team_manager);
}
$this->player->Team()->SetName($this->team->GetName());
$this->player->Team()->SetShortUrl($this->team->GetShortUrl());
}
# ensure we have permission
$this->CheckForPermission($this->player->Team());
}
示例2: SuggestShortUrl
/**
* Suggests a short URL to use to view the player
*
* @param int $i_preference
* @return string
*/
public function SuggestShortUrl($i_preference = 1)
{
$s_url = strtolower(html_entity_decode($this->GetName()));
# Remove punctuation, add dashes
$s_url = preg_replace('/[^a-z0-9- ]/i', '', $s_url);
$s_url = str_replace(' ', '-', $s_url);
$s_url = rtrim($s_url, "-");
# Add team as prefix
if ($this->team->GetShortUrl()) {
$s_url = $this->team->GetShortUrl() . "/" . $s_url;
}
# Apply preference
if ($i_preference > 1) {
$s_url = ShortUrl::SuggestShortUrl($s_url, $i_preference, 1, "-player", true);
}
return $s_url;
}
示例3: Delete
/**
* @access public
* @return void
* @param int[] $a_ids
* @desc Delete from the db the Teams matching the supplied ids
*/
public function Delete($a_ids)
{
# check parameter
$this->ValidateNumericArray($a_ids);
if (!count($a_ids)) {
throw new Exception('No teams to delete');
}
$s_ids = join(', ', $a_ids);
# Get more information on the teams
$teams = array();
$s_sql = "SELECT team_id, short_url, owner_role_id FROM nsa_team WHERE team_id IN ({$s_ids})";
$result = $this->GetDataConnection()->query($s_sql);
while ($row = $result->fetch()) {
$team = new Team($this->GetSettings());
$team->SetId($row->team_id);
$team->SetShortUrl($row->short_url);
$team->SetOwnerRoleId($row->owner_role_id);
$teams[] = $team;
}
$result->closeCursor();
# Check that current user is an admin or a team owner
require_once "authentication/authentication-manager.class.php";
$user = AuthenticationManager::GetUser();
foreach ($teams as $team) {
/* @var $team Team */
if (!$user->Permissions()->HasPermission(PermissionType::MANAGE_TEAMS, $team->GetLinkedDataUri())) {
throw new Exception("Unauthorised");
}
}
# delete owner role
$authentication_manager = new AuthenticationManager($this->GetSettings(), $this->GetDataConnection(), null);
foreach ($teams as $team) {
/* @var $team Team */
if ($team->GetOwnerRoleId()) {
$authentication_manager->DeleteRole($team->GetOwnerRoleId());
}
}
unset($authentication_manager);
# delete from short URL cache
require_once 'http/short-url-manager.class.php';
$o_url_manager = new ShortUrlManager($this->GetSettings(), $this->GetDataConnection());
foreach ($teams as $team) {
/* @var $team Team */
$o_url_manager->Delete($team->GetShortUrl());
}
unset($o_url_manager);
# Delete relationships to matches
$s_match_link = $this->GetSettings()->GetTable('MatchTeam');
$s_sql = 'DELETE FROM ' . $s_match_link . ' WHERE team_id IN (' . $s_ids . ') ';
$this->GetDataConnection()->query($s_sql);
# Delete relationships to competitions
$s_season_link = $this->GetSettings()->GetTable('TeamSeason');
$s_sql = 'DELETE FROM ' . $s_season_link . ' WHERE team_id IN (' . $s_ids . ') ';
$this->GetDataConnection()->query($s_sql);
# Delete players
require_once "player-manager.class.php";
$player_manager = new PlayerManager($this->GetSettings(), $this->GetDataConnection());
$player_manager->ReadPlayersInTeam($a_ids);
$players = $player_manager->GetItems();
if (count($players)) {
$player_ids = array();
foreach ($players as $player) {
$player_ids[] = $player->GetId();
}
$player_manager->Delete($player_ids);
}
unset($player_manager);
# delete team(s)
$s_sql = 'DELETE FROM nsa_team WHERE team_id IN (' . $s_ids . ') ';
$this->GetDataConnection()->query($s_sql);
return $this->GetDataConnection()->GetAffectedRows();
}