Пример #1
0
 public function __destruct()
 {
     $sql_generating = $generating = microtime(true) - $this->start;
     $sql_table = "<style type='text/css'>table td, table th { border: 1px #000000 solid; padding: 5px } table {border-collapse: collapse; width: 100%;}</style>";
     $sql_table .= "<div><table><caption>SQL dotazy</caption>";
     $sql_table .= "<tr><th>Pořadí</th><th>Typ</th><th>SQL dotaz</th><th>Čas vyřízení v ms</th><th>Status</th></tr>";
     $queue = 1;
     foreach ($this->db->getExecutedQueries() as $sql => $row) {
         $sql_table .= "<tr><td>" . $queue++ . "</td><td>" . e_html($row['type']) . "</td><td><code>" . e_html($sql) . "</code></td><td>" . e_html($this->toMiliseconds($row['duration'])) . "</td><td>" . $row['status'] . "</td></tr>";
         $sql_generating -= $row['duration'];
     }
     $sql_table .= "</table></div><br />";
     if ($errors = class_exists('ErrorHandler', false)) {
         //      $sql_table .= "<div><table><caption>Zachycené chyby při generování HTML</caption>";
         //      $sql_table .= "<tr><th>Pořadí</th><th>Typ</th><th>text chyby</th><th>soubor</th><th>řádka</th></tr>";
         //      foreach(ErrorHandler::$catched_errors as $key => $row)
         //        $sql_table .= "<tr><td>".($key+1)."</td><td>".e_html($row['type'])."</td><td>".e_html($row['text'])."</td><td>".e_html($row['file'])."</td><td>".e_html($row['line'])."</td></tr>";
         //      $sql_table .= "</table></div><br />";
     }
     $sql_table .= "<code>Doba vyřizování všech SQL dotazů: " . $this->toMiliseconds($generating - $sql_generating) . " ms<br />";
     $sql_table .= "Doba generování stránky: " . $this->toMiliseconds($generating) . " ms<br />";
     $sql_table .= "Použitá paměť: " . round(memory_get_peak_usage(true) / 1024 / 1024, 2) . " MB<br />";
     $sql_table .= "Operační systém: " . php_uname() . "<br />";
     $sql_table .= "Verze php na serveru je: " . PHP_VERSION . "<br />";
     $sql_table .= "Databázový driver: " . $this->db->getDriverName() . "<br />";
     $sql_table .= "Web server: " . $_SERVER['SERVER_SOFTWARE'] . "<br />";
     $sql_table .= "Načtené soubory: ";
     $sql_table .= "<ul style='margin:0; padding-top:0; padding-left:15px;'>";
     foreach (get_included_files() as $value) {
         $sql_table .= "<li>" . str_replace(getcwd(), ".", $value) . "</li>";
     }
     $sql_table .= "</ul></code>";
     echo "<script type='text/javascript' src='" . _PATH_ . "js/popupWindow.js'></script>";
     echo '<a id="debug_link" href="javascript: void(0);" ', $errors ? 'style="background-color: #EE2244; color: black;"' : '', 'onclick="popupWindow(\'' . htmlentities(addslashes($sql_table), ENT_QUOTES, "UTF-8") . '\', this); return this.parentNode.removeChild(this);">Debug okno</a>';
 }
function formatSequenceTitle($row)
{
    if ($row['title'] != 'Untitled') {
        return e_html($row['title']) . ' (#' . $row['id'] . ')';
    } else {
        return 'Sequence #' . $row['id'];
    }
}
Пример #3
0
<?php

require 'app/sequencer.php';
$autoplay = 0;
if (isset($_GET['random'])) {
    $id = db_result(db_query('SELECT id FROM sequences WHERE deleted=0 AND scale>=0 AND LENGTH(data) > 500 ORDER BY RAND() LIMIT 1'), 0);
    $autoplay = 1;
}
if ($id != 0) {
    $result = db_query('SELECT * FROM sequences WHERE deleted=0 AND id="' . e_mysql($id) . '" LIMIT 1');
    if (mysqli_num_rows($result) == 0) {
        output_message('Error', 'Unknown sequence: ' . e_html($id));
        exit;
    }
    $row = mysqli_fetch_array($result);
    $title = formatSequenceTitle($row);
    $nav_right = formatSequenceInfo($row);
}
if ($id != 0) {
    $cname = $id;
}
if ($id == 0) {
    $showFeatured = true;
}
output_header($id == 0 ? 'Make music online' : $title, false, $id);
?>
<style type="text/css">
#main {
    bottom: 0;
}
</style>
Пример #4
0
        $tmpl->addMessage($hlasky, Template::MESSAGE_ERROR);
    } else {
        try {
            $db->beginTransaction();
            $event_key = Event::newKey();
            Event::add($db, $event_key, $user->user_id, Event::EMAIL_CHANGE_OLD, time() + 24 * 3600, $_POST['new_email']);
            // 1 day
            $html = '<html>
    <head></head>
    <body>
      <div>
        Vážený uživateli,<br><br>

        ' . format_string('na Vašem uživatelském účtě %s byla změněna e‑mailová adresa na %s.', '<b>' . e_html($user->nick) . '</b>', '<b>' . e_html($_POST['new_email'])) . '</b><br>Pro potvrzení změny e‑mailové adresy přejděte na následující odkaz:<br><br>

        <a href="' . e_html(_DOMAIN_ . _PATH_) . 'email/old?key=' . e_html($event_key) . '&nick=' . e_html($user->nick) . '">' . e_html(_DOMAIN_ . _PATH_) . 'email/old?key=' . e_html($event_key) . '&nick=' . e_html($user->nick) . '</a><br><br>

        <b>Pro dokončení změny e‑mailové adresy, je nutné změnu potvrdit i na nové e‑mailové adrese.<br><br>
        S pozdravem,<br>
        Tým Todolist
      </div>
    </body>
  </html>';
            $alt = 'Vážený uživateli,\\r\\n \\r\\n' . format_string('na Vašem uživatelském účtě %s byla změněna e‑mailová adresa na %s.', $user->nick, $_POST['new_email']) . '\\r\\n' . 'Pro potvrzení změny e‑mailové adresy přejděte na následující odkaz:\\r\\n \\r\\n' . _DOMAIN_ . _PATH_ . 'email/old?key=' . $event_key . '&nick=' . $user->nick . '\\r\\n \\r\\n' . 'S pozdravem, \\r\\n' . 'Tým Todolist';
            require_once 'lib/send_mail.php';
            if (send_mail($user->email, 'První část potvrzení změny e‑mailové adresy', $html, $alt)) {
                $tmpl->addMessage('Změnu e‑mailové adresy, je nutné potvrdit na současné i nové e‑mailové adrese, jinak bude změna ignorována.', Template::MESSAGE_SUCCESS);
                $db->commit();
            } else {
                $tmpl->addMessage('Nepodařilo se změnit email.', Template::MESSAGE_ERROR);
                $db->rollback();
Пример #5
0
                            if ($chunk instanceof FileHeader) {
                                $a = $chunk->getData();
                                $timeDivision = $a[2];
                            }
                        }
                    }
                }
            }
        }
    }
    ?>
	<script type="text/javascript">
	function preview() {
		var selects = document.getElementsByTagName('select');
		var url = "/app/sequencer.php?frame=1&title=<?php 
    echo e_html($name);
    ?>
&import=<?php 
    echo $file;
    ?>
&";
		for(var i = 0; i < selects.length; i++) {
			var trackID = selects[i].name;
			if(selects[i].className == "instrument") {
				url += "trackInstruments["+trackID+"]="+selects[i].value+"&";
			}
			else {
				url += "trackTranspose["+trackID+"]="+selects[i].value+"&";
			}
		}
		document.getElementById('sequencer_frame').src = url;
Пример #6
0
}
$event_key = Event::newKey();
try {
    Event::add($db, $event_key, $user_ch['user_id'], Event::EMAIL_CHANGE_NEW, time() + 24 * 3600, $value);
} catch (\Snabb\Database\Exception $e) {
    $db->rollback();
    reload('?fb=change_email_failed');
}
$html = '<html>
  <head></head>
  <body>
    <div>
      Vážený uživateli,<br><br>

      ' . format_string('pro dokončení změny e‑mailové adresy na %s na Vašem uživatelském účtě %s, přejděte na následující odkaz:', '<b>' . e_html($value) . '</b>', '<b>' . e_html($user_ch['nick']) . '</b>') . '<br><br>

      <a href="' . e_html(_DOMAIN_ . _PATH_) . 'email/new?key=' . e_html($event_key) . '&nick=' . e_html($user_ch['nick']) . '">' . e_html(_DOMAIN_ . _PATH_) . 'email/new?key=' . e_html($event_key) . '&nick=' . e_html($user_ch['nick']) . '</a><br><br>
      S pozdravem,<br>
      Tým Todolist
    </div>
  </body>
</html>';
$alt = 'Vážený uživateli' . "\r\n \r\n" . format_string('pro dokončení změny e‑mailové adresy na %s na Vašem uživatelském účtě %s, přejděte na následující odkaz:', $value, $user_ch['nick']) . "\r\n \r\n" . _DOMAIN_ . _PATH_ . 'email/new?key=' . $event_key . '&nick=' . $user_ch['nick'] . "\r\n \r\n" . 'S pozdravem,' . "\r\n" . 'Tým Todolist';
require_once 'lib/send_mail.php';
if (send_mail($value, 'Druhá část potvrzení změny e‑mailu', $html, $alt)) {
    $db->commit();
    reload('?fb=change_email_old_success');
} else {
    $db->rollback();
    reload('?fb=change_email_failed');
}
Пример #7
0
    $user_fp = $db->query('SELECT user_id FROM users WHERE nick = ' . $db->quote($_POST['nick']) . ' AND email = ' . $db->quote($_POST['email']))->fetch();
    if ($user_fp !== false) {
        $previous = $db->query('SELECT event_key FROM events WHERE event_type = ' . $db->quote(Event::PASSWORD_CHANGE) . ' AND event_complete = 0 AND event_expire > ' . $db->quote(time()))->fetch();
        if ($previous === false) {
            $event_key = Event::newKey();
            try {
                $db->beginTransaction();
                Event::add($db, $event_key, $user_fp['user_id'], Event::PASSWORD_CHANGE, time() + 3600 + 3600);
                // 2 hours
                require_once 'lib/send_mail.php';
                $html = '<html>
  <head></head>
  <body>
    <div>
      Vážený uživateli,<br><br>
      Požádal ste o zapomenuté heslo, které si mužete změnit <a href="' . _DOMAIN_ . _PATH_ . 'password/change?key=' . $event_key . '&nick=' . e_html($_POST['nick']) . '">tady</a>.<br>
      <br>    
      S pozdravem,<br>
      Tým Todolist
    </div>
  </body>
</html>';
                $alt = "Vážený uživateli,\r\n" . "Požádal ste o zapomenuté heslo, které si mužete změnit na této adrese:\r\n" . _DOMAIN_ . _PATH_ . 'password/change?key=' . $event_key . '&nick=' . $_POST['nick'] . "\r\n\r\n" . "S pozdravem,\r\n Tým Todolist";
                if (send_mail($_POST['email'], 'Zapomenuté heslo', $html, $alt)) {
                    $db->commit();
                    $tmpl->addMessage('Adresa na změnu hesla odeslána na váš email.', Template::MESSAGE_SUCCESS);
                } else {
                    $db->rollback();
                    $tmpl->addMessage('Adresu na změnu hesla se nepodařilo odeslat na váš email.', Template::MESSAGE_ERROR);
                }
            } catch (\Snabb\Database\Exception $e) {
Пример #8
0
function preview2($id, $title = null, $caption = null)
{
    header('Content-type: image/gif');
    $filename = 't/' . $id . $caption . 'b.gif';
    if (!file_exists($filename)) {
        $piano = array("C2", "C#2", "D2", "D#2", "E2", "F2", "F#2", "G2", "G#2", "A2", "A#2", "B2", "C3", "C#3", "D3", "D#3", "E3", "F3", "F#3", "G3", "G#3", "A3", "A#3", "B3", "C4", "C#4", "D4", "D#4", "E4", "F4", "F#4", "G4", "G#4", "A4", "A#4", "B4", "C5", "C#5", "D5", "D#5", "E5", "F5", "F#5", "G5", "G#5", "A5", "A#5", "B5", "C6", "C#6", "D6", "D#6", "E6", "F6", "F#6", "G6", "G#6", "A6", "A#6", "B6", "C7", "C#7", "D7", "D#7", "E7", "F7", "F#7", "G7", "G#7", "A7", "A#7", "B7");
        $im = imagecreatetruecolor(200, 200);
        $orange = imagecolorallocate($im, 27, 200, 224);
        $instrument_colors = array(imagecolorallocate($im, 27, 158, 224), imagecolorallocate($im, 255, 165, 0), imagecolorallocate($im, 153, 20, 20), imagecolorallocate($im, 204, 143, 198), imagecolorallocate($im, 54, 204, 43), imagecolorallocate($im, 96, 96, 96), imagecolorallocate($im, 81, 43, 204), imagecolorallocate($im, 168, 204, 43), imagecolorallocate($im, 21, 108, 176), imagecolorallocate($im, 116, 107, 0), imagecolorallocate($im, 241, 170, 0), imagecolorallocate($im, 145, 105, 42), imagecolorallocate($im, 83, 53, 7));
        $white = imagecolorallocate($im, 255, 255, 255);
        $black = imagecolorallocate($im, 0, 0, 0);
        $row = mysqli_fetch_array(db_query('SELECT title, data, date FROM sequences WHERE id="' . $id . '" LIMIT 1'));
        $data = $row['data'];
        $data = explode(':', $data);
        $data = $data[1];
        $parts = explode(";", $data);
        $notes = 0;
        imagefilledrectangle($im, 0, 0, 200, 200, $black);
        foreach ($parts as $p) {
            if (empty($p)) {
                continue;
            }
            $arr = explode(' ', $p);
            if (!isset($arr[3])) {
                $arr[3] = 0;
            }
            if (!isset($arr[1])) {
                continue;
            }
            $note = $arr[1];
            $time = $arr[0];
            $x = $time * 2;
            $y = (count($piano) - array_search($note, $piano) - 15) * 4;
            if ($x < 200 && $y < 200) {
                imagefilledrectangle($im, $x, $y, $x + 2, $y + 2, $instrument_colors[$arr[3]]);
            }
            $notes++;
        }
        $date = @date("m/d/y", $row['date']);
        if (!isset($title)) {
            if ($row['title'] != 'Untitled') {
                $title = e_html($row['title']);
            } else {
                $title = 'Sequence #' . $id;
            }
        }
        if (strlen($title) > 22) {
            $title = substr($title, 0, 22) . '...';
        }
        imagettftext($im, 12, 0, 10, 23, $black, "resources/Prototype.ttf", $title);
        imagettftext($im, 12, 0, 9, 22, $white, "resources/Prototype.ttf", $title);
        imagettftext($im, 12, 0, 10, 187, $black, "resources/Prototype.ttf", isset($caption) ? $caption : $date);
        imagettftext($im, 12, 0, 9, 186, $white, "resources/Prototype.ttf", isset($caption) ? $caption : $date);
        if (TEST) {
            imagegif($im);
            exit;
        } else {
            imagegif($im, $filename);
        }
    }
    echo file_get_contents($filename);
}