当前位置: 首页>>代码示例>>PHP>>正文


PHP template::set_block方法代码示例

本文整理汇总了PHP中template::set_block方法的典型用法代码示例。如果您正苦于以下问题:PHP template::set_block方法的具体用法?PHP template::set_block怎么用?PHP template::set_block使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在template的用法示例。


在下文中一共展示了template::set_block方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: dok_list_users

function dok_list_users($VARS, $up, $theme_path)
{
    $t = new template($theme_path);
    $t->set_file('page', 'user_list.tpl');
    $t->set_block('page', 'user', 'user_block');
    $t->set_block('page', 'next_page', 'next_page_block');
    if (!isset($VARS['alpha'])) {
        $VARS['alpha'] = '-';
    }
    if (!strlen($VARS['offset']) || $VARS['offset'] < 0) {
        $VARS['offset'] = '0';
    }
    $VARS['alpha'] = mysql_real_escape_string($VARS['alpha']);
    $query = 'select id, name, editor, admin, disabled, creation, last_login from ' . dok_tn('user') . ' where substring(name from 1 for 1) >= \'' . $VARS['alpha'] . '\' order by name limit ' . $VARS['offset'] . ', ' . DOK_LIST_EPP;
    $res = dok_oquery($query);
    if ($res->numrows()) {
        //$ids = $res->fetch_col_array('id');
        //$n_res = dok_oquery('select album_id, count(*) as c from '.dok_tn('rel_song_album').' where album_id in('.implode(',',$ids).') group by album_id');
        //$n_array = $n_res->fetch_col_array('c','album_id');
        while ($user = $res->fetch_array()) {
            if ($user['admin']) {
                $admin = MSG_YES;
            } else {
                $admin = MSG_NO;
            }
            if ($user['editor']) {
                $editor = MSG_YES;
            } else {
                $editor = MSG_NO;
            }
            if ($user['disabled']) {
                $disabled = MSG_YES;
            } else {
                $disabled = MSG_NO;
            }
            if ($user['last_login'] == 0) {
                $last_login = MSG_USER_NEVER_LOGGED;
            } else {
                $last_login = date($THEME_DATE, $user['last_login']);
            }
            $t->set_var('USER_LINK', $_SERVER['PHP_SELF'] . '?display=view_user&id=' . $user['id']);
            $t->set_var(array('USER_NAME' => $user['name'], 'USER_DB_CREATION' => date($THEME_DATE, $user['creation']), 'USER_LAST_LOGIN' => $last_login, 'USER_ADMIN' => $admin, 'USER_EDITOR' => $editor, 'USER_DISABLED' => $disabled));
            $t->parse('user_block', 'user', 'true');
        }
        $res = mysql_query('select count(*) as c from ' . dok_tn('user') . ' where substring(name from 1 for 1) >= \'' . $VARS['alpha'] . '\'');
        $total = mysql_result($res, 0, 'c');
        if ($total > $VARS['offset'] + DOK_LIST_EPP) {
            $t->set_var('NEXT_PAGE_LINK', $_SERVER['PHP_SELF'] . '?display=list_users&alpha=' . $VARS['alpha'] . '&offset=' . ($VARS['offset'] + DOK_LIST_EPP));
            $t->parse('next_page_block', 'next_page');
        } else {
            $t->set_var('next_page_block', '');
        }
    } else {
        $t->set_var('user_block', MSG_NO_USER);
        $t->set_var('next_page_block', '');
    }
    return array($t, MSG_TITLE_LIST_USER);
}
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:58,代码来源:list_users.php

示例2: dok_box_ranked

function dok_box_ranked($display_module, $theme_path)
{
    if (DOK_USE_CACHE) {
        $fname = dok_c_box_filename('ranked', 'ignored');
        $cache = dok_c_get($fname);
        if ($cache) {
            return $cache;
        }
    }
    $res = mysql_query('select name, id from ' . dok_tn('song') . ' order by hits desc limit 10');
    echo mysql_error();
    if (!mysql_numrows($res)) {
        return;
    }
    $t = new template($theme_path);
    $t->set_file('page', 'box_default.tpl');
    $t->set_var('BOXTITLE', MSG_TITLE_BOX_RANKED_SONG);
    $t->set_block('page', 'boxlink', 'boxlinktag');
    $t->set_var('boxlinktag', '');
    if (!mysql_numrows($res)) {
        $t->set_var('BOXCONTENT', '');
    }
    while ($row = mysql_fetch_array($res)) {
        $t->set_var('LINK', $_SERVER['PHP_SELF'] . '?display=view_song&id=' . $row['id']);
        $t->set_var('LABEL', $row['name']);
        $t->parse('BOXCONTENT', 'boxlink', 'true');
    }
    $html = $t->parse('out', 'page');
    if (DOK_USE_CACHE) {
        dok_c_write($fname, $html);
    }
    return $html;
}
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:33,代码来源:box_ranked.php

示例3: dok_view_album

function dok_view_album($VARS, $update_module, $tpl_path)
{
    global $THEME_DATE, $ARTIST_SONG_LINKS, $USER;
    if (!isset($VARS['id']) || !is_numeric($VARS['id']) || $VARS['id'] < 1) {
        $t = dok_error_template(MSG_ERR_ALBUM_DISPLAY);
        return array($t, sprintf(MSG_TITLE_DISPLAY_ALBUM, ''));
    }
    $res = mysql_query('select name, creation from ' . dok_tn('album') . ' where id = ' . $VARS['id']);
    if (!mysql_numrows($res)) {
        $t = dok_error_template(MSG_ERR_ALBUM_DISPLAY);
        return array($t, sprintf(MSG_TITLE_DISPLAY_ALBUM, ''));
    }
    $row = mysql_fetch_assoc($res);
    $t = new template($tpl_path);
    $t->set_file('page', 'album_display.tpl');
    $t->set_block('page', 'if_albumeditor', 'editor_block');
    $t->set_block('page', 'album_songs', 'songs_block');
    $t->set_var(array('ALBUM_NAME' => $row['name'], 'ALBUM_DB_CREATION' => date($THEME_DATE, $row['creation'])));
    if (DOK_ENABLE_USER && !$USER->editor && !$USER->admin) {
        $t->set_var('editor_block', '');
    } else {
        $t->set_var('ALBUM_EDIT_LINK', $_SERVER['PHP_SELF'] . '?display=edit_album&id=' . $VARS['id']);
        $t->parse('editor_block', 'if_albumeditor');
    }
    $query = 'select s.id, s.name, s.creation, s.length, s.release, s.comment, r.track from ' . dok_tn('rel_song_album') . ' as r left join ' . dok_tn('song') . ' as s on r.song_id = s.id where r.album_id = ' . $VARS['id'] . ' order by r.track';
    $songs = dok_oquery($query);
    $album_length = 0;
    if (!$songs->numrows()) {
        $t->set_var('songs_block', MSG_NO_SONG);
    } else {
        $pager_data = array('related' => 'album', 'related_id' => $VARS['id']);
        while ($song = $songs->fetch_array()) {
            $song_data = dok_song_format($song, $pager_data);
            $song_data['SONG_ARTIST'] = preg_replace('/^' . $ARTIST_SONG_LINKS[0] . '/', '', $song_data['SONG_ARTIST']);
            $t->set_var($song_data);
            $t->set_var('SONG_TRACK', $song['track']);
            $t->parse('songs_block', 'album_songs', 'true');
            $album_length += $song['length'];
        }
    }
    $t->set_var('ALBUM_LENGTH', dok_sec2str($album_length));
    $t->set_var('ALBUM_SONGS', $songs->numrows());
    return array($t, sprintf(MSG_TITLE_DISPLAY_ALBUM, $row['name']));
}
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:44,代码来源:view_album.php

示例4: template

 function login_form($message = "")
 {
     $tpl = new template("templates/");
     $tpl->load("login.html");
     $tpl->set_block("form");
     $tpl->set_variable("AppTitle", traducir_cadena("AppTitle"));
     $tpl->set_variable("AdminModule", traducir_cadena("AdminModule"));
     $tpl->set_variable("Institute", traducir_cadena("Institute"));
     $tpl->set_variable("WelcomeAdmin", traducir_cadena("WelcomeAdmin"));
     $tpl->set_variable("message", traducir_cadena($message));
     $tpl->set_variable("user", traducir_cadena("user"));
     $tpl->set_variable("password", traducir_cadena("password"));
     $tpl->parse_block("form");
     return $tpl->get();
 }
开发者ID:pelao88,项目名称:evaluaciones,代码行数:15,代码来源:login.php

示例5: dok_ask_sound_artist

function dok_ask_sound_artist($VARS, $update, $theme_path)
{
    if (!is_array($VARS['soundex']) || !sizeof($VARS['soundex'])) {
        $t = dok_error_template(MSG_ERR_ARTIST_NOT_FOUND);
        return array($t, MSG_TITLE_SOUNDEX_TEST);
    }
    $t = new template($theme_path);
    $t->set_file('page', 'artist_soundex.tpl');
    $t->set_block('page', 'artists', 'artists_block');
    $t->set_var('NEW_ARTIST_NAME', $VARS['name']);
    $t->set_var('ARTIST_CREATE_FORM', '<form method="post" action="' . $_SERVER['PHP_SELF'] . '"><input type=hidden name="update" value="create_artist"><input type=hidden name="soundex_checked" value="1"><input type=hidden name="name" value="' . str_replace('"', '&quot;', $VARS['name']) . '">');
    foreach ($VARS['soundex'] as $id => $name) {
        $t->set_var('ARTIST_NAME', $name);
        $t->parse('artists_block', 'artists', 'true');
    }
    return array($t, MSG_TITLE_SOUNDEX_TEST);
}
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:17,代码来源:ask_sound_artist.php

示例6: dok_view_user

function dok_view_user($VARS, $update, $theme_path)
{
    global $USER, $THEME_DATE;
    if (!isset($VARS['id']) || !is_numeric($VARS['id']) || $VARS['id'] < 1) {
        $t = dok_error_template(MSG_ERR_USER_DISPLAY);
        return array($t, sprintf(MSG_TITLE_DISLAY_USER, ''));
    }
    $res = mysql_query('select * from ' . dok_tn('user') . ' where id = ' . $VARS['id']);
    if (!mysql_numrows($res)) {
        $t = dok_error_template(MSG_ERR_USER_DISPLAY);
        return array($t, sprintf(MSG_TITLE_DISPLAY_USER, ''));
    }
    $user = mysql_fetch_array($res);
    $t = new template($theme_path);
    $t->set_file('page', 'user_display.tpl');
    $t->set_block('page', 'if_could_edit', 'if_could_edit_block');
    if (DOK_ENABLE_USER && ($USER->admin || $USER->id == $user['id']) || !DOK_ENABLE_USER) {
        $t->parse('if_could_edit_block', 'if_could_edit');
    } else {
        $t->set_var('if_could_edit_block', '');
    }
    if ($user['admin']) {
        $admin = MSG_YES;
    } else {
        $admin = MSG_NO;
    }
    if ($user['editor']) {
        $editor = MSG_YES;
    } else {
        $editor = MSG_NO;
    }
    if ($user['disabled']) {
        $disabled = MSG_YES;
    } else {
        $disabled = MSG_NO;
    }
    if ($user['last_login'] == 0) {
        $last_login = MSG_USER_NEVER_LOGGED;
    } else {
        $last_login = date($THEME_DATE, $user['last_login']);
    }
    $t->set_var(array('USER_NAME' => $user['name'], 'USER_DB_CREATION' => date($THEME_DATE, $user['creation']), 'USER_LAST_LOGIN' => $last_login, 'USER_ADMIN' => $admin, 'USER_EDITOR' => $editor, 'USER_DISABLED' => $disabled, 'USER_EDIT_LINK' => $_SERVER['PHP_SELF'] . '?display=edit_user&id=' . $user['id']));
    return array($t, sprintf(MSG_TITLE_DISPLAY_USER, $user['name']));
}
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:44,代码来源:view_user.php

示例7: dok_edit_user

function dok_edit_user($VARS, $update_module, $theme_path)
{
    global $USER;
    if (!$VARS['id'] || !is_numeric($VARS['id']) || $VARS['id'] < 1) {
        $t = dok_error_template(MSG_ERR_USER_NOT_FOUND);
        return array($t, sprintf(MSG_TITLE_EDIT_USER, MSG_UNKNOWN));
    }
    $res = mysql_query('select * from ' . dok_tn('user') . ' where id = ' . $VARS['id']);
    if (!mysql_numrows($res)) {
        $t = dok_error_template(MSG_ERR_USER_NOT_FOUND);
        return array($t, sprintf(MSG_TITLE_EDIT_USER, MSG_UNKNOWN));
    }
    $row = mysql_fetch_array($res);
    if (DOK_ENABLE_USER && (!$USER->admin && $USER->id != $row['id'])) {
        $t = dok_error_template(MSG_ERR_USER_EDITION_NOT_ALLOWED);
        return array($t, sprintf(MSG_TITLE_EDIT_USER, MSG_UNKNOWN));
    }
    $t = new template($theme_path);
    $editor_cb = '<input type="checkbox" name="editor" value="1"';
    if ($row['editor']) {
        $editor_cb .= ' CHECKED';
    }
    $editor_cb .= '>';
    $admin_cb = '<input type="checkbox" name="admin" value="1"';
    if ($row['admin']) {
        $admin_cb .= ' CHECKED';
    }
    $admin_cb .= '>';
    $disabled_cb = '<input type="checkbox" name="disabled" value="1"';
    if ($row['disabled']) {
        $disabled_cb .= ' CHECKED';
    }
    $disabled_cb .= '>';
    $t->set_file('page', 'user_edit.tpl');
    $t->set_block('page', 'if_admin', 'if_admin_block');
    if (!DOK_ENABLE_USER || $USER->admin) {
        $t->parse('if_admin_block', 'if_admin');
    } else {
        $t->set_var('if_admin_block', '');
    }
    $t->set_var(array('USER_ID' => $row['id'], 'USER_NAME' => $row['name'], 'USER_NAME_TF' => str_replace('"', '&quot;', $row['name']), 'USER_EDITOR_CB' => $editor_cb, 'USER_DISABLED_CB' => $disabled_cb, 'USER_ADMIN_CB' => $admin_cb));
    return array($t, sprintf(MSG_TITLE_EDIT_USER, $row['name']));
}
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:43,代码来源:edit_user.php

示例8: template

 function login_form($message = "", $clave_examen = "")
 {
     $tpl = new template("templates/");
     $tpl->load("form.html");
     $tpl->set_block("form");
     $tpl->set_variable("AppTitle", traducir_cadena("AppTitle"));
     $tpl->set_variable("ExamModule", traducir_cadena("ExamModule"));
     $tpl->set_variable("Institute", traducir_cadena("Institute"));
     $tpl->set_variable("WelcomeExam", traducir_cadena("WelcomeExam"));
     $tpl->set_variable("Instructions", traducir_cadena("Instructions"));
     $tpl->set_variable("message", $message);
     $tpl->set_variable("txtsessionid", traducir_cadena("txtsessionid"));
     $sessionid = rand();
     $tpl->set_variable("randval", $sessionid);
     $tpl->set_variable("txtstudentid", traducir_cadena("txtstudentid"));
     $tpl->set_variable("txtidexamen", $clave_examen);
     $tpl->set_variable("txtquestionpaperid", traducir_cadena("txtquestionpaperid"));
     $tpl->set_variable("txtsubmit", traducir_cadena("txtsubmit"));
     $tpl->set_variable("txtreset", traducir_cadena("txtreset"));
     $tpl->set_variable("password", traducir_cadena("password"));
     $tpl->parse_block("form");
     return $tpl->get();
 }
开发者ID:pelao88,项目名称:evaluaciones,代码行数:23,代码来源:model_exam.php

示例9: dok_edit_song

function dok_edit_song($VARS, $update_module, $theme_path)
{
    global $SONGS_LINKS, $SONGS_LABELS;
    if (!$VARS['id'] || !is_numeric($VARS['id']) || $VARS['id'] < 1) {
        $t = dok_error_template(MSG_ERR_SONG_NOT_FOUND);
        return array($t, sprintf(MSG_TITLE_EDIT_SONG, MSG_UNKNOWN));
    }
    $res = mysql_query('select * from ' . dok_tn('song') . ' where id = ' . $VARS['id']);
    if (!mysql_numrows($res)) {
        $t = dok_error_template(MSG_ERR_SONG_NOT_FOUND);
        return array($t, sprintf(MSG_TITLE_EDIT_SONG, MSG_UNKNOWN));
    }
    $row = mysql_fetch_assoc($res);
    if (!$row['label']) {
        $row['label'] = 0;
    }
    $label_select = '<option value="0"';
    if ($row['label'] == 0) {
        $label_select .= ' SELECTED';
    }
    $label_select .= '>' . MSG_LABEL_NONE . '</option>';
    foreach ($SONGS_LABELS as $key => $val) {
        $label_select .= '<option value="' . $key . '"';
        if ($row['label'] == $key) {
            $label_select .= ' SELECTED';
        }
        $label_select .= '>' . $val['label'] . '</option>';
    }
    $t = new template($theme_path);
    $t->set_file('page', 'song_edit.tpl');
    $main_song_data = dok_song_format($row);
    $main_song_data['SONG_ID'] = $VARS['id'];
    $t->set_var('SONG_NAME_TF', str_replace('"', '&quot;', $row['name']));
    $t->set_var('SONG_LENGTH_TF', str_replace('"', '&quot;', $row['length']));
    $t->set_var('SONG_RELEASE_TF', str_replace('"', '&quot;', $row['release']));
    $t->set_var('SONG_LABELS_SELECT', $label_select);
    $t->set_var('SONG_COMMENT_TF', dok_db_2_textarea($row['comment']));
    $t->set_var('SONG_GENRE_SELECT', dok_get_genre_select('genre', $row['genre']));
    $t->set_block('page', 'artist_remove', 'artist_remove_block');
    $t->set_block('page', 'artist', 'artist_block');
    $t->set_block('page', 'relation', 'relation_block');
    $res = mysql_query('select a.name, a.id from ' . dok_tn('rel_song_artist') . ' as r left join ' . dok_tn('artist') . ' as a on r.artist_id = a.id where r.song_id = ' . $VARS['id']);
    if (!mysql_numrows($res)) {
        $t->set_var('artist_block', '');
    } elseif (mysql_numrows($res) == 1) {
        $a_row = mysql_fetch_array($res);
        $t->set_var('ARTIST_NAME', $a_row['name']);
        $t->parse('artist_block', 'artist');
        $t->set_var('artist_remove_block', '');
    } else {
        while ($a_row = mysql_fetch_array($res)) {
            $t->set_var('ARTIST_REMOVE_LINK', $_SERVER['PHP_SELF'] . '?update=unlink_song_artist&artist=' . $a_row['id'] . '&id=' . $row['id'] . '&nohit=1');
            $t->parse('artist_remove_block', 'artist_remove');
            $t->set_var('ARTIST_NAME', $a_row['name']);
            $t->parse('artist_block', 'artist', 'true');
        }
    }
    $t->set_var('ARTIST_ADD_LINK', $_SERVER['PHP_SELF'] . '?display=link_song_artist&id=' . $row['id']);
    $t->set_block('page', 'album_remove', 'album_remove_block');
    $t->set_block('page', 'album', 'album_block');
    $res = mysql_query('select a.name, a.id, r.track from ' . dok_tn('rel_song_album') . ' as r left join ' . dok_tn('album') . ' as a on r.album_id = a.id where r.song_id = ' . $VARS['id']);
    if (!mysql_numrows($res)) {
        $t->set_var('album_block', '');
    } elseif (mysql_numrows($res) == 1) {
        $a_row = mysql_fetch_array($res);
        $t->set_var('ALBUM_NAME', $a_row['name']);
        $t->set_var('ALBUM_TRACK_FORM', '<form method=post action="' . $_SERVER['PHP_SELF'] . '"><input type=hidden name=update value="song_track"><input type="hidden" name="album_id" value="' . $a_row['id'] . '"><input type="hidden" name="song_id" value="' . $row['id'] . '">');
        $t->set_var('ALBUM_TRACK', $a_row['track']);
        $t->parse('album_block', 'album');
        $t->set_var('album_remove_block', '');
    } else {
        while ($a_row = mysql_fetch_array($res)) {
            //echo "parsing ".$a_row['name'].' ( '.$a_row['id'].' )';
            $t->set_var('ALBUM_REMOVE_LINK', $_SERVER['PHP_SELF'] . '?update=unlink_song_album&album=' . $a_row['id'] . '&id=' . $row['id']);
            $t->parse('album_remove_block', 'album_remove');
            $t->set_var('ALBUM_NAME', $a_row['name']);
            $t->set_var('ALBUM_TRACK_FORM', '<form method=post action="' . $_SERVER['PHP_SELF'] . '"><input type=hidden name=update value="song_track"><input type="hidden" name="album_id" value="' . $a_row['id'] . '"><input type="hidden" name="song_id" value="' . $row['id'] . '">');
            $t->set_var('ALBUM_TRACK', $a_row['track']);
            $t->parse('album_block', 'album', 'true');
        }
    }
    $t->set_var('ALBUM_ADD_LINK', $_SERVER['PHP_SELF'] . '?display=link_song_album&id=' . $row['id']);
    $fields = array_keys($row);
    $query = 'select ';
    foreach ($fields as $field) {
        $query .= ' s1.' . $field . ' as s1' . $field . ', s2.' . $field . ' as s2' . $field . ',';
    }
    $query .= 'r.link from ' . dok_tn('rel_songs') . ' as r left join ' . dok_tn('song') . ' as s1 on r.song_id1=s1.id left join ' . dok_tn('song') . ' as s2 on r.song_id2=s2.id where song_id1=' . $row['id'] . ' or song_id2=' . $row['id'] . ' order by link';
    //echo $query;
    $res = mysql_query($query);
    $link = false;
    $relations = array();
    while ($subrow = mysql_fetch_assoc($res)) {
        if ($subrow['s1id'] == $row['id']) {
            if (is_array($SONGS_LINKS[$subrow['link']]) && $SONGS_LINKS[$subrow['link']][0]) {
                $good_song = 's2';
                $good_link = $subrow['link'] . '-' . '0';
            } else {
                unset($good_song);
                unset($good_link);
//.........这里部分代码省略.........
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:101,代码来源:edit_song.php

示例10: dok_link_songs

function dok_link_songs($VARS, $update, $theme_path)
{
    if (!is_numeric($VARS['id']) || $VARS['id'] < 1) {
        $VARS['id'] = 0;
    }
    $res = mysql_query('select * from ' . dok_tn('song') . ' where id = ' . $VARS['id']);
    if (!mysql_numrows($res)) {
        $t = dok_error_template(MSG_ERR_SONG_NOT_FOUND);
        return array($t, MSG_TITLE_ADD_SONG_ALBUM);
    }
    $song = mysql_fetch_array($res);
    if (!isset($VARS['alpha'])) {
        $VARS['alpha'] = ' ';
    }
    if (!isset($VARS['alpha'])) {
        $VARS['alpha'] = 'a';
        //could change again later with $letters array
    }
    /**	$res = dok_oquery('select distinct(album_id) as aid from '.dok_tn('rel_song_album').' where song_id = '.$song['id']);
    	$current_albums = $res->fetch_col_array('aid');
    	$where = '';
    	if ( sizeof($current_albums) )	$where = ' where id not in('.implode(',',$current_albums).')';*/
    $t = new template($theme_path);
    $t->set_file('page', 'song_song_link.tpl');
    $t->set_block('page', 'alphalink', 'alphalink_block');
    $t->set_block('page', 'song', 'song_block');
    //make alphalinks
    $letters = dok_letter_array('song');
    if (!sizeof($letters)) {
        $t->set_var('alphalink_block', '');
    } else {
        if (!isset($VARS['alpha'])) {
            $VARS['alpha'] = reset($letters);
        }
        foreach ($letters as $letter) {
            $lnk = $_SERVER['PHP_SELF'] . '?display=link_songs&id=' . $VARS['id'];
            if ($VARS['link']) {
                $lnk .= '&link=' . urlencode($VARS['link']);
            }
            $lnk .= '&alpha=' . urlencode($letter);
            $t->set_var('ALPHALINK_LINK', $lnk);
            $t->set_var('ALPHALINK_LETTER', $letter);
            $t->parse('alphalink_block', 'alphalink', 'true');
        }
    }
    $where = ' where substring(name from 1 for 1) = \'' . addslashes($VARS['alpha']) . '\' and id != ' . $VARS['id'];
    $res = mysql_query('select * from ' . dok_tn('song') . $where . ' order by name');
    while ($row = mysql_fetch_array($res)) {
        $t->set_var('SONG_CB', '<input type=radio name="other_id" value="' . $row['id'] . '">');
        $t->set_var(dok_song_format($row));
        $t->parse('song_block', 'song', 'true');
    }
    $la = dok_songs_links_array();
    $options = '';
    foreach ($la as $value => $legend) {
        $options .= '<option value="' . str_replace('"', '&quot;', $value) . '">' . $legend . '</option>' . "\n";
    }
    $t->set_var('RELATION_OPTIONS', $options);
    $t->set_var(dok_song_format($song));
    $t->set_var('ALBUM_SELECT', $a_select);
    $t->set_var('SONG_ID', $song['id']);
    return array($t, MSG_TITLE_ADD_SONG_LINK);
}
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:63,代码来源:link_songs.php

示例11: dok_list_albums

function dok_list_albums($VARS, $up, $theme_path)
{
    $orders = array('hits', 'length');
    $t = new template($theme_path);
    $t->set_file('page', 'album_list.tpl');
    $t->set_block('page', 'if_artist', 'artist_block');
    $t->set_block('page', 'if_artist_2', 'artist_2_block');
    $t->set_block('page', 'album', 'album_block');
    $t->set_block('page', 'next_page', 'next_page_block');
    if (!isset($VARS['alpha'])) {
        $VARS['alpha'] = '-';
    }
    if (!strlen($VARS['offset']) || $VARS['offset'] < 0) {
        $VARS['offset'] = '0';
    }
    $VARS['alpha'] = mysql_real_escape_string($VARS['alpha']);
    //$query = 'select id, name from '.dok_tn('album').' where substring(name from 1 for 1) >= \''.$VARS['alpha'].'\' order by name limit  '.$VARS['offset'].', '.DOK_LIST_EPP;
    $query = 'select sum(s.length) as length, count(s.id) as c, sum(s.hits) as hits, a.id, a.name from ' . dok_tn('song') . ' as s left join ' . dok_tn('rel_song_album') . ' as r on s.id=r.song_id left join ' . dok_tn('album') . ' as a on r.album_id=a.id ';
    $where = array();
    if (isset($VARS['sort']) && !in_array($VARS['sort'], $orders) || !isset($VARS['sort'])) {
        unset($VARS['sort']);
        $where[] = 'substring(a.name from 1 for 1) >= \'' . $VARS['alpha'] . '\' ';
    }
    if (isset($VARS['artist']) && is_numeric($VARS['artist']) && $VARS['artist'] > 0) {
        $res = mysql_query('select * from ' . dok_tn('artist') . ' where id = ' . $VARS['artist']);
        if (mysql_numrows($res)) {
            $row = mysql_fetch_assoc($res);
            $t->set_var('ARTIST_NAME', $row['name']);
            $t->set_var('ARTIST_ID', $row['id']);
            $t->parse('artist_block', 'if_artist');
            $res = dok_oquery('select distinct(r.album_id) from ' . dok_tn('rel_song_album') . ' as r left join ' . dok_tn('rel_song_artist') . ' as r2 on r.song_id=r2.song_id where r2.artist_id = ' . $VARS['artist']);
            $al_ids = $res->fetch_col_array('album_id');
            if (sizeof($al_ids)) {
                $where[] = 'a.id in(' . implode(', ', $al_ids) . ')';
            }
        } else {
            unset($VARS['artist']);
            $t->set_var('artist_block', '');
        }
    } else {
        unset($VARS['artist']);
        $t->set_var('artist_block', '');
    }
    if (sizeof($where)) {
        $query .= ' where ' . implode(' AND ', $where);
    }
    $query .= 'group by r.album_id ';
    if (isset($VARS['sort'])) {
        $query .= 'order by ' . $VARS['sort'] . ' desc ';
    } else {
        $query .= 'order by a.name ';
    }
    $query .= 'limit ' . $VARS['offset'] . ', ' . DOK_LIST_EPP;
    $res = dok_oquery($query);
    echo mysql_error();
    if ($res->numrows()) {
        //$ids = $res->fetch_col_array('id');
        //$n_res = dok_oquery('select album_id, count(*) as c from '.dok_tn('rel_song_album').' where album_id in('.implode(',',$ids).') group by album_id');
        //$n_array = $n_res->fetch_col_array('c','album_id');
        while ($row = $res->fetch_array()) {
            $t->set_var('ALBUM_LINK', $_SERVER['PHP_SELF'] . '?display=view_album&id=' . $row['id']);
            $t->set_var('ALBUM_NAME', $row['name']);
            $t->set_var('ALBUM_HITS', $row['hits']);
            $t->set_var('ALBUM_LENGTH', dok_sec2str($row['length']));
            if ($row['c'] > 0) {
                $t->set_var('ALBUM_SONGS', $row['c']);
            } else {
                $t->set_var('ALBUM_SONGS', 0);
            }
            $t->parse('album_block', 'album', 'true');
        }
        $t_query = 'select count(*) as c from ' . dok_tn('album') . ' as a';
        if (sizeof($where)) {
            $t_query .= ' where ' . implode(' AND ', $where);
        }
        $res = mysql_query($t_query);
        $total = mysql_result($res, 0, 'c');
        if ($total > $VARS['offset'] + DOK_LIST_EPP) {
            $link = $_SERVER['PHP_SELF'] . '?display=list_albums&alpha=' . $VARS['alpha'] . '&offset=' . ($VARS['offset'] + DOK_LIST_EPP . '&artist=' . $VARS['artist']);
            if (isset($VARS['sort'])) {
                $link .= '&sort=' . $VARS['sort'];
            }
            $t->set_var('NEXT_PAGE_LINK', $link);
            $t->parse('next_page_block', 'next_page');
        } else {
            $t->set_var('next_page_block', '');
        }
    } else {
        $t->set_var('album_block', MSG_NO_ALBUM);
        $t->set_var('next_page_block', '');
    }
    return array($t, MSG_TITLE_LIST_ALBUM);
}
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:93,代码来源:list_albums.php

示例12: dok_list_full

function dok_list_full($VARS, $up, $theme_path)
{
    global $THEME_FULL_LIST_COLUMN;
    $t = new template($theme_path);
    $t->set_file('page', 'full_list.tpl');
    $t->set_block('page', 'element_letter', 'element_letter_block');
    $t->set_block('page', 'element', 'element_block');
    $t->set_block('page', 'next_block', 'next_block_block');
    $t->set_var('element_letter_block', '');
    $t->set_var('next_block_block', '');
    if (!isset($VARS['element']) || !in_array($VARS['element'], array('artist', 'song', 'album', 'user'))) {
        $VARS['element'] = 'song';
    }
    if ($VARS['element'] == 'album') {
        $msg = MSG_NO_ALBUM;
        $element_name = MSG_ALBUMS;
    } elseif ($VARS['element'] == 'artist') {
        $msg = MSG_NO_ARTIST;
        $element_name = MSG_ARTISTS;
    } elseif ($VARS['element'] == 'user') {
        $msg = MSG_NO_USER;
        $element_name = MSG_USERS;
    } else {
        $msg = MSG_NO_SONG;
        $element_name = MSG_SONGS;
    }
    $t->set_var('LIST_ELEMENT_NAME', $element_name);
    $where = '';
    if (($VARS['element'] == 'album' || $VARS['element'] == 'song') && isset($VARS['artist_id']) && is_numeric($VARS['artist_id']) && $VARS['artist_id'] > 0) {
        $res = mysql_query('select name from ' . dok_tn('artist') . ' where id = ' . $VARS['artist_id']);
        if (mysql_numrows($res)) {
            $row = mysql_fetch_array($res);
            $t->set_var('ARTIST_NAME', $row['name']);
            $t->set_var('ARTIST_LINK', $_SERVER['PHP_SELF'] . '?display=view_artist&id=' . $VARS['artist_id']);
            if ($VARS['element'] == 'song') {
                $where = 'left join ' . dok_tn('rel_song_artist') . ' as r on a.id=r.song_id where r.artist_id = ' . $VARS['artist_id'];
            } else {
                $where = 'left join ' . dok_tn('rel_song_album') . ' as r on a.id=r.album_id left join ' . dok_tn('rel_song_artist') . ' as r2 on r.song_id=r2.song_id  where r2.artist_id = ' . $VARS['artist_id'] . ' group by a.id';
            }
        }
    } else {
        $t->set_var('ARTIST_NAME', '');
        $t->set_var('ARTIST_LINK', $_SERVER['PHP_SELF']);
    }
    $query = 'select a.id, a.name, substring(a.name from 1 for 1) as letter from ' . dok_tn($VARS['element']) . ' as a ' . $where . ' order by a.name';
    //echo $query.'<BR>';
    $res = dok_oquery($query);
    //echo mysql_error();
    if ($res->numrows()) {
        $letter = false;
        $count = -1;
        $div = 1;
        if ($res->numrows() <= reset($THEME_FULL_LIST_COLUMN)) {
            $el_per_block = $res->numrows();
            $div = 1;
        } elseif ($res->numrows() >= end($THEME_FULL_LIST_COLUMN)) {
            $div = key($THEME_FULL_LIST_COLUMN);
            $el_per_block = ceil($res->numrows() / $div);
        } else {
            $ak = array_keys($THEME_FULL_LIST_COLUMN);
            $i = 1;
            foreach ($THEME_FULL_LIST_COLUMN as $key => $val) {
                if ($res->numrows() >= $val && $res->numrows() <= $THEME_FULL_LIST_COLUMN[$ak[$i]]) {
                    $div = $key;
                    $el_per_block = ceil($res->numrows() / $key);
                    break;
                }
                $i++;
            }
        }
        $t->set_var('BLOCK_PERCENT', (int) (100 / $div));
        //if ( $res->numrows() < $THEME_FULL_LIST_COLUMN[0] && $res->numrows() < $THEME_FULL_LIST_COLUMN[0]
        //$el_per_block = ceil($res->numrows() /3);
        while ($row = $res->fetch_array()) {
            $count++;
            if ($count && !($count % $el_per_block)) {
                $t->parse('element_block', 'next_block', 'true');
            }
            if (!$letter || $letter != $row['letter']) {
                $letter = $row['letter'];
                $t->set_var('LIST_LETTER', strtoupper($letter));
                $t->parse('element_block', 'element_letter', 'true');
            }
            $t->set_var('LIST_LINK', $_SERVER['PHP_SELF'] . '?display=view_' . $VARS['element'] . '&id=' . $row['id']);
            $t->set_var('LIST_NAME', $row['name']);
            $t->parse('element_block', 'element', 'true');
        }
    } else {
        $t->set_var('element_block', $msg);
    }
    return array($t, $element_name . MSG_TITLE_LIST_FULL);
}
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:92,代码来源:list_full.php

示例13: dok_list_artists

function dok_list_artists($VARS, $up, $theme_path)
{
    $orders = array('count', 'length', 'albums');
    $t = new template($theme_path);
    $t->set_file('page', 'artist_list.tpl');
    $t->set_block('page', 'artist', 'artist_block');
    $t->set_block('page', 'next_page', 'next_page_block');
    if (!isset($VARS['alpha'])) {
        $VARS['alpha'] = '-';
    }
    $VARS['alpha'] = mysql_real_escape_string($VARS['alpha']);
    if (isset($VARS['sort']) && !in_array($VARS['sort'], $orders)) {
        unset($VARS['sort']);
    }
    if (!strlen($VARS['offset']) || $VARS['offset'] < 0) {
        $VARS['offset'] = '0';
    }
    $display = array();
    // here we do 2 queries: it's better than 1 for mysql
    if (isset($VARS['sort'])) {
        $my_display = array();
        $query = "select r.artist_id as id, count(distinct r.song_id) as count, sum(s.length) as length, count(distinct al.album_id) as albums from " . dok_tn("rel_song_artist") . ' as r left join ' . dok_tn('song') . ' as s on r.song_id=s.id left join ' . dok_tn('rel_song_album') . ' as al on r.song_id=al.song_id group by r.artist_id order by ' . $VARS['sort'] . ' desc limit ' . $VARS['offset'] . ', ' . DOK_LIST_EPP;
        //echo $query;
        $res = dok_oquery($query);
        while ($row = $res->fetch_array()) {
            $my_display[$row['id']] = array('id' => $row['id'], 'count' => $row['count'], 'length' => $row['length'], 'albums' => $row['albums']);
        }
        if (sizeof($my_display)) {
            $query = 'select name,id from ' . dok_tn('artist') . ' where id in(' . implode(', ', array_keys($my_display)) . ')';
            $res = dok_oquery($query);
            while ($row = $res->fetch_array()) {
                $my_display[$row['id']]['name'] = $row['name'];
            }
            foreach ($my_display as $one) {
                $display[] = $one;
            }
        }
    } else {
        $my_display = array();
        $query = 'select name,id from ' . dok_tn('artist') . ' where LEFT(name,1) >= \'' . $VARS['alpha'] . '\' order by name limit ' . $VARS['offset'] . ', ' . DOK_LIST_EPP;
        $res = dok_oquery($query);
        while ($row = $res->fetch_array()) {
            $my_display[$row['id']] = array('name' => $row['name'], 'id' => $row['id']);
        }
        if (sizeof($my_display)) {
            $query = "select r.artist_id as id, count(DISTINCT r.song_id) as count, sum(s.length) as length, count(distinct al.album_id) as albums  from " . dok_tn("rel_song_artist") . ' as r left join ' . dok_tn('song') . ' as s on r.song_id=s.id left join ' . dok_tn('rel_song_album') . ' as al on r.song_id=al.song_id where r.artist_id in(' . implode(', ', array_keys($my_display)) . ') group by r.artist_id';
            $res = dok_oquery($query);
            while ($row = $res->fetch_array()) {
                $my_display[$row['id']]['count'] = $row['count'];
                $my_display[$row['id']]['length'] = $row['length'];
                $my_display[$row['id']]['albums'] = $row['albums'];
            }
            foreach ($my_display as $one) {
                $display[] = $one;
            }
        }
    }
    if (sizeof($display)) {
        $display_first = $VARS['offset'] + 1;
        $display_last = $display_first - 1;
        foreach ($display as $row) {
            $t->set_var('ARTIST_LINK', $_SERVER['PHP_SELF'] . '?display=view_artist&id=' . $row['id']);
            $t->set_var('ARTIST_NAME', $row['name']);
            $t->set_var('ARTIST_SONGS', $row['count']);
            $t->set_var('ARTIST_ALBUMS', $row['albums']);
            $t->set_var('ARTIST_LENGTH', dok_sec2str($row['length']));
            $t->parse('artist_block', 'artist', 'true');
            $display_last++;
        }
        if (isset($VARS['sort'])) {
            $t_query = 'select count(*) as c from ' . dok_tn('rel_song_artist') . ' as r group by r.artist_id';
        } else {
            $t_query = 'select id from ' . dok_tn('artist') . ' where LEFT(name,1) >= \'' . $VARS['alpha'] . '\'';
            //$t_query='select count(*) as c from '.dok_tn('rel_song_artist').' as r left join '.dok_tn('artist').' as a on r.artist_id = a.id where substring(a.name from 1 for 1) >= \''.$VARS['alpha'].'\' group by r.artist_id';
            //echo $t_query;
        }
        $res = mysql_query($t_query);
        $total = mysql_numrows($res);
        if ($total > $VARS['offset'] + DOK_LIST_EPP) {
            $t->set_var('NEXT_PAGE_LINK', $_SERVER['PHP_SELF'] . '?display=list_artists&alpha=' . $VARS['alpha'] . '&offset=' . ($VARS['offset'] + DOK_LIST_EPP) . '&sort=' . $VARS['sort']);
            $t->parse('next_page_block', 'next_page');
        } else {
            $t->set_var('next_page_block', '');
        }
    } else {
        $t->set_var('artist_block', MSG_NO_ARTIST);
        $t->set_var('next_page_block', '');
    }
    return array($t, MSG_TITLE_LIST_ARTIST);
}
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:90,代码来源:list_artists.php

示例14: dok_view_song

function dok_view_song($VARS, $update, $theme_path)
{
    global $THEME_DATE, $USER, $SONGS_LINKS;
    if (!isset($VARS['id']) || !is_numeric($VARS['id']) || $VARS['id'] < 1) {
        $t = dok_error_template(MSG_ERR_SONG_DISPLAY);
        return array($t, sprintf(MSG_TITLE_DISPLAY_SONG, ''));
    }
    $res = mysql_query('select * from ' . dok_tn('song') . ' where id = ' . $VARS['id']);
    if (!mysql_numrows($res)) {
        $t = dok_error_template(MSG_ERR_SONG_DISPLAY);
        return array($t, sprintf(MSG_TITLE_DISPLAY_SONG, ''));
    }
    $row = mysql_fetch_assoc($res);
    $fields = array_keys($row);
    $t = new template($theme_path);
    $t->set_file('page', 'song_display.tpl');
    $t->set_block('page', 'song', 'song_block');
    $t->set_block('page', 'relation', 'relation_block');
    $t->set_block('page', 'if_relation', 'if_relation_block');
    $t->set_block('page', 'if_songeditor', 'songeditor_block');
    $t->set_block('page', 'if_label', 'label_block');
    if (DOK_ENABLE_USER && !$USER->editor && !$USER->admin) {
        $t->set_var('songeditor_block', '');
    } else {
        $t->parse('songeditor_block', 'if_songeditor');
        $t->set_var('SONG_EDIT_LINK', $_SERVER['PHP_SELF'] . '?display=edit_song&id=' . $row['id']);
    }
    $t->set_block('page', 'song_albums', 'albums_block');
    $query = 'select a.name, a.creation, a.id, r.track from ' . dok_tn('rel_song_album') . ' as r left join ' . dok_tn('album') . ' as a on r.album_id = a.id where r.song_id = ' . $VARS['id'] . ' order by a.name';
    $res = mysql_query($query);
    if (!mysql_numrows($res)) {
        $t->set_var('albums_block', MSG_NO_ALBUM);
    } else {
        while ($a_row = mysql_fetch_array($res)) {
            $t->set_var(array('ALBUM_LINK' => $_SERVER['PHP_SELF'] . '?display=view_album&id=' . $a_row['id'], 'ALBUM_NAME' => $a_row['name'], 'ALBUM_TRACK' => $a_row['track']));
            $t->parse('albums_block', 'song_albums', 'true');
        }
    }
    // song relations
    $rel = 0;
    $query = 'select ';
    foreach ($fields as $field) {
        $query .= ' s1.' . $field . ' as s1' . $field . ', s2.' . $field . ' as s2' . $field . ',';
    }
    $query .= 'r.link from ' . dok_tn('rel_songs') . ' as r left join ' . dok_tn('song') . ' as s1 on r.song_id1=s1.id left join ' . dok_tn('song') . ' as s2 on r.song_id2=s2.id where song_id1=' . $row['id'] . ' or song_id2=' . $row['id'] . ' order by link';
    //echo $query;
    $res = mysql_query($query);
    $link = false;
    $relations = array();
    while ($subrow = mysql_fetch_assoc($res)) {
        if ($subrow['s1id'] == $row['id']) {
            if (is_array($SONGS_LINKS[$subrow['link']]) && $SONGS_LINKS[$subrow['link']][0]) {
                $good_song = 's2';
                $good_link = $SONGS_LINKS[$subrow['link']][0];
            } else {
                unset($good_song);
                unset($good_link);
            }
        } else {
            if (is_array($SONGS_LINKS[$subrow['link']]) && $SONGS_LINKS[$subrow['link']][1]) {
                $good_song = 's1';
                $good_link = $SONGS_LINKS[$subrow['link']][1];
            } else {
                unset($good_song);
                unset($good_link);
            }
        }
        if (isset($good_song)) {
            $myrow = array();
            foreach ($fields as $field) {
                $myrow[$field] = $subrow[$good_song . $field];
            }
            $relations[$good_link][] = $myrow;
        }
    }
    $related_ids = array($row['id']);
    if (sizeof($relations)) {
        foreach ($relations as $relation => $songs) {
            $t->set_var('song_block', '');
            $t->set_var('SONG_RELATION', $relation);
            foreach ($songs as $song) {
                $rel++;
                $t->set_var(dok_song_format($song));
                $t->parse('song_block', 'song', 'true');
                $related_ids[] = $song['id'];
            }
            $t->parse('relation_block', 'relation', 'true');
        }
    }
    //same title
    $res = mysql_query('select * from ' . dok_tn('song') . ' where id not in(' . implode(', ', $related_ids) . ') and name = \'' . mysql_real_escape_string($row['name']) . '\'');
    if (mysql_numrows($res)) {
        $t->set_var('song_block', '');
        $t->set_var('SONG_RELATION', MSG_SONG_LINK_SAME_TITLE);
        while ($dup_row = mysql_fetch_array($res)) {
            $rel++;
            $t->set_var(dok_song_format($dup_row));
            $t->parse('song_block', 'song', 'true');
        }
        $t->parse('relation_block', 'relation', 'true');
//.........这里部分代码省略.........
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:101,代码来源:view_song.php

示例15: dok_search

function dok_search($VARS, $update, $theme_path)
{
    $t = new template($theme_path);
    $t->set_file('page', 'search.tpl');
    $t->set_block('page', 'song_result', 'song_block');
    $t->set_block('page', 'artist_result', 'artist_block');
    $t->set_block('page', 'album_result', 'album_block');
    $query = mysql_real_escape_string($VARS['query']);
    $query = str_replace(array('%', '_'), array('\\%', '\\_'), $query);
    if (!$VARS['exact_word'] && !strpos($query, ' ')) {
        $query = $query . '*';
    }
    //echo "Final query: $query <BR>";
    $target = $VARS['target'];
    $total = 0;
    if ($target != 'album' && $target != 'artist' && $target != 'song') {
        $target = 'all';
    }
    if ($target == 'all' || $target == 'song') {
        $matching = dok_search_song($query);
        if (!sizeof($matching)) {
            $t->set_var('song_block', MSG_SEARCH_NO_RESULT_SONG);
        } else {
            $total += sizeof($matching);
            foreach ($matching as $vars) {
                $t->set_var($vars);
                $t->parse('song_block', 'song_result', 'true');
            }
        }
    } else {
        $t->set_var('song_block', '');
    }
    if ($target == 'all' || $target == 'album') {
        $matching = dok_search_album($query);
        if (!sizeof($matching)) {
            $t->set_var('album_block', MSG_SEARCH_NO_RESULT_ALBUM);
        } else {
            $total += sizeof($matching);
            foreach ($matching as $vars) {
                $t->set_var($vars);
                $t->parse('album_block', 'album_result', 'true');
            }
        }
    } else {
        $t->set_var('album_block', '');
    }
    if ($target == 'all' || $target == 'artist') {
        $matching = dok_search_artist($query);
        if (!sizeof($matching)) {
            $t->set_var('artist_block', MSG_SEARCH_NO_RESULT_ARTIST);
        } else {
            $total += sizeof($matching);
            foreach ($matching as $vars) {
                $t->set_var($vars);
                $t->parse('artist_block', 'artist_result', 'true');
            }
        }
    } else {
        $t->set_var('artist_block', '');
    }
    $t->set_var('SEARCH_RESULTS', $total);
    $t->set_var('SEARCH_QUERY', str_replace('"', '&quot;', $VARS['query']));
    return array($t, sprintf(MSG_TITLE_SEARCH, $VARS['query']));
}
开发者ID:BackupTheBerlios,项目名称:diskotek,代码行数:64,代码来源:search.php


注:本文中的template::set_block方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。