everything is implemented backend wise for schedule dialog, just need to add html/css changes
This commit is contained in:
parent
be4d3f5466
commit
f18f500e1e
7 changed files with 124 additions and 134 deletions
|
@ -151,71 +151,6 @@ class Playlist {
|
|||
return $res;
|
||||
}
|
||||
|
||||
public static function findPlaylistMaxLength($p_length)
|
||||
{
|
||||
$con = Propel::getConnection(CcPlaylistPeer::DATABASE_NAME);
|
||||
|
||||
$sql = "SELECT sub.login, plt.length, pl.state, pl.creator, pl.description, pl.name, pl.id
|
||||
FROM cc_playlist AS pl LEFT JOIN cc_playlisttimes AS plt USING(id) LEFT JOIN cc_subjs AS sub ON pl.editedby = sub.id
|
||||
WHERE plt.length <= '{$p_length}' ";
|
||||
|
||||
$r = $con->query($sql);
|
||||
return $r->fetchAll();
|
||||
}
|
||||
|
||||
public static function searchPlaylists($p_length, $search=null)
|
||||
{
|
||||
$con = Propel::getConnection(CcPlaylistPeer::DATABASE_NAME);
|
||||
|
||||
$sql = "SELECT sub.login, plt.length, pl.state, pl.creator, pl.description, pl.name, pl.id
|
||||
FROM cc_playlist AS pl LEFT JOIN cc_playlisttimes AS plt USING(id) LEFT JOIN cc_subjs AS sub ON pl.editedby = sub.id
|
||||
WHERE plt.length <= '{$p_length}' ";
|
||||
|
||||
|
||||
if(!is_null($search)) {
|
||||
$keywords = explode(" ", $search);
|
||||
|
||||
$categories = array("pl.description", "pl.name", "pl.creator", "sub.login");
|
||||
|
||||
for($group_id=1; $group_id <= count($keywords); $group_id++) {
|
||||
|
||||
for($row_id=1; $row_id <= count($categories); $row_id++) {
|
||||
|
||||
$md["group_".$group_id]["row_".$row_id]["metadata"] = $categories[$row_id-1];
|
||||
$md["group_".$group_id]["row_".$row_id]["match"] = "ILIKE";
|
||||
$md["group_".$group_id]["row_".$row_id]["search"] = $keywords[$group_id-1];
|
||||
}
|
||||
}
|
||||
|
||||
$and_cond = array();
|
||||
foreach (array_keys($md) as $group) {
|
||||
|
||||
$or_cond = array();
|
||||
foreach (array_keys($md[$group]) as $row) {
|
||||
|
||||
$string = $md[$group][$row]["metadata"];
|
||||
$string = $string ." ".$md[$group][$row]["match"];
|
||||
$string = $string." '%". $md[$group][$row]["search"]."%'";
|
||||
|
||||
$or_cond[] = $string;
|
||||
}
|
||||
|
||||
if(count($or_cond) > 0) {
|
||||
$and_cond[] = "(".join(" OR ", $or_cond).")";
|
||||
}
|
||||
}
|
||||
|
||||
$where_search = " AND ". join(" AND ", $and_cond);
|
||||
$sql = $sql . $where_search;
|
||||
}
|
||||
|
||||
//echo $sql;
|
||||
|
||||
$r = $con->query($sql);
|
||||
return $r->fetchAll();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fetch instance of Playlist object.<br>
|
||||
*
|
||||
|
|
|
@ -638,7 +638,7 @@ class Show {
|
|||
return $length;
|
||||
}
|
||||
|
||||
public function searchPlaylistsForShow($start_timestamp, $search=null){
|
||||
public function searchPlaylistsForShow($start_timestamp, $datatables){
|
||||
global $CC_DBC;
|
||||
|
||||
$sql = "SELECT EXTRACT(DOW FROM TIMESTAMP '{$start_timestamp}')";
|
||||
|
@ -655,7 +655,6 @@ class Show {
|
|||
|
||||
$length = $this->getTimeUnScheduled($start_date, $start_date, $start_time, $end_time);
|
||||
|
||||
return Playlist::searchPlaylists($length, $search);
|
||||
|
||||
return StoredFile::searchPlaylistsForSchedule($length, $datatables);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1742,14 +1742,9 @@ class StoredFile {
|
|||
return $CC_CONFIG['accessDir']."/$p_token.$p_ext";
|
||||
}
|
||||
|
||||
public static function searchFiles($offset, $limit, $data)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC, $g_metadata_xml_to_db_mapping;
|
||||
public static function searchFilesForPlaylistBuilder($datatables) {
|
||||
|
||||
$columnsDisplayed = explode(",", $data["sColumns"]);
|
||||
|
||||
if($data["sSearch"] !== "")
|
||||
$searchTerms = explode(" ", $data["sSearch"]);
|
||||
global $CC_CONFIG, $g_metadata_xml_to_db_mapping;
|
||||
|
||||
$plSelect = "SELECT ";
|
||||
$fileSelect = "SELECT ";
|
||||
|
@ -1781,23 +1776,50 @@ class StoredFile {
|
|||
}
|
||||
}
|
||||
|
||||
$fromTable = " ((".$plSelect."PL.id
|
||||
FROM ".$CC_CONFIG["playListTable"]." AS PL
|
||||
LEFT JOIN ".$CC_CONFIG['playListTimeView']." AS PLT USING(id))
|
||||
|
||||
UNION
|
||||
|
||||
(".$fileSelect."id FROM ".$CC_CONFIG["filesTable"]." AS FILES)) AS RESULTS";
|
||||
|
||||
return StoredFile::searchFiles($fromTable, $datatables);
|
||||
|
||||
}
|
||||
|
||||
public static function searchPlaylistsForSchedule($p_length, $datatables) {
|
||||
|
||||
$fromTable = "cc_playlist AS pl LEFT JOIN cc_playlisttimes AS plt USING(id) LEFT JOIN cc_subjs AS sub ON pl.editedby = sub.id";
|
||||
|
||||
$datatables["optWhere"][] = "plt.length <= '{$p_length}'";
|
||||
|
||||
|
||||
return StoredFile::searchFiles($fromTable, $datatables);
|
||||
}
|
||||
|
||||
private static function searchFiles($fromTable, $data)
|
||||
{
|
||||
global $CC_CONFIG, $CC_DBC;
|
||||
|
||||
$columnsDisplayed = explode(",", $data["sColumns"]);
|
||||
|
||||
if($data["sSearch"] !== "")
|
||||
$searchTerms = explode(" ", $data["sSearch"]);
|
||||
|
||||
$selectorCount = "SELECT COUNT(*)";
|
||||
$selectorRows = "SELECT ". join("," , $columnsDisplayed);
|
||||
|
||||
$fromTable = " FROM ((".$plSelect."PL.id
|
||||
FROM ".$CC_CONFIG["playListTable"]." AS PL
|
||||
LEFT JOIN ".$CC_CONFIG['playListTimeView']." AS PLT USING(id))
|
||||
|
||||
UNION
|
||||
|
||||
(".$fileSelect."id FROM ".$CC_CONFIG["filesTable"]." AS FILES)) AS RESULTS";
|
||||
|
||||
$sql = $selectorCount." ".$fromTable;
|
||||
$sql = $selectorCount." FROM ".$fromTable;
|
||||
$totalRows = $CC_DBC->getOne($sql);
|
||||
|
||||
// Where clause
|
||||
|
||||
if(isset($data["optWhere"])) {
|
||||
|
||||
$where[] = join(" AND ", $data["optWhere"]);
|
||||
}
|
||||
|
||||
if(isset($searchTerms)) {
|
||||
|
||||
$searchCols = array();
|
||||
|
@ -1819,14 +1841,9 @@ class StoredFile {
|
|||
|
||||
$innerCond[] = "{$col}::text ILIKE '%{$term}%'";
|
||||
}
|
||||
|
||||
$outerCond[] = join(" OR ", $innerCond);
|
||||
$outerCond[] = "(".join(" OR ", $innerCond).")";
|
||||
}
|
||||
|
||||
$where = join(" AND ", $outerCond);
|
||||
|
||||
$sql = $selectorCount." ".$fromTable." WHERE ".$where;
|
||||
$totalDisplayRows = $CC_DBC->getOne($sql);
|
||||
$where[] = "(".join(" AND ", $outerCond).")";
|
||||
}
|
||||
|
||||
// End Where clause
|
||||
|
@ -1846,10 +1863,16 @@ class StoredFile {
|
|||
$CC_DBC->setFetchMode(DB_FETCHMODE_ORDERED);
|
||||
|
||||
if(isset($where)) {
|
||||
$sql = $selectorRows." ".$fromTable." WHERE ".$where." ORDER BY ".$orderby." OFFSET ".$offset." LIMIT ".$limit;
|
||||
|
||||
$where = join(" AND ", $where);
|
||||
|
||||
$sql = $selectorCount." FROM ".$fromTable." WHERE ".$where;
|
||||
$totalDisplayRows = $CC_DBC->getOne($sql);
|
||||
|
||||
$sql = $selectorRows." FROM ".$fromTable." WHERE ".$where." ORDER BY ".$orderby." OFFSET ".$data["iDisplayStart"]." LIMIT ".$data["iDisplayLength"];
|
||||
}
|
||||
else {
|
||||
$sql = $selectorRows." ".$fromTable." ORDER BY ".$orderby." OFFSET ".$offset." LIMIT ".$limit;
|
||||
$sql = $selectorRows." FROM ".$fromTable." ORDER BY ".$orderby." OFFSET ".$data["iDisplayStart"]." LIMIT ".$data["iDisplayLength"];
|
||||
}
|
||||
|
||||
$results = $CC_DBC->getAll($sql);
|
||||
|
@ -1863,7 +1886,7 @@ class StoredFile {
|
|||
$totalDisplayRows = $totalRows;
|
||||
}
|
||||
|
||||
return array("iTotalDisplayRecords" => $totalDisplayRows, "iTotalRecords" => $totalRows, "aaData" => $results);
|
||||
return array("sEcho" => intval($data["sEcho"]), "iTotalDisplayRecords" => $totalDisplayRows, "iTotalRecords" => $totalRows, "aaData" => $results);
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue