Example #1
0
 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);
 }
Example #2
0
    $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>
Example #3
0
 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);
 }
Example #4
0
 /**
  * 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>&nbsp;</th><th>Kurs</th><th>Zettel</th><th>&nbsp;</th></tr>
Example #6
0
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();
}
Example #7
0
        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());
Example #9
0
            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) {
Example #10
0
$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);
}
Example #11
0
        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;
Example #12
0
$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>
Example #14
0
<?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);