public function embed_player($skin = "", $username = "", $tape = "") { if (!$this->ion_auth->username_check($username)) { $this->data['tape'] = NULL; $this->data['tape_status'] = "The embedded mixtape no longer exists."; } else { $this->data['username'] = $username; //cached DB call $user = $this->cache->model('User_model', 'get_user_info', array($username), 1800); //$user = $this->User_model->get_user_info($username); $sqlWhere = array('mixtapes.user_id' => $user->id, 'mixtapes.tape_url' => $tape); $tape = $this->cache->model('Mixtape_model', 'get_mixtapes', array($sqlWhere), 1800); if (!$tape) { $this->data['tape'] = NULL; $this->data['tape_status'] = "The embedded mixtape no longer exists."; } else { $tape = $tape[0]; $this->data['tape'] = $tape; $this->load->helper('status'); $this->data['tape_status'] = status_message('mixtape', $tape->status); $this->data['user'] = $user; $meta_description = $tape->tape_description === '' ? htmlspecialchars($tape->tape_title . ' mixtape, by ' . $tape->tape_artist, ENT_QUOTES) : htmlspecialchars($tape->tape_description, ENT_QUOTES); $this->data['meta_name'] = array('description' => html_entity_decode('Steam/Download ' . $meta_description), 'twitter:card' => 'player', 'twitter:domain' => base_url(), 'twitter:site' => $this->lang->line('meta_twitter'), 'twitter:title' => htmlspecialchars($tape->tape_artist . ' - ' . $tape->tape_title, ENT_QUOTES), 'twitter:description' => htmlspecialchars($meta_description, ENT_QUOTES), 'twitter:image' => tape_img($tape->username, $tape->tape_url, $tape->tape_image), 'twitter:player' => base_url('embed/mixtape/1/' . $username . '/' . $tape->tape_url), 'twitter:player:width' => '480', 'twitter:player:height' => '300', 'twitter:creator' => '@hiphopvip1'); $this->data['meta_prop'] = array('og:title' => htmlspecialchars('Listen and Download ' . $tape->tape_artist . ' - ' . $tape->tape_title, ENT_QUOTES), 'og:url' => base_url('mixtape/' . $username . '/' . $tape->tape_url), 'og:image' => tape_img($tape->username, $tape->tape_url, $tape->tape_image), 'og:site_name' => 'hiphopVIP', 'og:description' => htmlspecialchars($meta_description, ENT_QUOTES)); $this->data['playlist'] = $this->getPlaylistData($tape->id); $this->data['vendorCSS'] = array('apm/skin/hhvip.css', 'apm/skin/jquery-ui-slider.custom.css', 'social/social-likes_flat.css', 'forms.css'); $this->data['vendorJS'] = array('apm/lib/jquery-ui-slider-1.10.4.custom.min.js', 'apm/lib/modernizr-2.5.3-custom.min.js', 'apm/lib/soundmanager2-jsmin.js', 'apm/apmplayer.js', 'apm/apmplayer_ui.jquery.js', 'social-likes/social-likes.min.js'); } // song exists } //user exists $this->_render('mixtapes/embed_player', $renderData = 'EMBED', $this->data); }
$userdata .= "\$sql_root[0]['user']='******'\\") . "';\n"; $userdata .= "\$sql_root[0]['password']='******'\\") . "';\n"; $userdata .= '?>'; //we test now if we can store the userdata.inc.php in ../lib if ($fp = @fopen('../lib/userdata.inc.php', 'w')) { $result = @fputs($fp, $userdata, strlen($userdata)); @fclose($fp); status_message('green', $lng['install']['creating_configfile_succ']); chmod('../lib/userdata.inc.php', 0440); } elseif ($fp = @fopen('/tmp/userdata.inc.php', 'w')) { $result = @fputs($fp, $userdata, strlen($userdata)); @fclose($fp); status_message('orange', $lng['install']['creating_configfile_temp']); chmod('/tmp/userdata.inc.php', 0440); } else { status_message('red', $lng['install']['creating_configfile_failed']); echo "\t\t<tr>\n\t\t\t<td class=\"main_field_name\"><p>" . nl2br(htmlspecialchars($userdata)) . "</p></td>\n\t\t</tr>\n"; } ?> <tr> <td class="main_field_display" align="center"> <?php echo $lng['install']['syscp_succ_installed']; ?> <br /> <a href="../index.php"><?php echo $lng['install']['click_here_to_login']; ?> </a> </td> </tr>
public function main($username = "", $song_title = "") { $song = $this->cache->model('Song_model', 'get_song_where', array(array('username' => $username, 'song_url' => $song_title)), 300); if (!$song) { $checkSong = $this->Song_model->getUpdatedUrl(array('old_url' => $song_title, 'users.username' => $username)); if ($checkSong) { redirect('song/' . $username . '/' . $checkSong->current_url, '301'); } else { redirect('songs/error', 'refresh'); } } $this->load->helper('status'); $this->data['song_status'] = status_message('song', $song->status); $this->data['song'] = $song; $this->data['username'] = $username; $song_artist_full = $song->song_artist; if (!empty($song->featuring)) { $song_artist_full .= ' Feat. ' . $song->featuring; } $meta_download = $song->can_download === 'yes' || !empty($song->buy_link) ? 'Stream & Download ' : 'Listen to '; $meta_description = empty($song->song_description) ? $meta_download . htmlspecialchars($song->song_title, ENT_QUOTES) . ' by ' . $song_artist_full : htmlspecialchars($song->song_description, ENT_QUOTES); if ($song->external_source == 'soundcloud') { $this->data['mp3Source'] = 'http://api.soundcloud.com/tracks/' . $song->external_file . '/stream?consumer_key=' . $this->config->item('soundcloud_client_id'); } else { $this->data['mp3Source'] = getSignedURL($this->config->item('cloudfront_music') . '/tracks/' . $username . '/' . $song->file_name, '1800'); } $this->data['twitter_via'] = !empty($song->twitter_handle) ? 'data-via="' . $song->twitter_handle . '"' : NULL; $this->data['meta_name'] = array('description' => htmlspecialchars($meta_description, ENT_QUOTES), 'twitter:card' => 'player', 'twitter:site' => '@hiphopvip1', 'twitter:title' => htmlspecialchars($song->song_artist, ENT_QUOTES) . ' - ' . htmlspecialchars($song->song_title, ENT_QUOTES), 'twitter:description' => htmlspecialchars($song->song_description, ENT_QUOTES), 'twitter:image' => song_img($song->username, $song->song_url, $song->song_image), 'twitter:player' => $this->config->item('secure_base_url') . '/embed/song/' . $username . '/' . $song->song_url, 'twitter:player:width' => '480', 'twitter:player:height' => '100', 'twitter:player:stream' => $this->data['mp3Source'], 'twitter:player:stream:content_type' => 'audio/mp3'); $this->data['meta_prop'] = array('og:title' => $meta_download . htmlspecialchars($song_artist_full . ' - ' . $song->song_title, ENT_QUOTES), 'og:url' => base_url('song/' . $username . '/' . $song->song_url), 'og:image' => song_img($song->username, $song->song_url, $song->song_image), 'og:site_name' => 'hiphopVIP', 'og:description' => htmlspecialchars($meta_description, ENT_QUOTES)); /* - display latest tracks if we cannot find songs by artist - */ $recentLimit = 10; $userRecentWhere = array('status' => 'published', 'song_url !=' => $song->song_url); $userRecentTracks = $this->cache->model('Song_model', 'search', array($userRecentWhere, $song->song_artist, $recentLimit, 0, 'song_id DESC'), 1800); $userRecentCount = count($userRecentTracks); $this->data['recent_count'] = $userRecentCount; if ($userRecentCount < 5) { $latestWhere = array('status' => 'published', 'song_url !=' => $song->song_url); $latestTracks = $this->cache->model('Song_model', 'get_songs_where', array($latestWhere, $recentLimit, 'song_id DESC'), 1800); $this->data['more_tracks'] = $latestTracks; $this->data['more_tracks_title'] = 'Other Songs You Might Like'; $this->data['start_a_playlist'] = FALSE; } else { $this->data['start_a_playlist'] = TRUE; $this->data['more_tracks'] = $userRecentTracks; $this->data['more_tracks_title'] = 'More Songs From ' . $song->song_artist; } /* VOTING BUTTONS, COLOR THEM WHEN LOGGED IN */ if ($this->ion_auth->logged_in()) { $voteIds = array(); foreach ($this->data['more_tracks'] as $key => $s) { $voteIds[] = $s->song_id; } $votes = $this->Vote_model->get_where_in('vote_song_id,vote_rating', $voteIds, $this->ion_auth->user()->row()->id); $this->data['userVotes'] = json_encode($votes); } else { $this->data['userVotes'] = ""; } /* - END display latest tracks - */ $nextSongSQL = array('song_id >' => $song->song_id, 'status' => 'published'); $nextSong = $this->cache->model('Song_model', 'get_songs_where', array($nextSongSQL, "1", "song_id ASC"), 1800); $prevSongSQL = array('song_id <' => $song->song_id, 'status' => 'published'); $prevSong = $this->cache->model('Song_model', 'get_songs_where', array($prevSongSQL, "1", "song_id DESC"), 1800); //get next and previous songs if ($nextSong) { foreach ($nextSong as $ns) { $this->data['nextSong'] = $ns; } } else { $this->data['nextSong'] = null; } if ($prevSong) { foreach ($prevSong as $ps) { $this->data['prevSong'] = $ps; } } else { $this->data['prevSong'] = NULL; } if ($this->ion_auth->logged_in()) { $this->data['favorite'] = $this->Social_model->get_favorite(array('song_id' => $song->song_id, 'user_id' => $this->ion_auth->user()->row()->id)) ? TRUE : FALSE; $this->load->model('Playlist_model'); $this->data['user_playlists'] = $this->Playlist_model->get(array('playlists.user_id' => $this->ion_auth->user()->row()->id), 'id DESC'); } $this->data['promoted'] = $this->cache->library('sorting', 'get_list', array('songs', 'promoted', 5)); $this->data['featuring'] = !empty($song->featuring) ? '<span style="display:block"><span style="font-weight:bold">Featuring: </span> ' . htmlspecialchars($song->featuring, ENT_QUOTES) . '</span>' : NULL; $this->data['producer'] = !empty($song->song_producer) ? '<span style="display:block"><span style="font-weight:bold">Producer: </span> ' . htmlspecialchars($song->song_producer, ENT_QUOTES) . '</span>' : NULL; $this->data['album'] = !empty($song->album) ? '<span style="display:block"><span style="font-weight:bold">Album: </span> ' . htmlspecialchars($song->album, ENT_QUOTES) . '</span>' : NULL; $this->data['releaseDate'] = date('m/d/Y', $song->published_date); $this->data['description'] = !empty($song->song_description) ? htmlspecialchars($song->song_description, ENT_QUOTES) : NULL; $this->data['visibility'] = $this->ion_auth->logged_in() && $this->ion_auth->user()->row()->username == $this->uri->segment(2) || $this->ion_auth->is_admin() ? '<span style="display:block"><span style="font-weight:bold">Visibility: </span>' . ucfirst($song->visibility) . '</span>' : NULL; $this->data['songArtist'] = htmlspecialchars($song->song_artist, ENT_QUOTES); $this->data['songTitle'] = htmlspecialchars($song->song_title, ENT_QUOTES); $this->data['featured_nav'] = $song->featured === 'yes' ? TRUE : FALSE; $this->data['promoted_nav'] = $song->promoted === 'yes' ? TRUE : FALSE; $this->data['copyright_status'] = $song->status === 'copyright' ? TRUE : FALSE; $this->data['coreJS'] = array('lists.js'); $this->data['vendorCSS'] = array('apm/skin/hhvip.css', 'apm/skin/jquery-ui-slider.custom.css', 'social-likes/social-likes_classic.css'); $this->data['vendorJS'] = array('apm/lib/jquery-ui-slider-1.10.4.custom.min.js', 'apm/lib/modernizr-2.5.3-custom.min.js', 'apm/lib/soundmanager2-jsmin.js', 'apm/apmplayer.js', 'apm/apmplayer_ui.jquery.js', 'social-likes/social-likes.min.js'); $this->data['title'] = $meta_download . $song->song_artist . ' - ' . $song->song_title . ' on ' . SITE_TITLE; $this->data['title'] = htmlspecialchars($this->data['title'], ENT_QUOTES); $this->_render('player/main', $this->data); }
/** * main artist playlist EMBED player page * @param string $skin - not currently used, can be used to set custom skins/themes * @param string $username * @param string $url */ public function artist_embed_player($skin = "", $artist) { $this->load->helper('status_helper'); $artist = str_replace('%20', ' ', $this->uri->segment(5)); $songs = $this->cache->model('Song_model', 'search', array(array('songs.status' => 'published'), $artist, 150, 0, 'songs.song_id DESC', 'EXCLUDE_DESCRIPTION'), 300); if (!$artist || empty($songs)) { $this->data['tape'] = NULL; $this->data['tape_status'] = "The embedded playlist no longer exists."; } else { foreach ($songs as $key => $song) { if ($song->external_source == 'soundcloud') { $http_file_path = 'http://api.soundcloud.com/tracks/' . $song->external_file . '/stream?consumer_key=' . $this->config->item('soundcloud_client_id'); } else { $http_file_path = getSignedURL($this->config->item('cloudfront_music') . '/tracks/' . $song->username . '/' . $song->file_name, '84000'); } $producer = !empty($song->song_producer) ? ' (Prod. ' . htmlspecialchars($song->song_producer, ENT_QUOTES) . ')' : NULL; $featuring = !empty($song->featuring) ? ' (Feat. ' . htmlspecialchars($song->featuring, ENT_QUOTES) . ') ' : NULL; $song_data[] = array('identifier' => $song->song_id, 'type' => 'audio', 'host' => $song->song_id, 'title' => htmlspecialchars($song->song_title, ENT_QUOTES), 'artist' => htmlspecialchars($song->song_artist, ENT_QUOTES), 'program' => $featuring . $producer, 'image_lg' => song_img($song->username, $song->song_url, $song->song_image, 300), 'image_sm' => $song->file_name, 'url' => base_url('song/' . $song->username . '/' . $song->song_url), 'external_url' => $song->external_url, 'http_file_path' => $http_file_path); } $this->data['tracks'] = json_encode($song_data, JSON_UNESCAPED_SLASHES); $this->data['artist'] = $artist; $this->data['artist_url'] = $this->uri->segment(5); $this->data['tape_status'] = status_message('playlist', 'published'); $this->data['vendorCSS'] = array('apm/skin/hhvip.css', 'apm/skin/jquery-ui-slider.custom.css', 'social/social-likes_flat.css', 'forms.css'); $this->data['vendorJS'] = array('apm/lib/jquery-ui-slider-1.10.4.custom.min.js', 'apm/lib/modernizr-2.5.3-custom.min.js', 'apm/lib/soundmanager2-jsmin.js', 'apm/apmplayer.js', 'apm/apmplayer_ui.jquery.js', 'social-likes/social-likes.min.js'); } // playlist exists $this->_render('playlist/artist/artist_embed_player', $renderData = 'EMBED', $this->data); }
$lectures[$lecture['feed_id']] = 1; } $was_empty = empty($lectures); // Kurse aus POST, die es bisher nicht gibt, erstellen foreach (array_keys($_POST['lecture']) as $lecture) { if (!isset($lectures[$lecture])) { $database->exec('INSERT INTO user_feeds (user_id, feed_id) VALUES (' . user()->id . ',' . intval($lecture) . ');'); } else { unset($lectures[$lecture]); } } // Kurse aus der Datenbank, die es nicht mehr gibt, killen if ($lectures) { $database->exec('DELETE FROM user_feeds WHERE user_id = ' . user()->id . ' AND feed_id IN (' . implode(',', array_keys($lectures)) . ')'); } status_message("Deine Kurse wurden erfolgreich gespeichert."); // Zur Startseite, falls das der erste Aufruf war. if ($was_empty) { gotop("index.php"); } } // }}} gotop('index.php?q=feeds'); } ?> <div id="content"> <h2>Kurse auswählen</h2> <p>Bitte wähle die Kurse aus, die Du abbonieren möchtest.</p> <form class="feeds" method="post" action="index.php?q=feeds"> <table id="kurse"> <tr><th> </th><th>Kurs</th><th>Zettel</th><th> </th></tr>
function requirement_checks() { global $lng; page_header(); ?> <article class="install bradius"> <header class="dark"> <img src="../images/Froxlor/logo.png" alt="Froxlor Server Management Panel" /> </header> <section class="installsec"> <h2>Requirements</h2> <table class="noborder"> <?php $_die = false; // check for correct php version status_message('begin', $lng['install']['phpversion']); if (version_compare("5.2.0", PHP_VERSION, ">=")) { status_message('red', $lng['install']['notinstalled']); $_die = true; } else { status_message('green', 'OK'); } // Check if magic_quotes_runtime is active status_message('begin', $lng['install']['phpmagic_quotes_runtime']); if (get_magic_quotes_runtime()) { // Deactivate set_magic_quotes_runtime(false); status_message('orange', $lng['install']['active'] . '<br />' . $lng['install']['phpmagic_quotes_runtime_description']); } else { status_message('green', 'OK'); } // check for mysql-extension status_message('begin', $lng['install']['phpmysql']); if (!extension_loaded('mysql') && !extension_loaded('mysqlnd')) { status_message('red', $lng['install']['notinstalled']); $_die = true; } else { status_message('green', 'OK'); } // check for xml-extension status_message('begin', $lng['install']['phpxml']); if (!extension_loaded('xml')) { status_message('red', $lng['install']['notinstalled']); $_die = true; } else { status_message('green', 'OK'); } // check for filter-extension status_message('begin', $lng['install']['phpfilter']); if (!extension_loaded('filter')) { status_message('red', $lng['install']['notinstalled']); $_die = true; } else { status_message('green', 'OK'); } // check for posix-extension status_message('begin', $lng['install']['phpposix']); if (!extension_loaded('posix')) { status_message('red', $lng['install']['notinstalled']); $_die = true; } else { status_message('green', 'OK'); } // check for bcmath extension status_message('begin', $lng['install']['phpbcmath']); if (!extension_loaded('bcmath')) { status_message('orange', $lng['install']['notinstalled'] . '<br />' . $lng['install']['bcmathdescription']); } else { status_message('green', 'OK'); } // check for open_basedir status_message('begin', $lng['install']['openbasedir']); $php_ob = @ini_get("open_basedir"); if (!empty($php_ob) && $php_ob != '') { status_message('orange', $lng['install']['openbasedirenabled']); } else { status_message('green', 'OK'); } ?> </table> <?php if ($_die) { ?> <p style="padding-left:15px;"> <strong><?php echo $lng['install']['diedbecauseofrequirements']; ?> </strong> </p> <p class="submit"> <a href="install.php"><?php echo $lng['install']['click_here_to_refresh']; ?> </a> </p> <?php } else { ?> <p style="padding-left:15px;"> <strong><?php echo $lng['install']['froxlor_succ_checks']; ?> </strong> </p> <p class="submit"> <a href="install.php?check=1"><?php echo $lng['install']['click_here_to_continue']; ?> </a> </p> <?php } ?> </section> </article> <?php page_footer(); }
echo '<li><a data-id="' . $course['feed_id'] . '" data-title="' . htmlspecialchars($course['title']) . '" href="' . htmlspecialchars($course['url']) . '">' . htmlspecialchars($descs[$course['feed_id']]) . ': ' . htmlspecialchars($course['title']) . '</a></li>'; } ?> </ul> </div> <?php if (user()->level >= 1) { if (isset($_GET['delsug'])) { $uid = $database->query('SELECT user_id FROM suggestions WHERE id = ' . intval($_GET['delsug']))->fetchColumn(); if ($uid) { if ($_GET['response']) { status_message('Es gibt eine Rückfrage zu Deinem vorgeschlagenen Kurs:<br/>' . htmlspecialchars($_GET['response']), $uid); } else { status_message('Deine vorgeschlagenen Kurse wurden von uns eingestellt! Du kannst sie nun abbonieren.', $uid); } } $database->query('DELETE FROM suggestions WHERE id = ' . intval($_GET['delsug'])); gotop("index.php"); } $suggestions = $database->query('SELECT * FROM suggestions')->fetchAll(); if ($suggestions) { ?> <h3>Vorschläge</h3> <p>Hier findest Du Vorschläge anderer Benutzer für neue Kurse</p> <ul> <?php foreach ($suggestions as $suggestion) { echo '<li>' . nl2br(htmlspecialchars($suggestion['text'])) . ' (<a class="confirm resolve_sug" href="index.php?delsug=' . $suggestion['id'] . '">Erledigt</a>)</li>'; }
} } if ($errPass == $errName && $errName == "") { // Benutzer erstellen $user = user(); $user->name = $name; if ($is_ldap_account) { $user->flags = USER_FLAG_IS_LDAP_ACCOUNT; } else { $salt = base_convert(rand(0, 36 * 36 - 1), 10, 36); $passSha = sha1($salt . $pass); $user->pass = $passSha; $user->salt = $salt; } user_save(); status_message('Dein Benutzer wurde angelegt. Willkommen beim Übungszetteldienst!'); // Kein Autologin beim ersten Anmelden $_SESSION['logged_in'] = true; $_SESSION['login'] = $user; gotop('index.php'); } } if ($_POST['action'] == 'Anmelden') { // Benutzer einloggen $user = user_load_authenticate($name, $pass); if (!$user) { $errPass = '******'; } else { // Autologin-Cookie anlegen $autologin = sha1($user->salt . $secure_token . time() . $user->id . $_SERVER['REMOTE_ADDR']); $token = sha1($autologin . '-' . microtime() . '-' . rand());
user()->flags |= USER_FLAG_IS_LDAP_ACCOUNT; user()->pass = ''; user()->salt = ''; user_save(); $database->query('DELETE FROM user_autologin WHERE user_id = ' . user()->id); session_destroy(); session_start(); status_message("Dein Account ist jetzt mit dem LDAP-Server verknüpft."); gotop("index.php"); } else { status_message("Dein LDAP-Kennwort war nicht korrekt, oder Du hast keinen LDAP-Account"); } gotop("index.php?q=acc"); } } elseif (!empty($_POST)) { status_message("Dein altes Kennwort war nicht korrekt."); gotop("index.php?q=acc"); } ?> <div id="content"> <h2>Mein Account</h2> <form method="post" action="index.php?q=acc"> <fieldset> <legend>Kennwort bestätigen</legend> <p>Für alle Änderungen hier musst Du zunächst Dein altes Kennwort bestätigen.</p> <label><span>Altes Kennwort</span><input type="password" name="old_pass"></label> </fieldset> <fieldset> <legend>Kennwort ändern</legend> <?php if ((user()->flags & USER_FLAG_IS_LDAP_ACCOUNT) == 0 || !$ldap_server) {
$query->execute(array(time(), 3600 * 24 * 2, 'drucken.pdf', $final_cache_id)); // Je nach Aktion handeln $action = $_POST['action']; if ($action == "Drucken" && $ssh_printing_enabled) { // Per SSH an den Drucker übergeben if (!user()->ssh) { status_message("Für diese Funktion muss ein <a href='index.php?q=acc'>SSH-Zugang konfiguriert</a> sein."); gotop("index.php"); } else { $pdf_data = file_get_contents($cache_dir . $final_cache_id); in_shell_execution(true); $ssh_program = popen("ssh -o PasswordAuthentication=no -i " . escapeshellarg($ssh_printing_privkey_file) . " -a -k -q -x " . escapeshellarg(user()->ssh['account']) . '@' . escapeshellarg($ssh_printing_host) . " lp", "w"); fwrite($ssh_program, $pdf_data); $status = pclose($ssh_program); in_shell_execution(false); if ($status == 0) { status_message("Der Druckauftrag wurde erfolgreich weitergegeben"); gotop("index.php"); } else { if ($status == 1) { status_message("Fehler beim Drucken. Hast Du den Druckernamen richtig eingetippt?"); } elseif ($status == 255) { status_message("Fehler beim Drucken. Hast Du die Anweisungen in der Email befolgt (Schlüssel eingetragen)?"); } gotop("index.php"); } } } else { // PDF herunterladen gotop('cache.php?cache_id=' . $final_cache_id); }
if ($change['delete']) { $database->exec('DELETE FROM user_data WHERE user_id = ' . $id); $database->exec('DELETE FROM user_feeds WHERE user_id = ' . $id); $database->exec('DELETE FROM users WHERE id = ' . $id); status_message("Benutzer " . htmlspecialchars($user->name) . " gelöscht"); admin_log("Benutzer " . htmlspecialchars($user->name) . " gelöscht"); continue; } if ($change['pass']) { $user->pass = sha1($user->salt . $change['pass']); status_message("Passwort für Benutzer " . htmlspecialchars($user->name) . " geändert"); admin_log("Passwort für Benutzer " . htmlspecialchars($user->name) . " geändert"); } if (isset($change['level'])) { $user->level = intval($change['level']); status_message("Benutzerlevel für Benutzer " . htmlspecialchars($user->name) . " auf " . $user->level . " geändert"); admin_log("Benutzerlevel für Benutzer " . htmlspecialchars($user->name) . " auf " . $user->level . " geändert"); } user_save($user); } gotop("index.php?q=admin"); } ?> <script type="text/javascript"><!-- $(document).ready(function() { var fields = {}; $("#users input, #users select").change(function() { if(((this.type == "checkbox" && !this.checked) || this.value == "") && this.name in fields) { fields[this.name].remove(); delete fields[this.name]; return;
$js = "\r\n<script type='text/javascript'>\r\n\$(document).ready(function(){\r\n\$('.inlinereply').click( function() { \$('#' + this.name ).toggle(); \$('#' + this.name + ' .widetext')[0].focus(); } );\r\n\$('p').click( function() { \$('.lastclicked').attr( 'value', this.parentNode.id ); } );\r\n});\r\n</script>\r\n"; include_once 'init.php'; $name = @trim($_POST['name']); $message = @trim($_POST['message']); $tags = @trim($_POST['tags']); $id = !empty($_REQUEST['id']) ? intval($_REQUEST['id']) : ''; if ($_POST) { if (!trim($name)) { error_message('Missing name.'); } elseif (!trim($message)) { error_message('Missing message.'); } else { $result = store_predefined_message($name, $message, $tags, $id); if ($result) { $id = $result; status_message('Message saved. <a href="%s">click to edit</a>.', 'predefined-edit.php?id=' . intval($id)); $name = $message = $tags = $id = null; } else { error_message('Error saving message: %s', $db->last_error); } } } elseif (!empty($_REQUEST['id'])) { $row = $db->get_row($db->prepare("SELECT * FROM {$db->predefined_messages} WHERE id=%d", $_REQUEST['id'])); if ($row) { $name = $row->name; $message = $row->message; $tags = $row->tag; } else { $name = $message = $tag; error_message('No such predefined message %s', $_REQUEST['id']); }
<?php force_login(); if ($_POST['suggest']) { $stmt = $database->prepare('INSERT INTO suggestions (text, user_id) VALUES (?, ?)'); $stmt->execute(array($_POST['suggest'], user()->id)); activity_email("Vorschlag von " . user()->name . ":" . PHP_EOL . $_POST['suggest']); status_message('Danke für Deinen Vorschlag!'); gotop('index.php?q=feeds'); } ?> <div id="content"> <h2>Kurs vorschlagen</h2> <p> Hier kannst Du einen Kurs vorschlagen. Bitte beachte, dass es ein wenig dauern kann, bis jemand den Kurs für Dich einträgt! </p> <p> Trage in das Textfeld bitte alle notwendigen Informationen ein. Dazu gehören auch URLs und vorallem Logins! Derjenige, der den Kurs für Dich einträgt, sitzt vermutlich <em>nicht</em> in Deiner Vorlesung. </p> <form method="post" action="index.php?q=suggest"> <textarea name="suggest"></textarea> <input type="submit" class="subright" value="Vorschlagen"> </form> </div>
<?php require "system.php"; if (system("which convert 2>&1 > /dev/null") != 0) { status_message("Dieser Dienst steht nur zur Verfügung, wenn ImageMagick auf dem Serversystem installiert ist"); gotop("index.php"); } set_time_limit(0); if (!isset($_GET['data_id'])) { header('HTTP/1.1 404 Not found'); die("<DOCTYPE HTML><h1>File not found</h1>"); } $data = $database->query('SELECT data FROM data WHERE id = ' . intval($_GET['data_id']))->fetchColumn(); list($image, $text) = split_data($data); if (!preg_match('#^https?://#i', $image)) { header('HTTP/1.1 404 Not found'); die("<DOCTYPE HTML><h1>File not found</h1>"); } if (preg_match('#\\.([^\\.]+)$#', $image, $extension)) { $extension = $extension[1]; } else { $extension = 'pdf'; } $hash = sha1('img-' . $image); $cache_file = $cache_dir . $hash; $cache_exists = file_exists($cache_file); try { $data = load_url($image, false, $cache_exists ? filemtime($cache_file) : false); } catch (Exception $e) { // Geht anscheinend nicht - dann leiten wir halt weiter auf das Original. header('Location: ' . $image);