public function iJson($val, $len = 64) { $res = false; if ('string' != gettype($val)) { $this->session->addError(L::__('Incoming JSON string is no string.')); return false; } $val = html_entity_decode($val); $val = substr($val, 0, $len); if ('' != $val && false != $val) { $res = $val; } return $res; }
public function placeVote($vote) { // time-based-lock of 60 seconds // between two vote attemtps $stamp = date('U'); $lastVoteStamp = $this->session->get('votestamp'); if (false != $lastVoteStamp) { if ($lastVoteStamp + 60 > $stamp) { $this->session->setError(L::__('Please be patient')); return false; } } $res = $this->webDBUtils->placeVote($vote); if (false != $res) { $this->session->set('votestamp', $stamp); } return $res; }
public function startBroadcast() { $this->stopBroadCast(); $configPath = ''; $res = $this->user->getStream(); if (false == $res) { $this->session->addError(L::__('No stream.')); return false; } $stream = $res[0]; $configPath = $res[0]['config_path']; $com = '' . Settings::streamBinPath . ' -c ' . escapeshellarg($configPath) . ' > /dev/null &echo $!'; $this->log->addMessage('Exec: ' . $com); $ary = array(); $res = exec($com, $ary); $pid = $ary[0]; // updates the pid $stream['pid'] = $pid; $res = $this->user->updateStream($stream); return $pid; }
public function registerStream($stream) { // --> mock $uid = $stream['uid']; if (false != $this->streamByUserId($uid)) { $this->session->addError(L::__('User has a registered stream.')); return false; } // <<-- mock $sql = 'call rrradio.stream_by_user_id(0)'; $res = $this->execGet($sql); if (false == $res) { $this->session->addError(L::__('There is no streams.')); return false; } $sql = 'call rrradio.update_stream( "' . $res[0]['id'] . '", "' . $stream['uid'] . '", "' . $stream['pid'] . '", "' . $stream['config_path'] . '", "' . $stream['playlist_path'] . '" )'; $res = $this->execGet($sql); return $res; }
$diffPermissions .= '<a class="act" href="javascript:Client.activatePermission(\'' . $permission . '\');">' . $l_activate . '</a>'; $diffPermissions .= ' '; $diffPermissions .= '<a class="deact" href="javascript:Client.deactivatePermission(\'' . $permission . '\');">' . $l_deactivate . '</a>'; $diffPermissions .= '</div>'; $diffPermissions .= '</div>'; $diffPermissions .= '</li>'; } $l_description = L::__('Description'); $l_name = L::__('Name'); $l_edit = L::__('Edit Userroles'); require_once 'chunks/admin.headline.php'; $name = L::__($role['name']); $description = L::__($role['description']); $l_save = L::__('Save Role'); $l_nameInput = L::__('Name'); $l_descInput = L::__('Description'); print <<<EOD <div id="formhead"> \t<span class="">{$l_nameInput}</span> \t<div class="alert alert-success"> \t\t<input type="text" class="form-control" placeholder="{$l_name}" value="{$name}" id="name"> \t</div> \t<span class="">{$l_descInput}</span> \t<div class="alert alert-success"> \t\t<input type="text" class="form-control" placeholder="{$l_description}" value="{$description}" id="description"> \t</div> </div> EOD; print <<<EOD
public function loadEmbedSettings() { $path = Settings::embedSettingsPath; $res = @file_get_contents($path); if (false == $res) { $this->session->addError(L::__('File not found: ') . $path); $this->log->addMessage('File not found: ' . $path); } if (false == $res) { $res = new EmbedSettings(); $this->settings = $res; return $res; } $res = json_decode($res); if (false == $res) { $this->session->addError(L::__('Settings file is no JSON.')); $this->log->addMessage('Settings file is no JSON.'); return false; } $this->settings = $res; return $res; }
require_once 'chunks/admin.menu.php'; ?> </div> <div id="right"> <?php $l_save = L::__('Save Tenant'); $l_edit = L::__('Edit Tenant'); $l_tenantSaved = L::__('Tenant saved.'); require_once 'chunks/admin.headline.php'; $tid = isset($tid) ? $tid : ''; $tenant = isset($tenant) ? $tenant : []; $buf = ''; $ids = []; foreach ($tenant as $t) { foreach ($t as $key => $value) { $plchldr = L::__($key); switch ($key) { case 'id': break; default: $buf .= '<input type="text" class="form-control" placeholder="' . $plchldr . '" name="' . $key . '" id="' . $key . '" value="' . $value . '">'; break; } $ids[] = $key; } } $ids = json_encode($ids, JSON_PRETTY_PRINT); print <<<EOD <script type="text/javascript" language="javascript">'use strict'; var Client = Client == null ? {} : Client;
<?php $l_register = L::__('Broadcast Register'); require_once 'chunks/html.page.header.php'; require_once 'chunks/html.body.header.php'; require_once 'chunks/appwerk.logo.php'; require_once 'chunks/register.php'; require_once 'chunks/html.body.footer.php'; require_once 'chunks/html.page.footer.php';
\t<div class="btn-group"> \t\t<button type="button" class="btn btn-warning">{$l_channels}</button> \t\t<button type="button" class="btn btn-warning dropdown-toggle" data-toggle="dropdown"> \t\t\t<span class="caret"></span> \t\t</button> \t\t<ul class="dropdown-menu" role="menu"> \t\t \t{$buf} \t\t</ul> \t</div> </div> EOD; print <<<EOD <div id="config"></div> EOD; $l_json = L::__('Screenlayout JSON'); print <<<EOD <div id="jsonhead" class=""><b>{$l_json}</b></div> <div id="json"> \t<div class=""> \t\t<textarea id="json-input" class="json"></textarea> \t\t<button type="submit" class="btn btn-default" onclick="javascript:Client.saveLayoutJSON();">{$l_save}</button> \t</div> </div> EOD; ?> </div><?php require_once 'chunks/html.body.footer.php'; require_once 'chunks/html.page.footer.php';
<?php require_once 'chunks/html.page.header.php'; require_once 'chunks/html.body.header.php'; require_once 'chunks/appwerk.logo.php'; // require_once('chunks/menu.php'); require_once 'chunks/errors.php'; $l_public = L::__('Public'); print <<<EOD <div class="jumbotron"> <h1>{$l_public}</h1> <img src="{$base}/assets/VU_analog.gif"/> </div> EOD; require_once 'chunks/html.body.footer.php'; require_once 'chunks/html.page.footer.php';
public function deleteRole($rid) { $role = $this->getRoleById($rid); if (RoleUtils::ADMIN === $role['name'] || RoleUtils::TENANT === $role['name'] || RoleUtils::GUEST === $role['name']) { $this->session->addError(L::__('Will not delete this group.')); return false; } $res = $this->webDBUtils->deleteUserRole($rid); return $res; }
public function writeMP3() { $res = false; if (false == isset($_FILES)) { $this->session->setError(L::__('No upload.')); return false; } foreach ($_FILES as $file) { $src = $file['tmp_name']; if (false == $this->isMP3($src)) { $this->session->setError(L::__('Not an MP3 file.')); return false; } $nme = $file['name']; $nme = Utils::getInstance()->iStr($nme, 128); $nme = Utils::getInstance()->strToFilename($nme); $path = $nme; $dest1 = Settings::storage . $this->user->getBucket() . '/' . $nme; $dest2 = Settings::storage . $this->user->getBucket() . '/marked/' . $nme; $this->log->addMessage('Moving file from "' . $src . '" to "' . $dest1 . '"'); $res = @move_uploaded_file($src, $dest1); if (false == $res) { $this->session->setError(L::__('Could not move the file.')); return false; } $res = @chmod($dest1, 0644); if (false == $res) { $this->session->setError(L::__('Could not chmod the file.')); return false; } $this->log->addMessage('Copying file "' . $dest1 . '" to "' . $dest2 . '"'); $res = @copy($dest1, $dest2); if (false == $res) { $this->session->setError(L::__('Could not copy the file.')); return false; } $res = @chmod($dest2, 0644); if (false == $res) { $this->session->setError(L::__('Could not chmod the file.')); return false; } $song = array('name' => $nme, 'artist' => '', 'year' => '', 'duration' => '', 'album' => '', 'path' => $path, 'uid' => $this->user->getId(), 'rid' => $this->user->getRadioId()); $res = $this->webDBUtils->addSong($song); } return $res; }
<?php require_once 'chunks/html.page.header.php'; require_once 'chunks/html.body.header.php'; require_once 'chunks/base.js.php'; ?> <!-- admin-add-user.php //--> <div id="left"><?php require_once 'chunks/admin.menu.php'; ?> </div> <div id="right"> <?php require_once 'chunks/appwerk.admin.logo.php'; require_once 'chunks/errors.php'; // require_once('chunks/welcome.user.php'); // require_once('chunks/message.php'); $l_edit = L::__('User'); require_once 'chunks/admin.headline.php'; print <<<EOD <form action="{$base}/admin/add-user" method="post"> EOD; require_once 'chunks/register.php'; print <<<EOD </form> EOD; ?> </div><?php require_once 'chunks/html.body.footer.php'; require_once 'chunks/html.page.footer.php';
<?php $l_login = L::__('Login'); $mail = isset($mail) ? $mail : ''; print <<<EOD <div class="input-group input-group-lg"> \t<span class="input-group-addon"></span> \t<input type="text" class="form-control" placeholder="[ user@email.com ]" name="mail" value="{$mail}"> \t<input type="password" class="form-control" placeholder="[ **** ]" name="pass"> \t<br/> \t<button type="submit" class="btn btn-default">{$l_login}</button> </div> EOD ;
<?php $wmUtils = WatermarkUtils::getInstance(); $type = $wmUtils->settings->type; $mid = $wmUtils->settings->mid; $midLen = $wmUtils->settings->midLen; $multi = 'multi' == $type ? 'checked' : ''; $uni = 'uni' == $type ? 'checked' : ''; $l_save = L::__('Save Settings'); $l_writeMessage = L::__('Watermark all Files'); $l_uniMessageSel = L::__('Messages of type UNI'); $l_multiMessageSel = L::__('Messages of type MULTI (periodic)'); $l_messageAsString = L::__('Message as String (depr.)'); $l_messageAsID = L::__('MessageID'); $l_len = L::__('of length'); $l_message = L::__('Message'); print <<<EOD <div id="messageinput"> \t<div class="input-group input-group-lg"> \t\t<span class="input-group-addon">{$l_messageAsID}<br>{$l_len}</span> \t\t<input type="number" id="mid" class="form-control" value="{$mid}" placeholder="{$mid}"> \t\t<input type="number" id="midLen" class="form-control" value="{$midLen}" placeholder="{$midLen}"> \t</div> \t<div class="radio"> \t\t<form id="types"> \t\t<label> \t\t\t<input type="radio" name="type" id="uni" value="uni" {$uni}> \t\t\t{$l_uniMessageSel}\t \t\t</label>
<?php $l_playlist = L::__("Playlist"); $l_radio = L::__("Radio"); $l_user = L::__("User"); $l_editComments = L::__("Kommentari"); $l_editAds = L::__("Ads"); $l_cockpit = L::__("COCKPIT"); $l_setWatermark = L::__("Sitmark2"); $avatarImgSrc = Settings::baseRef . '/assets/cockpit.png'; $arrowImgSrc = Settings::baseRef . '/assets/arrow.png'; $messageIconSrc = Settings::baseRef . '/assets/amenu/postings-icon.png'; $rolesIconSrc = Settings::baseRef . '/assets/amenu/settings-icon.png'; $layoutIconSrc = Settings::baseRef . '/assets/amenu/applayout-icon.png'; $profileImgRef = User::getInstance()->getProfileImgRef(); print <<<EOD <!-- chunks/tenant.menu.php //--> <style type="text/css"> #avatar{ \twidth: 250px; \theight: 160px; \tbackground-image: url('{$profileImgRef}'); } @media screen and (max-width: 768px){ \t#avatar{ \t\twidth: 100%; \t} }
body{ \tbackground-color: #f1f1f1; } #logindiv, #hmenudiv{ \tpadding: 24px; \tpadding-top: 0px; } #footer{ \tmargin: 24px; } </style> EOD; $l_pass = L::__('Send a new Password'); $l_facebookLogin = L::__('Facebook AUTH'); $oAuthURL = isset($oAuthURL) ? $oAuthURL : ''; print <<<EOD <div id="hmenudiv"> \t<a href="{$base}/tenant-send-pwd">{$l_pass}</a> \t<a href="{$oAuthURL}">{$l_facebookLogin}</a> </div> EOD; print <<<EOD <div id="logindiv"> \t<form method="post" action="{$base}/tenant-auth"> \t\t\t\t \t\t\t\t\t EOD; require_once 'chunks/login.php';
<?php $l_public = L::__("Public"); $l_customer = L::__("Customer"); $l_broadcast = L::__("Broadcast"); $l_appwerk = L::__("Admin"); print <<<EOD <div id="menu"> <div class="btn-group"> <menu type="button" class="btn btn-default" onclick="javascript:self.location.href='{$base}/'">{$l_public}</menu> <menu type="button" class="btn btn-default" onclick="javascript:self.location.href='{$base}/customer'">{$l_customer}</menu> <menu type="button" class="btn btn-default" onclick="javascript:self.location.href='{$base}/tenant'">{$l_broadcast}</menu> <menu type="button" class="btn btn-default" onclick="javascript:self.location.href='{$base}/admin'">{$l_appwerk}</menu> </div> </div> EOD ;
function embedMessage($app) { // sets up utils $utils = Utils::getInstance(); $wmUtils = WatermarkUtils::getInstance(); $adminUtils = AdminUtils::getInstance(); $user = User::getInstance(); // reads incoming $type = $utils->iStr($app->request()->post('type'), 64); $sid = $utils->iStr($app->request()->post('sid'), 64); $uid = $utils->iStr($app->request()->post('uid'), 64); $len = $utils->iStr($app->request()->post('len'), 64); // uid from session if (-1 == $uid) { $uid = $user->getId(); } // $aid = $utils->iStr($app->request()->post('aid'), 64); // loads the song (is there a song with the given song id? $exc = $adminUtils->loadSong($uid, $sid); // $res = ['req' => 'embedMessage', 'res' => 'false']; // no proc withouth a song if (false == $exc) { $res = array('req' => 'embedMessage', 'res' => 'false', 'err' => L::__('No such asset'), 'sid' => '' + $sid + ''); } else { // reads real path of the song $path = $exc[0]['path']; // evaluates message and the length of the given message // turns mid to aid ...if defined $mid = $aid; if (false == $aid) { $mid = intval($wmUtils->getStoredMid()); } // turns midLen to given len ...once defined if (false == $len) { $len = $wmUtils->getStoredMidLen(); } // turns stored message to its '010101..' representation $message = $utils->getDecBinFromInt($mid, $len); // sets up a user object $targetUser = new User($uid); $bucket = $targetUser->getBucket(); // starts the embed message proc $pid = $wmUtils->embedMessage($bucket, $path, $message); $pid = false == $pid ? 'false' : $pid[0]; $res = false == $res ? 'false' : 'ok'; // sets up a result $res = array('req' => 'embedMessage', 'uid' => $uid, 'sid' => $sid, 'res' => $res, 'pid' => $pid, 'mid' => $mid, 'len' => $len, 'message' => $message, 'path' => $wmUtils->getEmbedProcLogPath()); } return $res; }
</script> EOD; $l_edit = L::__('Edit Userroles'); require_once 'chunks/admin.headline.php'; $l_addRole = L::__('[ + ]'); $command = 'javascript:Client.addUserRole();'; require_once 'chunks/addbutton.php'; $buf = ''; $roles = isset($roles) ? $roles : []; foreach ($roles as $role) { $buf .= '<li>'; $buf .= '<div class="role">'; $buf .= '<b>' . L::__($role['name']) . '</b>'; $buf .= '<br/>'; $buf .= L::__($role['description']); $buf .= '<br/>'; /* $buf.= '<br/>'; if(false == isset($role['policy'])){ $buf.= '</li>'.PHP_EOL; continue; } $policy = json_decode($role['policy']); if(false == isset($policy->permissions)){ $buf.= '</li>'.PHP_EOL; continue; } foreach($policy->permissions as $permission){ $buf.= '<div class="policy">'.L::__($permission).'</div>'; }
require_once 'chunks/html.page.header.php'; require_once 'chunks/html.body.header.php'; require_once 'chunks/base.js.php'; $l_delete = L::__('[ delete ]'); $l_editt = L::__('[ edit ]'); $l_templates = L::__('Templates'); $l_saved = L::__('Saved'); $l_inited = L::__('Inited'); $l_videoUpload = L::__('Video upload'); $l_edit = L::__('Ads') . ': ' . $radio; $l_dictImageMessage = L::__('Drop image to upload'); $l_dictVideoMessage = L::__('Drop video to upload'); $l_imageUpload = L::__('Image upload'); $l_send = L::__('Send'); $l_bgImageUpload = L::__('Backgroundimage upload'); $dbuf = ''; $adTemplatePaths = isset($adTemplatePaths) ? $adTemplatePaths : []; $i = 0; foreach ($adTemplatePaths as $path) { $dbuf .= '<li><a href="javascript:Client.selectTemplate(' . $i . ');">' . $path . '</a></li>'; $i++; } ?> <!-- tenant-edit-ads.php //--> <div id="left"> <?php require_once 'chunks/tenant.menu.php'; ?> </div>
} print <<<EOD <div id="userlist"> \t<div id="userlisttable"> \t\t<table class="table usertable"> \t\t\t{$buf} \t\t</table> \t</div> </div> <div id="editlist"> \t<div id='adsedit'></div> </div> EOD; $l_dictDefaultMessage = L::__('Drop files here to upload'); print <<<EOD <script langauge="javascript" type="text/javascript"> Client.sendForm = function() { \tvar txt = []; \t \tfor(var idx in Client.dynTextIds){ \t\t \t\tvar key = Client.dynTextIds[idx]; \t\tvar val = jQuery('#'+key).val(); \t\tvar tmp = { \t\t\t'key': key, \t\t\t'val': val \t\t}
<?php require_once 'chunks/html.page.header.php'; require_once 'chunks/html.body.header.php'; require_once 'chunks/appwerk.admin.logo.php'; require_once 'chunks/menu.php'; require_once 'chunks/errors.php'; $l_auth = L::__('Admin Auth'); print <<<EOD <div class="jumbotron"> <h1>{$l_auth}</h1> u: admin@appwerk.de<br/> p: admin</div> EOD; print <<<EOD <form method="post" action="{$base}/admin-auth"> EOD; require_once 'chunks/login.php'; print <<<EOD </form> EOD; require_once 'chunks/html.body.footer.php'; require_once 'chunks/html.page.footer.php';
<?php $l_procDone = L::__('The PROC is done.'); $l_settingsSaved = L::__('Settings is saved.'); $l_icecastStopped = L::__('Icecast is stopped.'); $l_icecastStarted = L::__('Icecast is started.'); $l_icecastStartedError = L::__('Error while starting Icecast.'); $l_linked = L::__('User saved.'); print <<<EOD <script langauge="javascript" type="text/javascript">'use strict'; var Client = Client == null ? {} : Client; Client.assets = null; Client.user = null; Client.uid = {$uid}; Client.pthread = null; Client.interval = 250; Client.setUsergroupSettings = function(uid){ \tif(null == uid){ \t\tuid = Client.uid; \t} \tvar roles = []; \tvar roleIds = []; \tjQuery('#rolelist li').each(function(index){ \t\troles.push(jQuery(this).attr('role')); \t\troleIds.push(jQuery(this).attr('role_id')); \t});
continue; } $buf .= '<tr>'; $buf .= '<td>' . $msg['id'] . '</td>'; $buf .= '<td class="tdcmnt">' . $msg['comment'] . '</td>'; $buf .= '<td class="tdbtn"><a href="javascript:Client.deleteComment(' . $msg['id'] . ');">' . $l_delete . '</a></td>'; if (false == $msg['released']) { $buf .= '<td class="tdbtn"><a href="javascript:Client.releaseComment(' . $msg['id'] . ', true);">' . $l_release . '</a></td>'; } else { if (true == $msg['released']) { $buf .= '<td class="tdbtn"><a href="javascript:Client.releaseComment(' . $msg['id'] . ', false);">' . $l_unrelease . '</a></td>'; } } $buf .= '</tr>'; } $l_msg = L::__('MsgComment'); print <<<EOD <div id="msglist"> \t{$l_msg} \t<div id="msglisttable"> \t\t<table class="table msgtable"> \t\t\t{$buf} \t\t</table> \t</div> </div> EOD; ?> </div><?php require_once 'chunks/html.body.footer.php'; require_once 'chunks/html.page.footer.php';
require_once 'chunks/admin.menu.php'; ?> </div> <div id="right"> <?php require_once 'chunks/appwerk.admin.logo.php'; require_once 'chunks/message.php'; require_once 'chunks/errors.php'; $l_user = L::__('Screens'); $l_delete = L::__('[ delete ]'); $l_layoutAdded = L::__('Layout added.'); $l_layoutRemoved = L::__('Layout removed.'); $l_layoutUpdated = L::__('Layout updated.'); $l_edit = L::__('Edit Radioscreen'); $l_editBtn = L::__('[ edit ]'); $l_addLayout = L::__('[ + ]'); $icnEdit = '<img src="http://radioscreen.org/assets/icon_edit.png" width=20px />'; $icnRem = '<img src="http://radioscreen.org/assets/icon_remove.png" width=20px />'; $buf = ''; $radios = isset($radios) ? $radios : []; foreach ($radios as $radio) { $buf .= '<li>'; $buf .= '<div class="radiolistentry">'; $buf .= $radio['name']; $buf .= '<div class="iconBox"><a href="' . Settings::baseRef . '/admin/edit-radioscreen/' . $radio['id'] . '">' . $icnEdit . '</a></div>'; $buf .= '<div class="iconBox"><a href="javascript:Client.removeLayout(' . $radio['id'] . ');">' . $icnRem . '</a></div>'; $buf .= '</div>'; $buf .= '</li>'; } print <<<EOD <script type="text/javascript" langauge="javascript">'use strict';
$buf .= '</tr>'; } $l_edit = L::__('Edit User'); require_once 'chunks/admin.headline.php'; print <<<EOD <script type="text/javascript" language="javascript"> var Client = null == Client ? {} : Client; Client.addUser = function(){\t \tself.location.href="{$base}/admin/add-user";\t } </script> EOD; $l_addUser = L::__('[ + ]'); $command = 'javascrit:Client.addUser();'; require_once 'chunks/addbutton.php'; $l_user = L::__('User'); print <<<EOD <div id="xuserlist"> \t<div id="userlisttable"> \t\t<table class="table usertable"> \t\t\t{$buf} \t\t</table> \t</div> </div> EOD; ?> </div><?php require_once 'chunks/html.body.footer.php'; require_once 'chunks/html.page.footer.php';
$buf .= L::__('[ detect message ]'); $buf .= ' '; $buf .= '</a>'; $buf .= '</div>'; $buf .= '</li>'; $buf .= PHP_EOL; } if (1 > count($assets)) { $buf .= '<li>'; $buf .= '<div class="asset">'; $buf .= L::__('NO Assets.'); $buf .= '</div>'; $buf .= '</li>'; $buf .= PHP_EOL; } $l_assets = L::__('Assets'); print <<<EOD <div id="assetsofuser"> \t<ul class="assetlist"> \t\t{$buf} \t</ul> </div> <div id="nukk"></div> EOD; print <<<EOD <div id="procc"> \t<div id="loader"></div> </div> EOD; ?>
<?php $l_icecast = L::__('Icecast'); $l_startServer = L::__('Start Icecast Server'); $l_stopServer = L::__('Stop Icecast Server'); $l_msgLen = L::__('Watermark Message Length'); $l_msg = L::__('Watermark Message'); print <<<EOD <div id="icecast"> \t<div id="dropdowns"> \t\t<div class="btn-group"> \t\t\t<button type="button" class="btn btn-info">{$l_icecast}</button> \t\t\t<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown"> \t\t\t\t<span class="caret"></span> \t\t\t</button> \t\t\t<ul class="dropdown-menu" role="menu"> \t\t\t\t<li><a href="javascript:Client.startIcecast();">{$l_startServer}</a></li> \t\t\t\t<li><a href="javascript:Client.stopIcecast();">{$l_stopServer}</a></li> \t\t\t</ul> \t\t</div> \t</div> </div> EOD ;
<?php $l_facebookLogin = L::__('Login with your Facebook Account'); $oAuthURL = isset($oAuthURL) ? $oAuthURL : ''; print <<<EOD <div id="facebooklogin"> <a href="{$oAuthURL}">{$l_facebookLogin}</a> </div> EOD ;