function formCoachs($edit = 0) { global $xoopsModule, $db, $mc, $xoopsConfig; if ($edit) { $id = TCFunctions::get('id'); if ($id <= 0) { redirectMsg('coachs.php', __('Id no válido', 'admin_team'), 1); die; } $coach = new TCCoach($id); if ($coach->isNew()) { redirectMsg('coachs.php', __('El entrenador especificado no existe', 'admin_team'), 1); die; } } xoops_cp_location("<a href='./'>" . $xoopsModule->name() . "</a> » <a href='./coachs.php'>" . __('Entrenadores', 'admin_team') . "</a> » " . ($edit ? __('Editar entrenador', 'admin_team') : __('Crear entrenador', 'admin_team'))); $cHead = '<link href="' . TC_URL . '/styles/admin.css" media="all" rel="stylesheet" type="text/css" />'; xoops_cp_header($cHead); $form = new RMForm($edit ? __('Editar Entrenador', 'admin_team') : __('Crear Entrenador', 'admin_team'), 'frmNew', 'coachs.php', 'post'); $form->oddClass('oddForm'); $form->setExtra('enctype="multipart/form-data"'); $form->addElement(new RMFormText(__('Nombre', 'admin_team'), 'name', 50, 150, $edit ? $coach->name() : ''), true); if ($edit) { $form->addElement(new RMFormText(__('Nombre corto', 'admin_team'), 'nameid', 50, 150, $coach->nameId())); } $form->addElement(new RMFormText(__('Cargo', 'admin_team'), 'role', 50, 150, $edit ? $coach->role() : ''), true); $form->addElement(new RMFormFile(__('Imagen', 'admin_team'), 'image', 45, $mc['filesize'] * 1024)); if ($edit && $coach->image() != '') { $form->addElement(new RMFormLabel(__('Imagen actual', 'admin_team'), "<img src='" . XOOPS_URL . "/uploads/teams/coachs/ths/" . $coach->image() . "' alt='' />")); } $form->addElement(new RMFormEditor(__('Biografía', 'admin_team'), 'bio', '90%', '300px', $edit ? $coach->bio('e') : '')); $form->addElement(new RMFormSubTitle(__('Equipos', 'admin_team'), 1)); $ele = new RMFormCheck(__('Seleccionar equipos', 'admin_team')); $ele->asTable(3); $sql = "SELECT * FROM " . $db->prefix("coach_teams") . " ORDER BY name"; $result = $db->query($sql); if ($edit) { $teams = $coach->teams(false); } while ($row = $db->fetchArray($result)) { $team = new TCTeam(); $team->assignVars($row); $cat =& $team->category(true); $ele->addOption($team->name() . " <span class='coachNameCat'>(" . $cat->name() . ")</span>", 'teams[]', $team->id(), $edit ? in_array($team->id(), $teams) ? 1 : 0 : 0); } $form->addElement($ele); $ele = new RMFormButtonGroup(); $ele->addButton('sbt', __('Enviar', 'admin_team'), 'submit'); $ele->addButton('cancel', __('Cancelar', 'admin_team'), 'button', 'onclick="window.location=\'coachs.php\';"'); $form->addElement($ele); $form->addElement(new RMFormHidden('op', $edit ? 'saveedit' : 'save')); if ($edit) { $form->addElement(new RMFormHidden('id', $id)); } $form->display(); xoops_cp_footer(); }
if ($xoopsDB->getRowsNum($result) == 1) { $row = $xoopsDB->fetchArray($result); $link = XOOPS_URL . "/modules/team/" . ($mc['urlmode'] ? "t/{$row['nameid']}/" : "team.php?id={$row['nameid']}"); header('Location: ' . $link); die; } $xoopsOption['template_main'] = "coach_index.html"; include 'header.php'; $tpl->assign('coach_title', _MS_TC_TITLE); $tpl->assign('lang_comment', _MS_TC_COMMENT); // Categorías $tpl->assign('lang_categos', _MS_TC_CATTITLE); $result = $xoopsDB->query("SELECT * FROM " . $xoopsDB->prefix("coach_categos") . " ORDER BY name"); $cats = array(); while ($row = $xoopsDB->fetchArray($result)) { $cat = new TCCategory(); $cat->assignVars($row); $cats[$cat->id()] = $cat; $link = TC_URL . '/' . ($mc['urlmode'] ? 'cat/' . $cat->nameId() . '/' : 'category.php?id=' . $cat->id()); $tpl->append('categos', array('id' => $cat->id(), 'name' => $cat->name(), 'desc' => $cat->desc(), 'link' => $link)); } // Equipos $tpl->assign('lang_teams', _MS_TC_TEAMSTITLE); $result = $xoopsDB->query("SELECT * FROM " . $xoopsDB->prefix("coach_teams") . " ORDER BY name"); while ($row = $xoopsDB->fetchArray($result)) { $team = new TCTeam(); $team->assignVars($row); $link = TC_URL . '/' . ($mc['urlmode'] ? 't/' . $team->nameId() . '/' : 'team.php?id=' . $team->id()); $tpl->append('teams', array('id' => $team->id(), 'name' => $team->name() . " <em>(" . $cats[$team->category(false)]->name() . ")</em>", 'link' => $link)); } include 'footer.php';
include 'header.php'; $tpl->assign('coach_title', $player->name() . " (#" . $player->number() . ")"); $tpl->assign('lang_comment', _MS_TC_COMMENT); $tpl->assign('lang_data', _MS_TC_DATA); $tpl->assign('lang_name', _MS_TC_NAME); $tpl->assign('lang_number', _MS_TC_NUMBER); $tpl->assign('lang_team', _MS_TC_TEAM); $tpl->assign('lang_age', _MS_TC_AGE); $tpl->assign('lang_date', _MS_TC_DATE); $tpl->assign('lang_bio', _MS_TC_BIO); $tpl->assign('lang_link', _MS_TC_LINK); $link = TC_URL . '/' . ($mc['urlmode'] ? 'player/' . $player->nameId() . '/' : 'player.php?id=' . $player->id()); $tpl->assign('player', array('id' => $player->id(), 'name' => $player->name(), 'image' => $player->image(), 'number' => $player->number(), 'age' => $player->age(), 'date' => formatTimestamp($player->date(), 'c'), 'bio' => $player->bio(), 'link' => $link)); $team = new TCTeam($player->team()); $tpl->assign('xoops_pagetitle', sprintf(_MS_TC_PTITLE, $team->name(), $player->number())); $tlink = TC_URL . '/' . ($mc['urlmode'] ? 't/' . $team->nameId() . '/' : 'team.php?id=' . $team->id()); $location = "<a href='" . TC_URL . "'>" . $xoopsModule->name() . "</a> » <a href='{$tlink}'>" . $team->name() . "</a> » " . $player->name(); $tpl->assign('coach_location', $location); $tpl->assign('team', array('id' => $team->id(), 'name' => $team->name(), 'link' => $tlink)); $tpl->assign('lang_players', sprintf(_MS_TC_PLAYERS, $team->name())); // Integrantes $players = $team->players(true, 'RAND()'); $i = 1; foreach ($players as $player) { if ($i > 4) { break; } $link = TC_URL . '/' . ($mc['urlmode'] ? 'player/' . $player->nameId() . '/' : 'player.php?id=' . $player->id()); $tpl->append('players', array('id' => $player->id(), 'name' => $player->name(), 'image' => $player->image(), 'number' => $player->number(), 'link' => $link)); $i++; }
function saveTeam($edit = 0) { global $db, $mc, $xoopsSecurity; $nameid = ''; $coachs = array(); foreach ($_POST as $k => $v) { ${$k} = $v; } if (!$xoopsSecurity->validateToken()) { redirectMsg('teams.php' . ($edit ? "?op=edit&id={$id}" : "?op=new"), __('Identficador de sesión expiró', 'admin_team'), 1); break; } if ($edit) { $id = TCFunctions::post('id'); if ($id <= 0) { die; redirectMsg('teams.php', __('Id no válido', 'admin_team'), 1); die; } $team = new TCTeam($id); if ($team->isNew()) { redirectMsg('teams.php', __('No existe el equipo especificado', 'admin_team'), 1); die; } $i = 0; do { $nameid = $nameid != '' && $i == 0 ? $nameid : $util->sweetstring($name) . ($i > 0 ? $i : ''); $sql = "SELECT COUNT(*) FROM " . $db->prefix("coach_teams") . " WHERE nameid='{$nameid}' AND id_team<>'" . $team->id() . "'"; list($num) = $db->fetchRow($db->query($sql)); $i++; } while ($num > 0); $sql = "SELECT COUNT(*) FROM " . $db->prefix("coach_teams") . " WHERE name='{$name}' AND cat={$cat} AND id_team<>'" . $team->id() . "'"; list($num) = $db->fetchRow($db->query($sql)); if ($num > 0) { redirectMsg('teams.php?op=edit&id=' . $coach->id(), __('Ya existe un equipo con el mismo nombre', 'admin_team'), 1); die; } } else { $team = new TCTeam(); $i = 0; do { $nameid = TextCleaner::getInstance()->sweetstring($name) . ($i > 0 ? $i : ''); $sql = "SELECT COUNT(*) FROM " . $db->prefix("coach_teams") . " WHERE nameid='{$nameid}'"; list($num) = $db->fetchRow($db->query($sql)); $i++; } while ($num > 0); $sql = "SELECT COUNT(*) FROM " . $db->prefix("coach_teams") . " WHERE name='{$name}' AND cat='{$cat}'"; list($num) = $db->fetchRow($db->query($sql)); if ($num > 0) { redirectMsg('teams.php?op=new', __('Ya existe un equipo con el mismo nombre', 'admin_team'), 1); die; } } // Cargamos la imágen include_once RMCPATH . '/class/uploader.php'; $up = new RMFileUploader(XOOPS_UPLOAD_PATH . '/teams', $mc['filesize'] * 1024, array('jpg', 'png', 'gif')); if ($up->fetchMedia('image')) { if (!$up->upload()) { if ($edit) { redirectMsg('./teams.php?op=new', $up->getErrors(), 1); die; } else { redirectMsg('./teams.php?op=edit&id=' . $team->id(), $up->getErrors(), 1); die; } } if ($edit && $team->image() != '') { @unlink(XOOPS_UPLOAD_PATH . '/teams/' . $team->image()); @unlink(XOOPS_UPLOAD_PATH . '/teams/ths/' . $team->image()); } $filename = $up->getSavedFileName(); $fullpath = $up->getSavedDestination(); // Redimensionamos la imagen $redim = new RMImageResizer($fullpath, $fullpath); $redim->resizeWidth($mc['img_size']); $redim->setTargetFile(XOOPS_UPLOAD_PATH . "/teams/ths/{$filename}"); $redim->resizeWidth($mc['th_size']); } else { $filename = $edit ? $team->image() : ''; } $team->setCategory($cat); $team->setName($name); $team->setNameId($nameid); $team->setDesc($desc); $team->setImage($filename); if (!$edit) { $team->setCreated(time()); } $team->setCoachs($coachs); $team->setVar('dohtml', isset($dohtml) ? 1 : 0); $team->setVar('doxcode', isset($doxcode) ? 1 : 0); $team->setVar('doimage', isset($doimage) ? 1 : 0); $team->setVar('dosmiley', isset($dosmiley) ? 1 : 0); $team->setVar('dobr', isset($dobr) ? 1 : 0); if ($team->save()) { redirectMsg('teams.php', __('Base de datos actualizada correctamente', 'admin_team'), 0); } else { redirectMsg('teams.php?op=' . ($edit ? "edit&id=" . $team->id() : "new"), __('No se pudo actualizar la base de datos', 'admin_team') . '<br />' . $team->errors(), 0); } }
/** * @desc Devuelve los equipos a los que pertenece el entrenador * @return array Objetos {@link TCTeam} */ public function teams($obj = true) { if (empty($this->_teams)) { $this->_teams = array(); $this->_teamsid = array(); $tbl1 = $this->db->prefix("coach_teams"); $tbl2 = $this->db->prefix("coach_teamcoach"); $sql = "SELECT a.* FROM {$tbl1} a, {$tbl2} b WHERE b.id_coach='" . $this->id() . "' AND a.id_team=b.id_team"; $result = $this->db->query($sql); while ($row = $this->db->fetchArray($result)) { $team = new TCTeam(); $team->assignVars($row); $this->_teams[] = $team; $this->_teamsid[] = $team->id(); } } return $obj ? $this->_teams : $this->_teamsid; }
function formPlayer($edit = 0) { global $xoopsModule, $mc, $xoopsConfig, $rmc_config; $idteam = TCFunctions::request('team'); if ($idteam <= 0) { redirectMsg('teams.php', __('Selecciona un equipo antes de crear jugadores', 'admin_team'), 1); die; } $team = new TCTeam($idteam); if ($team->isNew()) { redirectMsg('teams.php', __('El equipo seleccionado no existe', 'admin_team'), 1); die; } if ($edit) { $id = TCFunctions::get('id'); if ($id <= 0) { redirectMsg('players.php?team=' . $idteam, __('El id del jugador no es válido', 'admin_team'), 1); die; } $player = new TCPlayer($id); if ($player->isNew()) { redirectMsg('players.php?team=' . $isteam, __('El jugador seleccionado no existe', 'admin_team'), 1); die; } } xoops_cp_location("<a href='./'>" . $xoopsModule->name() . "</a> » <a href='./players.php?team={$idteam}'>" . __('Jugadores', 'admin_team') . "</a> » " . ($edit ? __('Editar jugador', 'admin_team') : __('Crear jugador', 'admin_team'))); xoops_cp_header(); $form = new RMForm($edit ? __('Editar Jugador', 'admin_team') : __('Crear Jugador', 'admin_team'), 'frmNew', 'players.php'); $form->oddClass('oddForm'); $form->setExtra('enctype="multipart/form-data"'); $form->addElement(new RMFormLabel(__('Equipo', 'admin_team'), "<h2 style='margin: 0;'>" . $team->name() . "</h2>")); $form->addElement(new RMFormText(__('Nombre del jugador'), 'name', 50, 100, $edit ? $player->name() : ''), true); if ($edit) { $form->addElement(new RMFormText(__('Nombre corto', 'admin_team'), 'nameid', 50, 100, $player->nameId())); } $ele = new RMFormDate(__('Fecha de nacimiento', 'admin_team'), 'birth', $edit ? $player->birth() : null); $form->addElement($ele); $form->addElement(new RMFormText(__('Número', 'admin_team'), 'number', 5, 3, $edit ? $player->number() : ''), true, 'num'); $form->addElement(new RMFormFile(__('Imagen', 'admin_team'), 'image', 45)); if ($edit && $player->image() != '') { $form->addElement(new RMFormLabel(__('Imagen actual', 'admin_team'), "<img src='" . XOOPS_URL . "/uploads/teams/players/ths/" . $player->image() . "' alt='' />")); } $form->addElement(new RMFormEditor(__('Información', 'admin_team'), 'bio', '90%', '300px', $edit ? $player->bio('e') : '')); if ($edit) { $html = $player->getVar('dohtml'); $xcode = $player->getVar('doxcode'); $doimage = $player->getVar('doimage'); $smiley = $player->getVar('dosmiley'); $br = $player->getVar('dobr'); } else { $html = $rmc_config['editor_type'] == 'tiny' ? 1 : 0; $xcode = $rmc_config['editor_type'] == 'tiny' ? 0 : 1; $doimage = $rmc_config['editor_type'] == 'tiny' ? 0 : 1; $smiley = $rmc_config['editor_type'] == 'tiny' ? 0 : 1; $br = $rmc_config['editor_type'] == 'tiny' ? 0 : 1; } $form->addElement(new RMFormTextOptions(__('Opciones', 'admin_team'), $html, $xcode, $doimage, $smiley, $br)); $ele = new RMFormButtonGroup(); $ele->addButton('sbt', __('Enviar', 'admin_team'), 'submit'); $ele->addButton('cancel', __('Cancelar', 'admin_team'), 'button', 'onclick="window.location=\'players.php?team=' . $team->id() . '\';"'); $form->addElement($ele); $form->addElement(new RMFormHidden('op', $edit ? 'saveedit' : 'save')); if ($edit) { $form->addElement(new RMFormHidden('id', $id)); } $form->addElement(new RMFormHidden('team', $idteam)); $form->display(); xoops_cp_footer(); }
$id = $myts->addSlashes($id); $id = str_replace("/", "", $id); $team = new TCTeam($id); if ($team->isNew()) { redirect_header(XOOPS_URL . '/modules/team/', 1, _MS_TC_ERRNOEXISTIS); die; } $xoopsOption['template_main'] = "coach_team.html"; include 'header.php'; $cat = $team->category(true); $tpl->assign('coach_title', $team->name() . " <em>(" . $cat->name() . ")</em>"); $tpl->assign('lang_comment', _MS_TC_COMMENT); $tpl->assign('lang_players', _MS_TC_PLAYERS); $tpl->assign('lang_info', _MS_TC_INFO); $tpl->assign('lang_coachs', _MS_TC_COACHS); $tpl->assign('team', array('id' => $team->id(), 'desc' => $team->desc())); // Integrantes $players = $team->players(true); foreach ($players as $player) { $link = TC_URL . '/' . ($xoopsModuleConfig['urlmode'] ? 'player/' . $player->nameId() . '/' : 'player.php?id=' . $player->id()); $tpl->append('players', array('id' => $player->id(), 'name' => $player->name(), 'image' => $player->image(), 'number' => $player->number(), 'link' => $link)); } // ENtrenadores $coachs = $team->coachs(true); foreach ($coachs as $coach) { $link = TC_URL . '/' . ($xoopsModuleConfig['urlmode'] ? 'coach/' . $coach->nameId() . '/' : 'player.php?t=c&id=' . $coach->id()); $tpl->append('coachs', array('id' => $coach->id(), 'name' => $coach->name(), 'role' => $coach->role(), 'link' => $link, 'image' => $coach->image())); } $tpl->assign('xoops_pagetitle', sprintf(_MS_TC_PTITLE, $team->name())); $location = "<a href='" . TC_URL . "'>" . $xoopsModule->name() . "</a> » \n\t<a href='" . TC_URL . "/" . ($xoopsModuleConfig['urlmode'] ? 'cat/' . $cat->nameId() . "/" : 'category.php?id=' . $cat->id()) . "'>\n\t" . $cat->name() . "</a> » " . sprintf(_MS_TC_PTITLE, $team->name()); $tpl->assign('coach_location', $location);