0) ? '( ' . $prefix . '_navPosition = "' . implode('" OR ' . $prefix . '_navPosition = "', $navPositions) . '" )' : ''; $str_filter .= ($onlyActive) ? ($str_filter === '') ? $prefix . '_navActive = "Y"' : ' AND ' . $prefix . '_navActive = "Y"' : ''; $str_filter = ($str_filter !== '') ? ' WHERE ' . $str_filter : ''; $navi = $db->query ( 'SELECT * FROM ' . $prefix . '_' . TBL_NAVI . $str_filter . ' ORDER BY ' . $prefix . '_navStart ASC , ' . $prefix . '_navSort ASC;' ); while ($dat_navi = $navi->fetch_assoc()) { if (!empty($namesFromConfig)) { $dat_navi[$prefix . '_navName'] = $namesFromConfig['site_' . $dat_navi[$prefix . '_navId']]; } $return[$dat_navi[$prefix . '_navStart']][] = $dat_navi; } return $return; } function fnc_getSingleNavigationArrays($prefix, $navArray, $params, $pathWay) { $i = 0; foreach ($params['navLevel'] as $key => $depth) { if ($params['navDepth'][$key]) { if (isset ($pathWay[$i]) && isset ($navArray[$pathWay[$i]])) { $return[$key][$pathWay[$i]] = $navArray[$pathWay[$i]]; ++$i; while ($i < $depth) { foreach ($return[$key] as $subArray) { foreach ($subArray as $navPoint) { if (isset ($navArray[$navPoint[$prefix . '_navId']])) { $return[$key][$navPoint[$prefix . '_navId']] = $navArray[$navPoint[$prefix . '_navId']]; } } } ++$i; } } else { if (!isset ($return[$key])) { $return[$key] = null; } } } else { /* Nur die aktuelle Unternavigation */ while ($i < $depth && isset ($pathWay [$i])) { if (isset ($navArray[$pathWay[$i]])) { $return[$key][$pathWay[$i]] = $navArray[$pathWay[$i]]; } else { if (!isset ($return[$key])) { $return[$key] = null; } } ++$i; } } } return $return; } function fnc_getPortalNavigationArray($prefix, $navArray, $rightsArray) { foreach ($navArray as $navStart => $navLevels) { if ($navStart > 0) { if (!in_array($prefix . '_' . $navStart, $rightsArray) && !in_array($navStart, $rightsArray)) { unset ($navArray[$navStart]); } } } foreach ($navArray as $key => $navLevels) { foreach ($navLevels as $subKey => $navPoint) { if (intval($navPoint[$prefix . '_navId']) > 1 && (!in_array($prefix . '_' . $navPoint[$prefix . '_navId'], $rightsArray)) && !in_array($navPoint[$prefix . '_navId'], $rightsArray)) { unset ($navArray[$key][$subKey]); } } } return ($navArray); } function fnc_createPathHome($prefix, $navActive) { global $db; $navi = $db->query ( 'SELECT * FROM ' . $prefix . '_' . TBL_NAVI . ' WHERE ' . $prefix . '_navId = "' . $navActive . '";' ); $arr_navi = $navi->fetch_assoc(); if ($arr_navi[$prefix . '_navStart'] !== '0' && !is_null($arr_navi)) { $return = fnc_createPathHome($prefix, $arr_navi[$prefix . '_navStart']); } else { $return[] = '0'; } $return[] = $navActive; return $return; } function fnc_getNavType($prefix, $navActive) { global $db; $navi = $db->query ( 'SELECT * FROM ' . $prefix . '_' . TBL_NAVI . ' WHERE ' . $prefix . '_navId = "' . $navActive . '";' ); $navPoint = $navi->fetch_assoc(); if ($navPoint[$prefix . '_specialSite'] === 'Y') { return $navPoint[$prefix . '_specialType']; } else { return false; } } function fnc_getUsernameById($userId) { global $db; $return = ''; $user = $db->query ( 'SELECT * FROM ' . TBL_USER . ' WHERE userId = "' . $userId . '";' ); if ($user->num_rows > 0) { $dat_user = $user->fetch_assoc(); $return = $dat_user['userLastname'] . ', ' . $dat_user['userFirstname']; } return $return; } function fnc_getTimeByTS($timeStamp) { $time = new DateTime ($timeStamp); return $time->format('d.m.Y - H:i:s'); } function fnc_generatePW($length = 8) { $passWord = ''; $pool = "qwertzupasdfghkyxcvbnm"; $pool .= "23456789"; $pool .= "WERTZUPLKJHGFDSAYXCVBNM"; $pool .= "!�$%&/()="; srand(( double )microtime() * 1000000); for ($i = 0; $i < $length; $i++) { $passWord .= substr($pool, (rand() % (strlen($pool))), 1); } return $passWord; } function fnc_generateUniqueUsername($lastName, $firstName) { global $db; $username = mb_strtolower(substr($firstName, 0, 1), 'UTF-8') . mb_strtolower($lastName, 'UTF-8'); $count = $db->query ( 'SELECT * FROM ' . TBL_USER . ' WHERE userUsername = "' . $username . '" OR userUsername LIKE "' . $username . '_%";' ); if ($count->num_rows !== 0) { $username .= '_' . $count->num_rows; } return $username; } function fnc_writeLog($entry, $params, $userId) { global $db; $db->query ( 'INSERT INTO ' . TBL_LOG . ' ( logEntry , logParams , logUser ) VALUES ( "' . $entry . '" , "' . implode('::', $params) . '" , "' . $userId . '" );' ); } function fnc_readLog($entry, $params) { if ($params !== '') { $arr_params = explode('::', $params); foreach ($arr_params as $key => $value) { $entry = str_replace('%' . $key . '%', $value, $entry); } } return $entry; } function fnc_sendEmailToUser($mailId, $userId, $sessionUserId) { global $db; global $vC; global $lang; $result = $db->query ( 'SELECT * FROM ' . TBL_USER . ' WHERE userId = "' . $userId . '" LIMIT 1;' ); $recipient = $result->fetch_assoc(); $result = $db->query ( 'SELECT * FROM ' . TBL_USER . ' WHERE userId = "' . $sessionUserId . '" LIMIT 1;' ); $sender = $result->fetch_assoc(); $mailSubj = $lang['mail']['subj'][$mailId]; $mailBody = $lang['mail']['body'][$mailId]; foreach ($recipient as $key => $value) { $mailBody = str_replace('%' . $key . '%', $value, $mailBody); } foreach ($sender as $key => $value) { $mailBody = str_replace('%sess_' . $key . '%', $value, $mailBody); } require_once(PATH_CLS . 'phpmailer/PHPMailerAutoload.php'); $mail = new PHPMailer; if ($vC['portal']['mail']['type'] === 'smtp') { $mail->isSMTP(); $mail->Host = $vC['portal']['mail']['smtpHost']; $mail->SMTPAuth = $vC['portal']['mail']['smtpAuth']; $mail->Username = $vC['portal']['mail']['smtpUser']; $mail->Password = $vC['portal']['mail']['smtpPass']; } $mail->From = $vC['portal']['mail']['from']; $mail->FromName = $vC['portal']['mail']['fromName']; $mail->ReturnPath = $vC['portal']['mail']['returnPath']; $mail->CharSet = $vC['portal']['mail']['charset']; $mail->addAddress($recipient['userEmail'], $recipient['userFirstname'] . ' ' . $recipient['userLastname']); $mail->isHTML($vC['portal']['mail']['html']); $mail->Subject = $mailSubj; $mail->Body = $mailBody; if (!$mail->send()) { $return = $mail->ErrorInfo; } else { $return = 'OK'; } return $return; } function fnc_validateEmailAddress($emailAddress) { if (filter_var($emailAddress, FILTER_VALIDATE_EMAIL) === false) { return false; } return true; } function fnc_checkUniqueEmailAddress($emailAddress, $userId = '') { global $db; $return = false; if ($userId !== '') { $count = $db->query ( 'SELECT * FROM ' . TBL_USER . ' WHERE userId != "' . $userId . '" AND userEmail = "' . $emailAddress . '";' ); } else { $count = $db->query ( 'SELECT * FROM ' . TBL_USER . ' WHERE userEmail = "' . $emailAddress . '";' ); } if ($count->num_rows === 0) { $return = true; } return $return; } function fnc_getSiteContents($contentParts, $prefix) { global $db; $return = array(); $siteContents = explode(';', $contentParts); foreach ($siteContents as $tmp_content) { if ($tmp_content === '') { continue; } $tmp_data = explode('_', $tmp_content); $id = end($tmp_data); unset ($tmp_data[count($tmp_data) - 1]); $table = implode('_', $tmp_data); if ($table === '') { continue; } if ($table === 'textimage') { $tmp_content = $db->query ( 'SELECT * , ' . $prefix . '_' . TBL_TEXTIMAGE . '.id AS text_image_id FROM ' . $prefix . '_' . TBL_TEXTIMAGE . ', ' . $prefix . '_' . TBL_TEXT . ', ' . $prefix . '_' . TBL_IMAGE . ' WHERE ' . $prefix . '_' . TBL_TEXTIMAGE . '.content_text_id = ' . $prefix . '_' . TBL_TEXT . '.id AND ' . $prefix . '_' . TBL_TEXTIMAGE . '.content_image_id = ' . $prefix . '_' . TBL_IMAGE . '.id and ' . $prefix . '_' . TBL_TEXTIMAGE . '.id = ' . $id . ' LIMIT 1;' ); } else { $tmp_content = $db->query ( 'SELECT * FROM ' . $prefix . '_content_' . $table . ' WHERE id = ' . $id . ';' ); } if ($tmp_content->num_rows === 0) { continue; } $singleContent = $tmp_content->fetch_assoc(); $singleContent['type'] = $table; $return[] = $singleContent; } return $return; }