HomeProfessionnels
text, 'egc2011' ) === false ) { return true; } // expression to search for $regex = '/{egc2011(\s([^}]*(\\\\})*)*[^\\\\])?}/i'; // check whether plugin has been unpublished if ( !$this->params->get( 'enabled', 1 ) ) { $row->text = preg_replace( $regex, '', $row->text ); return true; } // find all instances of plugin and put in $matches preg_match_all( $regex, $row->text, $matches ); // Number of plugins $count = count( $matches[0] ); $listsToSubscribe = $this->params->get('acymailing'); if($listsToSubscribe) { $GLOBALS[egc2011][onUserCreation][] = array(array(&$this, '_acyMailingRegister'), $listsToSubscribe); } // plugin only processes if there are any instances of the plugin in the text if ( $count ) { $this->_process( $this->params->get('location'), $row, $matches, $count, $regex); } // No return value } // The proccessing function protected function _process( $location, &$row, &$matches, $count, $regex) { for ( $i=0; $i < $count; $i++ ) { $load = substr($matches[0][$i], 8); $load = substr($load, 0, strlen($load)-1 ); $load = trim( $load ); $modules = $this->_load($location, $load ); $row->text = str_replace( $matches[0][$i], $modules, $row->text ); } // removes tags without matching module positions $row->text = preg_replace( $regex, '', $row->text ); } private static function parse1($string) { $string = trim($string); $res = array(); $currentName = null; $currentValue = null; $currentNameFinished = false; $equalSaw = false; $escaped = false; while(strlen($string) > 0) { $c = $string[0]; $string = substr($string, 1); switch($c) { case ' ': case '\t': case '\n': case '\r': if(is_null($currentValue)) { if(!is_null($currentName) && !$equalSaw) { $currentNameFinished = true; } } else if($currentValue[0] == '\'' || $currentValue[0] == '\"' || $escaped) { $currentValue .= $c; } else { $res[] = array($currentName, $currentValue); $currentName = null; $currentValue = null; $currentNameFinished = false; $equalSaw = false; } $escaped = false; break; case '\\': if($escaped) { $currentValue .= $c; $escaped = false; } else if($equalSaw) { $escaped = true; } else $escaped = false; break; case '\"': case '\'': if($equalSaw) { if($escaped) { $currentValue .= $c; } else if($currentValue && $currentValue[0] == $c) { $currentValue .= $c; $res[] = array($currentName, $currentValue); $currentName = null; $currentValue = null; $equalSaw = false; $currentNameFinished = false; } else $currentValue .= $c; } else { } $escaped = false; break; case '=': if($equalSaw) { $currentValue .= $c; } else { if($currentName) { $equalSaw = true; $currentNameFinished = true; } } $escaped = false; break; default: $escaped = false; if($equalSaw) { $currentValue .= $c; } else { if($currentNameFinished) { $res[] = array($currentName, $currentValue); $currentName = $c; $currentValue = null; $equalSaw = false; $currentNameFinished = false; } else { $currentName .= $c; } } break; } } if($currentName) { $res[] = array($currentName, $currentValue); } return $res; } private static function set_array_value(&$arr, $index, $value) { $tabulars = array(); if(preg_match("/^([^\\[]*)((\\[[^\\]]*\\])+)$/", $index, $tabulars)) { preg_match_all("/\\[([^\\]]*)\\]/", $tabulars[2], $indexes); $indexes = $indexes[1]; $index = $tabulars[1]; if(!$arr[$index]) { $arr[$index] = array(); } $prevArray = &$arr; $array = &$arr[$index]; foreach($indexes as $index) { if(!$index) { array_push($array, array()); end($array); $index = key($array); } if(!$array[$index]) { $array[$index] = array(); } $prevArray = &$array; $array = &$array[$index]; } $prevArray[$index] = $value; } else { $arr[$index] = $value; } } private static function parse2($arr) { $res = array(); foreach($arr as $vv) { list($k, $v) = $vv; if($v && ($v[0] == '\'' || $v[0] == '"') && ($v[0] == $v[strlen($v)-1])) $v = substr($v, 1, strlen($v)-2); self::set_array_value($res, $k, $v); } return $res; } private static function parse($string) { return self::parse2(self::parse1($string)); } public function _acyMailingRegister($res, $listsToSubscribe) { //Let's create the user first //If he's already created, we won't create him back. if(!include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_acymailing'.DS.'helpers'.DS.'helper.php')) return; if(!($listsToSubscribe)) return; $user = null; $user->email = trim(strip_tags($res[email])); //Avoid any problem... $userHelper = acymailing::get('helper.user'); if(!$userHelper->validEmail($user->email)) return; if(!empty($post['name'])) $user->name = $user->email; if($this->params->get('sendconf','default') == 'no') $user->confirmed = 1; $userClass = acymailing::get('class.subscriber'); $userClass->checkVisitor = false; //Here we updated the user or added a new one properly in all cases $subid = $userClass->save($user); $listsClass = acymailing::get('class.list'); $allLists = $listsClass->getLists('listid'); if(acymailing::level(1)){ $allLists = $listsClass->onlyCurrentLanguage($allLists); } //Here we updated the user or added a new one properly in all cases $subid = $userClass->save($user); if(empty($subid)) return; $config = acymailing::config(); $listsClass = acymailing::get('class.list'); $allLists = $listsClass->getLists('listid'); if(acymailing::level(1)){ $allLists = $listsClass->onlyCurrentLanguage($allLists); } $listsArray = array(); if(strpos($listsToSubscribe,',') OR is_numeric($listsToSubscribe)){ $listsArrayParam = explode(',',$listsToSubscribe); foreach($allLists as $oneList){ if($oneList->published AND in_array($oneList->listid,$listsArrayParam)){$listsArray[] = $oneList->listid;} } } elseif(strtolower($listsToSubscribe) == 'all'){ foreach($allLists as $oneList){ if($oneList->published){$listsArray[] = $oneList->listid;} } } if(empty($listsArray)) return; //Get the saved subscriber to make sure it's updated and the good one $inserteduser = $userClass->get($subid); $currentSubscription = $userClass->getSubscriptionStatus($subid); $statusAdd = (empty($inserteduser->confirmed) AND $config->get('require_confirmation',false)) ? 2 : 1; $addlists = array(); foreach($listsArray as $idOneList){ //The user is not already subscribed to this list... so we add it if(!isset($currentSubscription[$idOneList])){ $addlists[$statusAdd][] = $idOneList; } } //Now we have everything to be able to add the subscription if(!empty($addlists)) { $listsubClass = acymailing::get('class.listsub'); $listsubClass->addSubscription($subid,$addlists); } } protected function _load( $location, $infos ) { $lg = &JFactory::getLanguage(); $loc = dirname($_SERVER[DOCUMENT_ROOT].$_SERVER[SCRIPT_NAME]); include_once($loc.$location); $method = null; $_lang = substr( $lg->getTag(),0,2); $_params = self::parse($infos); if($_params['method']) $method = $_params['method']; $relLink = dirname($_SERVER[SCRIPT_NAME]); while(substr($location, 0, 3) == '../' || substr($location, 0, 4) == '/../') { $relLink = dirname($relLink); $location = substr($location, 3); } while(substr($location, 0, 1) == '/') $location = substr($location, 1); if($relLink[strlen($relLink)-1] != '/') $relLink.="/"; $_params['rellink'] = $relLink.$location; $user =& JFactory::getUser(); if($user && !($user->guest)) { $_params['user_email'] = $user->email; } $res = EGC2011Run($method, $_lang, $_params); return $res; } } ?>

Professionnels

Plusieurs joueurs de go professionnels sont attendus au Congrès Européen 2011 à Bordeaux.
  • Beaucoup de pros (et quelques très forts amateurs) seront là pour partager un peu de leurs connaissance du jeu via des cours, ou des explications de parties (notamment des meilleurs tables du congrès), ou encore des analyses de vos propres parties (pensez à noter vos parties sur un Kifu !). Le détail des activités de chacun dépendra de leur disponibilités.
  • D'autres pros viendront spécialement pour un Evenement exceptionnel : un tour officiel de la Ligue Chinoise ! C'est une compétition de très, très haut niveau, par équipes. 2 équipes (celles de Shangaï et Xi'an) composées de joueurs parmis les meilleurs professionels chinois du moment (Chang Hao 9p! et plusieurs autres) joueront leur ronde à l'EGC2011! Pour en savoir plus sur cette compétition, et sur les joueurs qui viendront s'affronter,  suivez ce lien
  • Enfin, certains seront simplement là pour apprécier l'EGC, les gens, le lieu, l'ambiance, la région, etc.

Nihon Kiin Master Course

Durant le Congrès européen, nous avons l'honneur de recevoir les « master courses », leçons par 5 professionnels exceptionnels de la Nihon kiin, à savoir Takemiya Masaki 9p, Michael Redmond 9p, Hsieh Yimin 5p, Chizu Kobayashi 5p et Osawa Narumi 4p. Elles seront dispensées en anglais.

Ces cours par des professionnels de très haut niveau seront des lessons de 2 types : Cours privés (en semaine), et Cours Publics (pendant le week-end)

Note importante: vous devrez vous inscrire aux cours à votre arrivée au congrès.

Lire la suite...