public function createByName($name)
 {
     print_r('[' . $name . ']');
     $document = new Team();
     $document->setName($name);
     $document->setSlug();
     $document->save();
     $document = $this->findOneBySlug($document->getSlug());
     return $document;
 }
 protected function getOrCreateTeam($name, $nickname)
 {
     $nickname = trim($nickname);
     $name = trim(str_replace($nickname, '', $name));
     $slug = $this->CI->slugify->simple($name);
     $team = $this->CI->_team->findOneBySlug($slug);
     if (!$team) {
         $team = new Team();
         $team->setName($name);
         $team->setNickname($nickname);
         $team->save();
     }
     return $team;
 }
예제 #3
0
파일: Team.php 프로젝트: CarolinePaixao/SCI
 public static function getTeams()
 {
     $dados = Database::ReadAll("team t", "t.*");
     if (!$dados) {
         return '';
     }
     foreach ($dados as $dado) {
         $team = new Team();
         $team->setId($dado['ID_TEAM']);
         $team->setName($dado['NAME_TEAM']);
         $team->setStatus($dado['STATUS']);
         $calebe = Calebe::getCalebe("AND c.id_person = " . $dado['ID_LEADER']);
         $team->setLeader($calebe);
         $team->setMembers(Team::getMembersTeam($team->getId()));
         $teams[] = $team;
     }
     return $teams;
 }
예제 #4
0
 /**
  * Import gitolite.conf
  *
  */
 public function import()
 {
     $file = file($this->getGitLocalRepositoryPath() . DIRECTORY_SEPARATOR . self::GITOLITE_CONF_DIR . DIRECTORY_SEPARATOR . self::GITOLITE_CONF_FILE);
     foreach ($file as $line) {
         $line = trim($line);
         if ($line == '') {
             continue;
         }
         if (preg_match('/^[@]/', $line)) {
             $line_split = preg_split("/[=]+/", $line, 2);
             if (count($line_split) != 2) {
                 throw new \Exception('Invalid team def.');
             }
             $team_name = substr(trim($line_split[0]), 1);
             $team = new Team();
             $team->setName($team_name);
             $usr = preg_split("/[\\s\t]+/", trim($line_split[1]));
             foreach ($usr as $u) {
                 // is team
                 if (substr($u, 0, 1) == '@') {
                     $u = substr($u, 1);
                     if (!isset($this->teams[$u])) {
                         throw new \Exception('Undef team.');
                     }
                     $team->addTeam($this->teams[$u]);
                 } else {
                     if (isset($this->users[$u])) {
                         $team->addUser($this->users[$u]);
                     } else {
                         $user = new User();
                         $user->setUsername($u);
                         $key = $this->getGitLocalRepositoryPath() . DIRECTORY_SEPARATOR . self::GITOLITE_KEY_DIR . DIRECTORY_SEPARATOR . $user->renderKeyFileName();
                         if (file_exists($key)) {
                             $user->addKey(file_get_contents($key));
                         }
                         $this->users[$u] = $user;
                         $team->addUser($user);
                     }
                 }
             }
             $this->teams[$team_name] = $team;
         } elseif (preg_match('/^repo/', $line)) {
             $line_split = preg_split("/[\\s\t]+/", $line, 2);
             if (count($line_split) != 2) {
                 throw new \Exception('Invalid repository def.');
             }
             $repo = new Repo();
             $repo->setName(trim($line_split[1]));
         } elseif (preg_match('/^(R|RW|RW\\+|\\-|RWC|RW\\+C|RWD|RW\\+D|RWCD|RW\\+CD|RWDC|RW\\+DC)/', $line)) {
             $teams = array();
             $users = array();
             $line_split = preg_split("/[=]+/", $line, 2);
             if (count($line_split) != 2) {
                 throw new \FuelException('Invalid rule.');
             }
             $acl_split = preg_split("/[\\s\t]+/", trim($line_split[0]), 2);
             $refexes = isset($acl_split[1]) ? $acl_split[1] : false;
             $acl = new Acl();
             $acl->setPermission($acl_split[0]);
             if ($refexes) {
                 $acl->setRefexes($refexes);
             }
             $usr = preg_split("/[\\s\t]+/", trim($line_split[1]));
             foreach ($usr as $u) {
                 // is team
                 if (substr($u, 0, 1) == '@') {
                     $u = substr($u, 1);
                     if (!isset($this->teams[$u])) {
                         throw new \Exception('Undef. team');
                     }
                     $acl->addTeam($this->teams[$u]);
                 } else {
                     if (!isset($this->users[$u])) {
                         $this->users[$u] = new User();
                         $this->users[$u]->setUsername($u);
                         $key = $this->getGitLocalRepositoryPath() . DIRECTORY_SEPARATOR . self::GITOLITE_KEY_DIR . DIRECTORY_SEPARATOR . $this->users[$u]->renderKeyFileName();
                         if (file_exists($key)) {
                             $this->users[$u]->addKey(file_get_contents($key));
                         }
                     }
                     $acl->addUser($this->users[$u]);
                 }
             }
             $repo->addAcl($acl);
             $this->repos[$repo->getName()] = $repo;
         }
     }
 }
예제 #5
0
<?php 
require_once "Team.class.php";
$hjk = new Team("HJK", "http://www.hjk.fi/", "1907");
$haka = new Team("FC Haka", "http://www.fchaka.fi/", "1934");
$tre = new Team("Tampere United ry", "http://www.tampereunited.com/", "1998");
echo $hjk;
// Käytettään __toString-metodia
echo $haka;
echo $tre;
// Olio välitetään aina viittauksena
$tre_viitattu = $tre;
// Viittaus.
// Paitsi jos todella haluat luoda kloonaamalla uuden.
$tre_kloonattu = clone $tre;
$tre->setName("Tampereen yhdistyneet ry");
// Vaihtaa myös tre-viitattu-olion nimen
// Seuraava kommentoitu sijoitus ei ole sallittu:
// $tre->_name = "Tampereen yhdistyneet ry";
// ,koska protected-attribuuttia voi muuttaa vain luokan sisällä
// tai siitä perityissä aliluokissa:
echo "<big style='background-color: yellow;'>Viitattu:</big>";
echo $tre_viitattu;
// Tulostaa: Tampereen yhdistyneet ry
echo "<big style='background-color: yellow;'>Kloonattu:</big>";
echo $tre_kloonattu;
// Tulostaa: Tampere United ry
?>
</body>
</html>