예제 #1
0
 function decide()
 {
     $plid = frm_get('plid', 1, 0);
     $tag = 'streamsid';
     $ids = array();
     $msg = '';
     if ($plid > 0) {
         $kppl = new kp_playlist($plid);
         if ($kppl->isloaded() && $kppl->appendaccess()) {
             if (isset($_FILES['fileupload']) && is_array($_FILES['fileupload'])) {
                 foreach ($_FILES['fileupload']['name'] as $id => $name) {
                     if (strlen($name) > 0 && isset($_FILES['fileupload']['tmp_name'][$id]) && $_FILES['fileupload']['size'][$id] > 0) {
                         $tmpn = $_FILES['fileupload']['tmp_name'][$id];
                         $fp = fopen($tmpn, 'rb');
                         if ($fp) {
                             $data = fread($fp, filesize($tmpn));
                             $spos = 0;
                             while (true) {
                                 $pos = strpos($data, $tag, $spos);
                                 if ($pos !== false) {
                                     $id = '';
                                     $ipos = $pos + strlen($tag) + 1;
                                     while (true && $ipos < strlen($data)) {
                                         if (is_numeric($data[$ipos])) {
                                             $id .= $data[$ipos];
                                             $ipos++;
                                         } else {
                                             break;
                                         }
                                     }
                                     if (is_numeric($id)) {
                                         $ids[] = $id;
                                     }
                                     $spos = $pos + strlen($tag);
                                 } else {
                                     break;
                                 }
                             }
                             if (count($ids) > 0) {
                                 for ($i = 0, $c = count($ids); $i < $c; $i++) {
                                     $r = get_searchrow($ids[$i]);
                                     if (!is_array($r)) {
                                         unset($ids[$i]);
                                     }
                                 }
                                 if (count($ids) > 0) {
                                     $kppl->addtoplaylist($ids);
                                 }
                                 $msg = get_lang(374, count($ids));
                             } else {
                                 $msg = get_lang(373);
                             }
                         } else {
                             $msg = get_lang(372);
                         }
                     } else {
                         $msg = get_lang(372);
                     }
                 }
             }
         }
     }
     $this->view($msg, $plid);
 }
예제 #2
0
파일: index.php 프로젝트: Git-Host/AMPPS
function playlist_editor($plid, $prev, $sort = 0)
{
    global $runinit, $cfg;
    $kpd = new kpdesign();
    $kpd->top(false, get_lang(59));
    $radiocolor = array(0 => '#7FFFD4', 1 => '#FFBF00');
    $radioseq = array();
    $kppl = new kp_playlist($plid);
    if ($kppl->isloaded() && $kppl->anyaccess()) {
        if ($kppl->soleaccess()) {
            $access = 1;
        } else {
            if ($kppl->writeaccess()) {
                $access = 2;
            } else {
                $access = 3;
            }
        }
        if (isset($_POST['scrolly'])) {
            $scrolly = $_POST['scrolly'];
        } else {
            if (isset($_GET['scrolly'])) {
                $scrolly = $_GET['scrolly'];
            } else {
                $scrolly = 0;
            }
        }
        if (ALLOWDOWNLOAD && db_guinfo('u_allowdownload') && $cfg['archivemode'] && db_guinfo('allowarchive')) {
            $dlbutton = true;
        } else {
            $dlbutton = false;
        }
        $result = db_execquery('SELECT * FROM ' . TBL_PLAYLIST_LIST . ' WHERE listid = ' . $plid . ' ORDER BY seq ASC');
        if ($result) {
            $cnt = mysql_num_rows($result);
        } else {
            $cnt = 0;
        }
        if (UNAUTHORIZEDSTREAMS) {
            $extra = '<a class="bbox" href="' . PHPSELF . '?streamplaylist=' . $plid . '&amp;extm3u=true">i</a> &nbsp;';
        } else {
            $extra = '';
        }
        echo blackboxpart(get_lang(46, $kppl->getname(), $cnt), 1, $extra);
        if (WINDOWPLAYER) {
            $kpwjs = new kpwinjs();
            $playcode = '<input type="button" value="' . get_lang(42) . '" class="fatbuttom" onclick="javascript: ' . $kpwjs->playlist($plid) . '"/>';
        } else {
            $playcode = '<input type="submit" name="playplaylist" value="' . get_lang(42) . '" class="fatbuttom"/>';
        }
        ?>
		<form style="margin:0;padding:0" action="<?php 
        echo PHPSELF;
        ?>
" method="post">
		<input type="hidden" name="action" value="playlisteditor"/>
		<input type="hidden" name="sel_playlist" value="<?php 
        echo $plid;
        ?>
"/>
		<input type="hidden" name="previous" value="<?php 
        echo $prev;
        ?>
"/>
		<input type="hidden" name="drive" value="<?php 
        echo $runinit['drive'];
        ?>
"/>

		<table width="700" cellspacing="2" border="0" cellpadding="2">
		<tr class="wtext">
			<td><?php 
        echo get_lang(92);
        ?>
</td>
			<td><?php 
        echo get_lang(54);
        ?>
</td>
			<td><?php 
        echo get_lang(44);
        ?>
</td>
			<td><?php 
        echo get_lang(125);
        ?>
</td>
			<td></td>
		</tr>
		<tr>
			<td>				
				<?php 
        echo '<input type="button" value="' . get_lang(34) . '" class="fatbuttom" onclick="javascript: chhttp(\'' . PHPSELF . '?pwd=' . $prev . '&amp;d=' . $runinit['drive'] . '\');"/>' . '&nbsp; ';
        echo $playcode . '&nbsp; ';
        if ($access == 1) {
            echo '<input type="submit" name="deleteplaylist" onclick="javascript: if (!confirm(\'' . get_lang(169) . '\')) return false;" value="' . get_lang(43) . '" class="fatbuttom"/>' . '&nbsp; ';
        }
        if ($dlbutton) {
            echo '<input type="button" name="pdlall" value="' . get_lang(117) . '" onclick="javascript: newwin(\'dlplaylist\', \'' . PHPSELF . '?action=dlplaylist&amp;pid=' . $plid . '\', 130, 450);" class="fatbuttom"/>';
        }
        ?>
			</td>
			<?php 
        echo '<td>';
        if ($access == 1) {
            echo '<input type="text" name="playlistname" value="' . $kppl->getname() . '" size="25" class="fatbuttom"/>';
        } else {
            echo $kppl->getname();
        }
        echo '</td><td>';
        if ($access == 1) {
            echo '<select name="public" class="fatbuttom" style="width:100px">' . $kppl->selectaccess() . '</select>';
        } else {
            echo '<select name="public" class="fatbuttom" disabled="disabled" style="width:100px">' . $kppl->selectaccess() . '</select>';
        }
        echo '</td><td>';
        if ($access == 1) {
            echo '<input type="checkbox" name="shuffle" value="1" ' . checked($kppl->getstatus()) . '/>';
        } else {
            echo '<input disabled="disabled" type="checkbox" name="shuffle" value="1" ' . checked($kppl->getstatus()) . '/>';
        }
        echo '</td><td>';
        if ($access == 1) {
            echo '<input type="submit" class="fatbuttom" name="saveplaylist" value="' . get_lang(45) . '"/>';
        }
        echo '&nbsp; <input type="submit" class="fatbuttom" name="refresh" value="' . get_lang(107) . '"/>';
        ?>
			</td>
		</tr>
		<tr>
			<td>
			<?php 
        if ($access == 1 || $access == 2) {
            echo '<select name="sort" class="fatbuttom">';
            $sorts = array(0 => get_lang(170), 1 => get_lang(171), 2 => get_lang(173), 3 => get_lang(180));
            echo selectoptions($sorts, $sort);
            echo '</select> &nbsp;';
            echo '<input type="submit" name="sortplaylist" value="' . get_lang(172) . '" class="fatbuttom"/>';
        }
        ?>
			</td>
		</tr>
		<?php 
        $min = time() - 1800;
        $res = db_execquery('SELECT * FROM ' . TBL_ICERADIO . ' WHERE lactive > ' . $min . ' AND playlistid = ' . $plid);
        if (mysql_num_rows($res) > 0 && ($access == 1 || $access == 2)) {
            echo '<tr><td>' . get_lang(369) . '</td></tr>';
            echo '<tr><td colspan="5">';
            $colorc = 0;
            while ($row = mysql_fetch_assoc($res)) {
                $kpr = new kpradio($row['stationid']);
                if ($kpr) {
                    if (!isset($radiocolor[$colorc])) {
                        $radiocolor[] = '#CCCCCC';
                    }
                    if (!isset($radioseq[$kpr->getcurseq()])) {
                        $radioseq[$kpr->getcurseq()] = $radiocolor[$colorc];
                    }
                    echo '<input class="fatbuttom" title="' . $kpr->getname() . '" style="background-color:' . $radiocolor[$colorc] . '" size="6" type="text" name="nextradioseq_' . $row['stationid'] . '" value="' . lzero($kpr->getnextseq()) . '"/> &nbsp;';
                    $colorc++;
                }
            }
            echo ' &nbsp;<input type="submit" class="fatbuttom" name="saveradiosequence" value="' . get_lang(45) . '"/>';
            echo '</td></tr>';
        }
        ?>
		</table>
		</form>
		<?php 
        echo blackboxpart(get_lang(46), 2);
        echo '<br/>';
        echo '<form onsubmit="javascript: savescrolly();" style="margin:0;padding:0" name="psongs" action="' . PHPSELF . '" method="post">';
        echo '<input type="hidden" name="previous" value="' . $prev . '"/>';
        echo '<input type="hidden" name="drive" value="' . $runinit['drive'] . '"/>';
        echo '<input type="hidden" name="sort" value="0"/>';
        echo '<input type="hidden" name="sel_playlist" value="' . $plid . '"/>';
        echo '<input type="hidden" id="scrolly" name="scrolly" value="0"/>';
        echo '<input type="hidden" name="action" value="playlisteditor"/>';
        if ($access == 1 || $access == 2) {
            echo blackboxpart(get_lang(47), 1);
        } else {
            echo blackboxpart(get_lang(48), 1);
        }
        if ($cnt > 0) {
            echo '<table width="700" cellspacing="0" border="0" cellpadding="0">';
            ?>
			<tr>
				<td width="70" class="wtext"><?php 
            echo get_lang(49);
            ?>
</td>
				<td width="70" class="wtext"><?php 
            echo get_lang(50);
            ?>
</td>
				<td width="110" class="wtext"><?php 
            echo get_lang(52);
            ?>
</td>
				<td width="95" class="wtext"><?php 
            if ($access == 1 || $access == 2) {
                echo get_lang(53);
            }
            ?>
</td>
				<td width="355" class="wtext"><?php 
            echo get_lang(141);
            ?>
</td>
			</tr>
			<?php 
            echo '<tr><td height="8"></td></tr>';
            echo '<tr bgcolor="#BCBCBC"><td colspan="5" height="1"></td></tr>';
            echo '<tr><td height="6"></td></tr>';
            $totalsec = $count = $countfails = 0;
            while ($row = mysql_fetch_array($result)) {
                $count++;
                $id = $row['id'];
                $f2 = new file2($row['sid'], true);
                if ($f2) {
                    $id3 = $f2->getid3();
                    if (is_numeric($id3['lengths'])) {
                        $totalsec += $id3['lengths'];
                    }
                    $seq = (int) $row['seq'];
                    if (isset($radioseq[$seq])) {
                        echo '<tr bgcolor="' . $radioseq[$seq] . '">';
                    } else {
                        if ($count % 2 == 0) {
                            echo '<tr class="row2nd">';
                        } else {
                            echo '<tr>';
                        }
                    }
                    echo '<td align="center">';
                    echo '<input type="checkbox" class="wtext" name="selected[]" value="' . $id . '"/>';
                    echo '</td>';
                    echo '<td>';
                    if ($access == 1 || $access == 2) {
                        echo '<input class="smalltext" type="text" name="seq[]" value="' . lzero($seq) . '" size="4"/>';
                    } else {
                        echo lzero($row['seq']);
                    }
                    echo '</td>';
                    echo '<td>';
                    if (is_numeric($id3['bitrate']) && $id3['bitrate'] != 0 && strlen($id3['length']) != 0) {
                        echo $id3['bitrate'] . 'kb - ' . $id3['length'];
                    }
                    echo '</td>';
                    echo '<td>';
                    if ($access == 1 || $access == 2) {
                        echo '<input title="' . get_lang(60) . '" class="fatbuttom" type="submit" name="singledel_' . $id . '" value="' . get_lang(43) . '"/>';
                    }
                    echo '</td>';
                    echo '<td><a ' . $f2->mkalink() . '>' . checkchs($f2->gentitle(array('title', 'artist'), 60)) . '</a></td>';
                    echo '</tr>';
                }
            }
            echo '<tr><td height="8"></td></tr>';
            echo '<tr bgcolor="#BCBCBC"><td colspan="5" height="1"></td></tr>';
            echo '<tr><td height="6"></td></tr>';
            $secs = $totalsec;
            $days = floor($secs / 86400);
            $secs = $secs % 86400;
            $hours = floor($secs / 3600);
            $secs = $secs % 3600;
            $min = floor($secs / 60);
            $secs = $secs % 60;
            $totshow = get_lang(187, $days, $hours, $min, $secs);
            echo '<tr><td colspan="2" class="wtext" align="center"><b>' . get_lang(55) . '</b></td><td>' . $totshow . '</td></tr>';
            echo '<tr><td height="12"></td></tr>';
            echo '<tr><td align="left" class="file" colspan="5">';
            echo '&nbsp;&nbsp;' . get_lang(73) . '&nbsp;&nbsp;<input type="button" value="+" class="fatbuttom" onclick="javascript: selectall();"/>&nbsp;&nbsp;';
            echo '<input type="button" value="-" class="fatbuttom" onclick="javascript: disselectall();"/>&nbsp;&nbsp;';
            echo get_lang(57) . '&nbsp;&nbsp;<input type="submit" class="fatbuttom" onclick="javascript: if (!anyselected()) { alert(\'' . get_lang(159) . '\'); return false; }" name="playselected" value="' . get_lang(42) . '"/>&nbsp;&nbsp;';
            if ($access == 1 || $access == 2) {
                echo '<input type="submit" class="fatbuttom" onclick="javascript: if (!anyselected()) { alert(\'' . get_lang(159) . '\'); return false; } else if (!confirm(\'' . get_lang(210) . '\')) return false;" name="delselected" value="' . get_lang(43) . '"/>&nbsp;&nbsp;';
                echo get_lang(58) . '&nbsp;&nbsp;<input type="submit" class="fatbuttom" name="saveseq" value="' . get_lang(45) . '"/>';
            }
            echo '</td></tr>';
            echo '<tr><td height="12"></td></tr>';
            echo '</table>';
        } else {
            echo get_lang(302);
        }
        if ($access == 1 || $access == 2) {
            echo blackboxpart(get_lang(47), 2);
        } else {
            echo blackboxpart(get_lang(48), 2);
        }
        echo '</form>';
        ?>
		<script type="text/javascript">
		<!--
			window.scrollTo(0, <?php 
        echo $scrolly;
        ?>
);
		-->
		</script>
		<?php 
    }
    $kpd->bottom();
}