本文整理汇总了PHP中mklink函数的典型用法代码示例。如果您正苦于以下问题:PHP mklink函数的具体用法?PHP mklink怎么用?PHP mklink使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了mklink函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: misc_productsfeed
function misc_productsfeed()
{
global $set, $db, $apx;
$apx->tmpl->loaddesign('blank');
header('Content-type: application/rss+xml');
$apx->lang->drop('types', 'products');
$type = $_REQUEST['type'];
$alltypes = array('normal', 'game', 'software', 'hardware', 'music', 'movie', 'book');
if (!in_array($type, $alltypes)) {
$type = '';
}
$data = $db->fetch("SELECT * FROM " . PRE . "_products WHERE active='1' " . iif($type, " AND type='" . $type . "'") . " ORDER BY addtime DESC LIMIT 20");
if (count($data)) {
foreach ($data as $res) {
++$i;
//Link
$link = mklink('products.php?id=' . $res['id'], 'products,id' . $res['id'] . urlformat($res['title']) . '.html');
$tabledata[$i]['ID'] = $res['id'];
$tabledata[$i]['TITLE'] = rss_replace($res['title']);
$tabledata[$i]['TIME'] = date('r', $res['starttime']);
//Kein TIMEDIFF weil Zeitverschiebung mit angegeben!
$tabledata[$i]['TEXT'] = rss_replace(preg_replace('#{IMAGE\\(([0-9]+)\\)}#s', '', $res['text']));
$tabledata[$i]['TYPE'] = $res['type'];
$tabledata[$i]['LINK'] = HTTP_HOST . $link;
}
}
$apx->tmpl->assign('WEBSITENAME', $set['main']['websitename']);
$apx->tmpl->assign('PRODUCT', $tabledata);
$apx->tmpl->parse('rss', 'products');
}
示例2: search_gallery
function search_gallery($items, $conn)
{
global $set, $db, $apx, $user;
require_once BASEDIR . getmodulepath('gallery') . 'functions.php';
//Suchstring generieren
$tagmatches = gallery_match_tags($items);
foreach ($items as $item) {
$tagmatch = array_shift($tagmatches);
$search1[] = "caption LIKE '" . addslashes_like($item) . "'";
$search2[] = " ( " . iif($tagmatch, " id IN (" . implode(',', $tagmatch) . ") OR ") . " title LIKE '%" . addslashes_like($item) . "%' OR description LIKE '%" . addslashes_like($item) . "%' ) ";
}
$searchstring1 = implode($conn, $search1);
$searchstring2 = implode($conn, $search2);
//Bilder durchsuchen
$data = $db->fetch("SELECT galid FROM " . PRE . "_gallery_pics WHERE ( active='1' AND ( " . $searchstring1 . " ) ) GROUP BY galid");
$galids = get_ids($data, 'galid');
if (count($galids)) {
$picres = " id IN (" . @implode(',', $galids) . ") OR ";
}
//Ergebnisse
$data = $db->fetch("SELECT id,title FROM " . PRE . "_gallery WHERE ( searchable='1' AND '" . time() . "' BETWEEN starttime AND endtime " . section_filter() . " AND ( " . $picres . " ( " . $searchstring2 . " ) ) ) ORDER BY title ASC");
if (count($data)) {
foreach ($data as $res) {
++$i;
$result[$i]['TITLE'] = strip_tags($res['title']);
$result[$i]['LINK'] = mklink('gallery.php?id=' . $res['id'], 'gallery,list' . $res['id'] . ',1' . urlformat($res['title']) . '.html');
}
}
return $result;
}
示例3: user_loginbox
function user_loginbox()
{
global $set, $apx, $db, $user;
$tmpl = new tengine();
$apx->lang->drop('func_loginbox', 'user');
if (!$user->info['userid']) {
$tmpl->assign('POSTTO', mklink('user.php', 'user.html'));
}
$tmpl->parse('functions/loginbox', 'user');
}
示例4: createTeamData
function createTeamData($res, $parse)
{
global $apx, $db, $set, $user;
$userdata = array();
if ($res['birthday']) {
$bd = explode('-', $res['birthday']);
$birthday = intval($bd[0]) . '. ' . getcalmonth($bd[1]) . iif($bd[2], ' ' . $bd[2]);
if ($bd[2]) {
$age = date('Y') - $bd[2];
if (intval(sprintf('%02d%02d', $bd[1], $bd[0])) > intval(date('md'))) {
$age -= 1;
}
}
}
$userdata['ID'] = $res['userid'];
$userdata['USERID'] = $res['userid'];
$userdata['NAME'] = replace($res['username']);
$userdata['USERNAME'] = replace($res['username']);
$userdata['GROUPID'] = $res['groupid'];
$userdata['EMAIL'] = replace(iif(!$res['pub_hidemail'], $res['email']));
$userdata['EMAIL_ENCRYPTED'] = replace(iif(!$res['pub_hidemail'], cryptMail($res['email'])));
$userdata['ONLINE'] = iif(!$res['pub_invisible'] && $res['lastactive'] + $set['user']['timeout'] * 60 >= time(), 1, 0);
$userdata['ISONLINE'] = $userdata['ONLINE'];
$userdata['REALNAME'] = replace($res['realname']);
$userdata['GENDER'] = $res['gender'];
$userdata['CITY'] = replace($res['city']);
$userdata['PLZ'] = replace($res['plz']);
$userdata['COUNTRY'] = $res['country'];
$userdata['REGTIME'] = $res['reg_time'];
$userdata['REGDAYS'] = floor((time() - $res['reg_time']) / (24 * 3600));
$userdata['LASTACTIVE'] = $res['lastactive'];
$userdata['AVATAR'] = $user->mkavatar($res);
$userdata['AVATAR_TITLE'] = $user->mkavtitle($res);
$userdata['BIRTHDAY'] = $birthday;
$userdata['AGE'] = $age;
if (in_array($varname . '.ISBUDDY', $parse)) {
$userdata['ISBUDDY'] = $user->is_buddy($res['userid']);
}
//Custom-Felder
for ($ii = 1; $ii <= 10; $ii++) {
$userdata['CUSTOM' . $ii . '_NAME'] = $set['user']['cusfield_names'][$ii - 1];
$userdata['CUSTOM' . $ii] = compatible_hsc($res['custom' . $ii]);
}
//Interaktions-Links
if ($user->info['userid']) {
$userdata['LINK_SENDPM'] = mklink('user.php?action=newpm&touser=' . $res['userid'], 'user,newpm,' . $res['userid'] . '.html');
$userdata['LINK_SENDEMAIL'] = mklink('user.php?action=newmail&touser=' . $res['userid'], 'user,newmail,' . $res['userid'] . '.html');
if (in_array($varname . '.LINK_BUDDY', $parse) && !$user->is_buddy($res['userid'])) {
$userdata['LINK_BUDDY'] = mklink('user.php?action=addbuddy&id=' . $res['userid'], 'user,addbuddy,' . $res['userid'] . '.html');
}
}
return $userdata;
}
示例5: glossar_highlight
function glossar_highlight($text, $module = false, $ignore = false)
{
global $apx, $db, $set;
static $highlights;
$ignore = (int) $ignore;
if (!$set['glossar']['highlight'] || !$text) {
return $text;
}
$apx->lang->drop('highlights', 'glossar');
$classname_word = 'glossar_highlight';
$classname_title = 'glossar_info_title';
$classname_text = 'glossar_info_text';
$classname_readmore = 'glossar_info_readmore';
//Daten auslesen
if (!isset($highlights)) {
$highlights = array();
$data = $db->fetch("SELECT id,title,spelling,text FROM " . PRE . "_glossar WHERE starttime!=0" . iif($ignore, " AND id!='" . $ignore . "'"));
if (count($data)) {
foreach ($data as $res) {
$words = array();
if ($res['spelling']) {
$words = explode(',', strtolower($res['spelling']));
}
$words[] = strtolower($res['title']);
$words = array_unique(array_map('trim', $words));
$link = mklink('glossar.php?id=' . $res['id'], 'glossar,id' . $res['id'] . urlformat($res['title']) . '.html');
$content = '<div class="' . $classname_title . '"><a href="' . $link . '">' . $res['title'] . '</a></div><div class="' . $classname_text . '">' . shorttext($res['text'], 200) . '</div><div class="' . $classname_readmore . '"><a href="' . $link . '">' . $apx->lang->get('READMORE') . '</a></div>';
$content = strtr(compatible_hsc($content), array("\n" => ' ', "\r" => '', '\'' => '\\\'', '\\' => '\\\\'));
$highlights[] = array('words' => $words, 'content' => $content);
}
}
}
//Text nach Highlights durchsuchen
$lowertext = strtolower($text);
foreach ($highlights as $element) {
$words = $element['words'];
foreach ($words as $wkey => $word) {
if (strpos($lowertext, strtolower($word)) === false) {
unset($words[$wkey]);
}
}
if (!count($words)) {
continue;
}
$words = array_map('preg_quote', $words);
$searchfor = implode('|', $words);
$hover = 'Tip(\'' . $element['content'] . '\')';
$text = preg_replace('#((<[^>]*)|($|[\\s<>,.:;_!-])(' . $searchfor . ')([\\s<>,.:;_!-]|$))#ie', '"\\2"=="\\1" ? glossar_stripslashes("\\1") : glossar_stripslashes("\\3")."<span class=\\"' . $classname_word . '\\" onmouseover=\\"' . strtr($hover, array('\\' => '\\\\')) . '\\">".glossar_stripslashes("\\4")."</span>".glossar_stripslashes("\\5")', $text);
//$text=preg_replace('#((<[^>]*)|('.$searchfor.'))#ie', '"\2"=="\1" ? glossar_stripslashes("\1") : "<span class=\"'.$classname_word.'\" onmouseover=\"'.$hover.'\">".glossar_stripslashes("\3")."</span>"', $text);
}
return $text;
}
示例6: main_nav
function main_nav()
{
global $pstart_args, $login;
$ret = "";
$ret .= "<div id='nav'>\n";
$ret .= " <div id='nav-inner'>\n";
$ret .= "<ul class='nav'>\n";
$ret .= sprintf("<li>%s</li>\n", mklink("home", "/"));
$ret .= "</ul>\n";
$ret .= "<div style='clear:both'></div>\n";
$ret .= " </div>\n";
$ret .= "</div>\n";
return $ret;
}
示例7: search_poll
function search_poll($items, $conn)
{
global $set, $db, $apx, $user;
require_once BASEDIR . getmodulepath('poll') . 'functions.php';
$tagmatches = poll_match_tags($items);
foreach ($items as $item) {
$tagmatch = array_shift($tagmatches);
$query = " ( " . iif($tagmatch, " id IN (" . implode(',', $tagmatch) . ") OR ") . " question LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a1 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a2 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a3 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a4 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a5 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a6 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a7 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a8 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a9 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a10 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a11 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a12 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a13 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a14 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a15 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a16 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a17 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a18 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a19 LIKE '%" . addslashes_like($item) . "%'";
$query .= " OR a20 LIKE '%" . addslashes_like($item) . "%' )";
$search[] = $query;
}
$searchstring = implode($conn, $search);
//Aktuelle Umfrage
require_once BASEDIR . getmodulepath('poll') . 'functions.php';
$recent = poll_recent();
//Ergebnisse
$data = $db->fetch("SELECT id,question FROM " . PRE . "_poll WHERE ( searchable='1' AND '" . time() . "' BETWEEN starttime AND endtime " . section_filter() . " AND ( " . $searchstring . " ) ) ORDER BY starttime DESC");
if (count($data)) {
foreach ($data as $res) {
++$i;
if ($res['id'] == $recent) {
$link = mklink('poll.php?recent=1', 'poll,recent.html');
} else {
$link = mklink('poll.php?id=' . $res['id'], 'poll,' . $res['id'] . '.html');
}
$result[$i]['TITLE'] = strip_tags($res['question']);
$result[$i]['LINK'] = $link;
}
}
return $result;
}
示例8: misc_articlesfeed
function misc_articlesfeed()
{
global $set, $db, $apx;
$apx->tmpl->loaddesign('blank');
header('Content-type: application/rss+xml');
//Verwendete Variablen
$parse = $apx->tmpl->used_vars('rss', 'articles');
//Baum holen, wenn nur eine bestimmte Kategorie gezeigt werden soll
$cattree = articles_tree($_REQUEST['catid']);
$data = $db->fetch("SELECT a.id,a.type,a.catid,a.title,a.subtitle,a.teaser,a.starttime,a.top,b.username,b.email,b.pub_hidemail FROM " . PRE . "_articles AS a LEFT JOIN " . PRE . "_user AS b USING (userid) WHERE ( " . time() . " BETWEEN starttime AND endtime " . iif(count($cattree), "AND catid IN (" . @implode(',', $cattree) . ")") . " " . section_filter() . " ) ORDER BY starttime DESC LIMIT 20");
//Kategorien auslesen
$catinfo = articles_catinfo(get_ids($data, 'catid'));
if (count($data)) {
foreach ($data as $res) {
++$i;
//Wohin soll verlinkt werden?
if ($res['type'] == 'normal') {
$link2file = 'articles';
} else {
$link2file = $res['type'] . 's';
}
//Link
$link = mklink($link2file . '.php?id=' . $res['id'], $link2file . ',id' . $res['id'] . ',0' . urlformat($res['title']) . '.html');
//Text: Teaser oder Artikelseite
if ($res['teaser'] && $set['articles']['teaser']) {
$text = $res['teaser'];
} else {
list($text) = $db->first("SELECT text FROM " . PRE . "_articles_pages WHERE artid='" . $res['id'] . "' ORDER BY ord ASC LIMIT 1");
$text = $text;
}
$tabledata[$i]['ID'] = $res['id'];
$tabledata[$i]['TITLE'] = rss_replace($res['title']);
$tabledata[$i]['SUBTITLE'] = rss_replace($res['subtitle']);
$tabledata[$i]['TIME'] = date('r', $res['starttime']);
//Kein TIMEDIFF weil Zeitverschiebung mit angegeben!
$tabledata[$i]['TEXT'] = rss_replace(preg_replace('#{IMAGE\\(([0-9]+)\\)}#s', '', $text));
$tabledata[$i]['CATTITLE'] = rss_replace($catinfo[$res['catid']]['title']);
$tabledata[$i]['LINK'] = HTTP_HOST . $link;
$tabledata[$i]['USERNAME'] = replace($res['username']);
$tabledata[$i]['EMAIL'] = replace(iif(!$res['pub_hidemail'], $res['email']));
$tabledata[$i]['EMAIL_ENCRYPTED'] = replace(iif(!$res['pub_hidemail'], cryptMail($res['email'])));
$tabledata[$i]['TOP'] = $res['top'];
}
}
$apx->tmpl->assign('WEBSITENAME', $set['main']['websitename']);
$apx->tmpl->assign('ARTICLE', $tabledata);
$apx->tmpl->parse('rss', 'articles');
}
示例9: init
function init()
{
global $set, $db, $apx;
//Login über Cookies
if ($_COOKIE[$set['forum_cookiename_userid']] && $_COOKIE[$set['forum_cookiename_password']]) {
$forumdb = $this->getForumConn();
$userid = $_COOKIE[$set['forum_cookiename_userid']];
$password = $_COOKIE[$set['forum_cookiename_password']];
$this->info = $forumdb->first("\n\t\t\tSELECT \n\t\t\tuserid,username,email,2 AS groupid, 'Benutzer' AS name, 'public' AS gtype, 'all' AS section_access\n\t\t\tFROM " . VBPRE . "user\n\t\t\tWHERE userid='" . intval($userid) . "' AND MD5(CONCAT(password,'" . addslashes($set['forum_cookie_salt']) . "'))='" . addslashes($password) . "' AND usergroupid!=3\n\t\t\tLIMIT 1\n\t\t", 1);
//Invalide Benutzerdaten => Logout erzwingen
if (!$set['forum_invalidlogin_ignore'] && (!$this->info['userid'] || !$this->info['active']) && $apx->module() != 'user' && $_REQUEST['action'] != 'logout') {
$link = mklink('user.php?action=logout', 'user,logout.html');
header('location:' . $link);
exit;
}
//Autologin im Forum
if ($set['forum_autologin'] && !$_COOKIE[$set['forum_cookiename_session']]) {
$this->createForumSession($userid);
}
$this->info['buddies'] = $this->get_buddies();
$this->update_lastonline();
} elseif ($_COOKIE[$set['forum_cookiename_session']]) {
$forumdb = $this->getForumConn();
$session = $_COOKIE[$set['forum_cookiename_session']];
$idhash = $this->getIdHash();
list($userid) = $forumdb->first("SELECT userid FROM " . VBPRE . "session WHERE sessionhash='" . addslashes($session) . "' AND idhash='" . $idhash . "'");
//Invalide Benutzerdaten => Logout erzwingen
if (!$userid && !$set['forum_invalidlogin_ignore']) {
$link = mklink('user.php?action=logout', 'user,logout.html');
header('location:' . $link);
exit;
}
//Benutzerinfo auslesen
$this->info = $forumdb->first("\n\t\t\tSELECT \n\t\t\tuserid,username,email,2 AS groupid, 'Benutzer' AS name, 'public' AS gtype, 'all' AS section_access\n\t\t\tFROM " . VBPRE . "user\n\t\t\tWHERE userid='" . intval($userid) . "' AND usergroupid!=3\n\t\t\tLIMIT 1\n\t\t", 1);
//Invalide Benutzerdaten => Logout erzwingen
if (!$set['forum_invalidlogin_ignore'] && (!$this->info['userid'] || !$this->info['active']) && $apx->module() != 'user' && $_REQUEST['action'] != 'logout') {
$link = mklink('user.php?action=logout', 'user,logout.html');
header('location:' . $link);
exit;
}
} else {
$this->info = $db->first("SELECT * FROM " . PRE . "_user_groups WHERE groupid='3' LIMIT 1", 1);
$this->info['buddies'] = array();
}
$apx->lang->langid($this->info['pub_lang']);
$this->update_onlinelist();
}
示例10: section_check
function section_check($id)
{
global $user;
if ($user->info['section_access'] == 'all') {
$secacc = 'all';
} else {
$secacc = unserialize($user->info['section_access']);
if (!is_array($secacc)) {
$secacc = array();
}
}
//Beschränkung durch Benutzergruppe
if ($secacc != 'all' && !in_array($id, $secacc) && $id != $this->section_default) {
$this->lang->init();
//Sprachpaket ist noch nicht initialisiert!
$indexpage = mklink('index.php', 'index.html', $this->section_default);
message($this->sections[$id]['msg_noaccess'], $indexpage);
}
}
示例11: search_faq
function search_faq($items, $conn)
{
global $set, $db, $apx, $user;
//Suchstring generieren
foreach ($items as $item) {
$search[] = " ( question LIKE '%" . addslashes_like($item) . "%' OR answer LIKE '%" . addslashes_like($item) . "%' ) ";
}
$searchstring = implode($conn, $search);
//Ergebnisse
$data = $db->fetch("SELECT id,question FROM " . PRE . "_faq WHERE ( searchable='1' AND starttime!='0' AND ( " . $searchstring . " ) ) ORDER BY starttime DESC");
if (count($data)) {
foreach ($data as $res) {
++$i;
$link = mklink('faq.php?id=' . $res['id'], 'faq,' . $res['id'] . urlformat($res['question']) . '.html');
$result[$i]['TITLE'] = strip_tags($res['question']);
$result[$i]['LINK'] = $link;
}
}
return $result;
}
示例12: links_path
function links_path($id)
{
global $set, $db, $apx, $user;
$id = (int) $id;
if (!$id) {
return array();
}
require_once BASEDIR . 'lib/class.recursivetree.php';
$tree = new RecursiveTree(PRE . '_links_cat', 'id');
$data = $tree->getPathTo(array('title'), $id);
if (!count($data)) {
return array();
}
foreach ($data as $res) {
++$i;
$pathdata[$i]['TITLE'] = $res['title'];
$pathdata[$i]['LINK'] = mklink('links.php?catid=' . $res['id'], 'links,' . $res['id'] . ',1' . urlformat($res['title']) . '.html');
}
return $pathdata;
}
示例13: search_videos
function search_videos($items, $conn)
{
global $set, $db, $apx, $user;
require_once BASEDIR . getmodulepath('videos') . 'functions.php';
//Suchstring generieren
$tagmatches = videos_match_tags($items);
foreach ($items as $item) {
$tagmatch = array_shift($tagmatches);
$search[] = " ( " . iif($tagmatch, " id IN (" . implode(',', $tagmatch) . ") OR ") . " title LIKE '%" . addslashes_like($item) . "%' OR text LIKE '%" . addslashes_like($item) . "%' ) ";
}
$searchstring = implode($conn, $search);
//Videos durchsuchen
$data = $db->fetch("SELECT id,title FROM " . PRE . "_videos WHERE ( searchable='1' AND '" . time() . "' BETWEEN starttime AND endtime " . section_filter() . " AND ( " . $searchstring . " ) ) ORDER BY addtime DESC");
if (count($data)) {
foreach ($data as $res) {
++$i;
$result[$i]['TITLE'] = $res['title'];
$result[$i]['LINK'] = mklink('videos.php?id=' . $res['id'], 'videos,id' . $res['id'] . urlformat($res['title']) . '.html');
}
}
return $result;
}
示例14: search_glossar
function search_glossar($items, $conn)
{
global $set, $db, $apx, $user;
require_once BASEDIR . getmodulepath('glossar') . 'functions.php';
//Suchstring generieren
$tagmatches = glossar_match_tags($items);
foreach ($items as $item) {
$tagmatch = array_shift($tagmatches);
$search[] = " ( " . iif($tagmatch, " id IN (" . implode(',', $tagmatch) . ") OR ") . " title LIKE '%" . addslashes_like($item) . "%' OR text LIKE '%" . addslashes_like($item) . "%' ) ";
}
$searchstring = implode($conn, $search);
//Ergebnisse
$data = $db->fetch("SELECT id,title FROM " . PRE . "_glossar WHERE ( searchable='1' AND starttime!='0' AND ( " . $searchstring . " ) ) ORDER BY title ASC");
if (count($data)) {
foreach ($data as $res) {
++$i;
$result[$i]['TITLE'] = strip_tags($res['title']);
$result[$i]['LINK'] = mklink('glossar.php?id=' . $res['id'], 'glossar,id' . $res['id'] . urlformat($res['title']) . '.html');
}
}
return $result;
}
示例15: search_content
function search_content($items, $conn)
{
global $set, $db, $apx, $user;
//Suchstring generieren
foreach ($items as $item) {
$search[] = " ( title LIKE '%" . addslashes_like($item) . "%' OR text LIKE '%" . addslashes_like($item) . "%' ) ";
}
$searchstring = implode($conn, $search);
//Ergebnisse
$data = $db->fetch("SELECT id,title FROM " . PRE . "_content WHERE ( searchable='1' AND active='1' " . section_filter() . " AND ( " . $searchstring . " ) ) ORDER BY title ASC");
if (count($data)) {
foreach ($data as $res) {
++$i;
$temp = explode('->', $res['title']);
$title = array_pop($temp);
$link = mklink('content.php?id=' . $res['id'], 'content,' . $res['id'] . urlformat($title) . '.html');
$result[$i]['TITLE'] = strip_tags($title);
$result[$i]['LINK'] = $link;
}
}
return $result;
}