Merge branch '2.5.x' into cc-5709-airtime-analyzer
This commit is contained in:
commit
90aa1faea4
43 changed files with 201 additions and 8757 deletions
|
@ -204,10 +204,14 @@ class AudiopreviewController extends Zend_Controller_Action
|
|||
$elementMap['element_mp3'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/ogg') {
|
||||
$elementMap['element_oga'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/vorbis') {
|
||||
$elementMap['element_oga'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/mp4') {
|
||||
$elementMap['element_m4a'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/wav') {
|
||||
$elementMap['element_wav'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/x-wav') {
|
||||
$elementMap['element_wav'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/x-flac') {
|
||||
$elementMap['element_flac'] = $track['item_id'];
|
||||
} else {
|
||||
|
@ -289,10 +293,14 @@ class AudiopreviewController extends Zend_Controller_Action
|
|||
$elementMap['element_mp3'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/ogg') {
|
||||
$elementMap['element_oga'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/vorbis') {
|
||||
$elementMap['element_oga'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/mp4') {
|
||||
$elementMap['element_m4a'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/wav') {
|
||||
$elementMap['element_wav'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/x-wav') {
|
||||
$elementMap['element_wav'] = $track['item_id'];
|
||||
} elseif (strtolower($mime) === 'audio/x-flac') {
|
||||
$elementMap['element_flac'] = $track['item_id'];
|
||||
} else {
|
||||
|
|
|
@ -136,7 +136,6 @@ class ScheduleController extends Zend_Controller_Action
|
|||
$editable = $user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER));
|
||||
|
||||
$calendar_interval = Application_Model_Preference::GetCalendarTimeScale();
|
||||
Logging::info($calendar_interval);
|
||||
if ($calendar_interval == "agendaDay") {
|
||||
list($start, $end) = Application_Model_Show::getStartEndCurrentDayView();
|
||||
} else if ($calendar_interval == "agendaWeek") {
|
||||
|
|
|
@ -283,6 +283,14 @@ class ShowbuilderController extends Zend_Controller_Action
|
|||
$mediaItems = $request->getParam("mediaIds", array());
|
||||
$scheduledItems = $request->getParam("schedIds", array());
|
||||
|
||||
$log_vars = array();
|
||||
$log_vars["url"] = $_SERVER['HTTP_HOST'];
|
||||
$log_vars["action"] = "showbuilder/schedule-add";
|
||||
$log_vars["params"] = array();
|
||||
$log_vars["params"]["media_items"] = $mediaItems;
|
||||
$log_vars["params"]["scheduled_items"] = $scheduledItems;
|
||||
Logging::info($log_vars);
|
||||
|
||||
try {
|
||||
$scheduler = new Application_Model_Scheduler();
|
||||
$scheduler->scheduleAfter($scheduledItems, $mediaItems);
|
||||
|
|
|
@ -29,8 +29,8 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm
|
|||
$transition_fade = new Zend_Form_Element_Text("transition_fade");
|
||||
$transition_fade->setLabel(_("Switch Transition Fade (s)"))
|
||||
->setFilters(array('StringTrim'))
|
||||
->addValidator('regex', false, array('/^[0-9]{1,2}(\.\d{1,3})?$/',
|
||||
'messages' => _('enter a time in seconds 0{.000}')))
|
||||
->addValidator('regex', false, array('/^\d*(\.\d+)?$/',
|
||||
'messages' => _('Please enter a time in seconds (eg. 0.5)')))
|
||||
->setValue($defaultFade)
|
||||
->setDecorators(array('ViewHelper'));
|
||||
$this->addElement($transition_fade);
|
||||
|
|
|
@ -39,51 +39,49 @@ class Logging {
|
|||
}
|
||||
}
|
||||
|
||||
public static function info($p_msg)
|
||||
/** @param debugMode Prints the function name, file, and line number. This is slow as it uses debug_backtrace()
|
||||
* so don't use it unless you need it.
|
||||
*/
|
||||
private static function getLinePrefix($debugMode=false)
|
||||
{
|
||||
$bt = debug_backtrace();
|
||||
$linePrefix = "";
|
||||
|
||||
$caller = array_shift($bt);
|
||||
if (array_key_exists('SERVER_NAME', $_SERVER)) {
|
||||
$linePrefix .= $_SERVER['SERVER_NAME'] . " ";
|
||||
}
|
||||
|
||||
if ($debugMode) {
|
||||
//debug_backtrace is SLOW so we don't want this invoke unless there was a real error! (hence $debugMode)
|
||||
$bt = debug_backtrace();
|
||||
$caller = $bt[1];
|
||||
$file = basename($caller['file']);
|
||||
$line = $caller['line'];
|
||||
$function = "Unknown function";
|
||||
if (array_key_exists(2, $bt)) {
|
||||
$function = $bt[2]['function'];
|
||||
}
|
||||
$linePrefix .= "[$file:$line - $function()] - ";
|
||||
}
|
||||
|
||||
$caller = array_shift($bt);
|
||||
$function = $caller['function'];
|
||||
return $linePrefix;
|
||||
}
|
||||
|
||||
public static function info($p_msg)
|
||||
{
|
||||
$logger = self::getLogger();
|
||||
$logger->info("[$file : $function() : line $line] - ".self::toString($p_msg));
|
||||
$logger->info(self::getLinePrefix() . self::toString($p_msg));
|
||||
}
|
||||
|
||||
public static function warn($p_msg)
|
||||
{
|
||||
$bt = debug_backtrace();
|
||||
|
||||
$caller = array_shift($bt);
|
||||
$file = basename($caller['file']);
|
||||
$line = $caller['line'];
|
||||
|
||||
$caller = array_shift($bt);
|
||||
$function = $caller['function'];
|
||||
|
||||
$logger = self::getLogger();
|
||||
$logger->warn("[$file : $function() : line $line] - "
|
||||
. self::toString($p_msg));
|
||||
$logger->warn(self::getLinePrefix() . self::toString($p_msg));
|
||||
}
|
||||
|
||||
public static function error($p_msg)
|
||||
{
|
||||
$bt = debug_backtrace();
|
||||
|
||||
$caller = array_shift($bt);
|
||||
$file = basename($caller['file']);
|
||||
$line = $caller['line'];
|
||||
|
||||
$caller = array_shift($bt);
|
||||
$function = $caller['function'];
|
||||
|
||||
$logger = self::getLogger();
|
||||
$logger->err("[$file : $function() : line $line] - "
|
||||
. self::toString($p_msg));
|
||||
$logger->err(self::getLinePrefix(true) . self::toString($p_msg));
|
||||
}
|
||||
|
||||
public static function debug($p_msg)
|
||||
|
@ -92,17 +90,8 @@ class Logging {
|
|||
return;
|
||||
}
|
||||
|
||||
$bt = debug_backtrace();
|
||||
|
||||
$caller = array_shift($bt);
|
||||
$file = basename($caller['file']);
|
||||
$line = $caller['line'];
|
||||
|
||||
$caller = array_shift($bt);
|
||||
$function = $caller['function'];
|
||||
|
||||
$logger = self::getLogger();
|
||||
$logger->debug("[$file : $function() : line $line] - ".self::toString($p_msg));
|
||||
$logger->debug(self::getLinePrefix(true) . self::toString($p_msg));
|
||||
}
|
||||
// kind of like debug but for printing arrays more compactly (skipping
|
||||
// empty elements
|
||||
|
@ -134,4 +123,49 @@ class Logging {
|
|||
Propel::setLogger(null);
|
||||
}
|
||||
|
||||
public static function loggingShutdownCallback()
|
||||
{
|
||||
//Catch the types of errors that PHP doesn't normally let us catch and
|
||||
//would otherwise log to the apache log. We route these to our Airtime log to improve the modularity
|
||||
//and reliability of our error logging. (All errors are in one spot!)
|
||||
$err = error_get_last();
|
||||
if (!is_array($err) || !array_key_exists('type', $err)) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch($err['type'])
|
||||
{
|
||||
case E_ERROR:
|
||||
case E_PARSE:
|
||||
case E_CORE_ERROR:
|
||||
case E_CORE_WARNING:
|
||||
case E_COMPILE_ERROR:
|
||||
case E_COMPILE_WARNING:
|
||||
//error_log("Oh noes, a fatal: " . var_export($err, true), 1, 'fatals@example.com');
|
||||
$errorStr = '';
|
||||
if (array_key_exists('message', $err)) {
|
||||
$errorStr .= $err['message'];
|
||||
}
|
||||
if (array_key_exists('file', $err))
|
||||
{
|
||||
$errorStr .= ' at ' .$err['file'];
|
||||
}
|
||||
if (array_key_exists('line', $err))
|
||||
{
|
||||
$errorStr .= ':' . $err['line'];
|
||||
}
|
||||
|
||||
$errorStr .= "\n" . var_export($err, true);
|
||||
Logging::error($errorStr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public static function setupParseErrorLogging()
|
||||
{
|
||||
//Static callback:
|
||||
register_shutdown_function('Logging::loggingShutdownCallback');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1521,6 +1521,7 @@ SQL;
|
|||
// check if file exists
|
||||
$qry->add("file_exists", "true", Criteria::EQUAL);
|
||||
$qry->add("hidden", "false", Criteria::EQUAL);
|
||||
$sortTracks = 'random';
|
||||
if (isset($storedCrit['sort'])) {
|
||||
$sortTracks = $storedCrit['sort']['value'];
|
||||
}
|
||||
|
@ -1530,8 +1531,10 @@ SQL;
|
|||
else if ($sortTracks == 'oldest') {
|
||||
$qry->addAscendingOrderByColumn('utime');
|
||||
}
|
||||
else {
|
||||
else if ($sortTracks == 'random') {
|
||||
$qry->addAscendingOrderByColumn('random()');
|
||||
} else {
|
||||
Logging::warning("Unimplemented sortTracks type in ".__FILE__);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Binary file not shown.
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Project-Id-Version: Airtime\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-11-13 13:55-0500\n"
|
||||
"PO-Revision-Date: 2015-01-15 11:11+0000\n"
|
||||
"PO-Revision-Date: 2015-02-05 10:31+0000\n"
|
||||
"Last-Translator: Daniel James <daniel@64studio.com>\n"
|
||||
"Language-Team: Azerbaijani (http://www.transifex.com/projects/p/airtime/language/az/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Project-Id-Version: Airtime\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-11-13 13:55-0500\n"
|
||||
"PO-Revision-Date: 2015-01-15 11:11+0000\n"
|
||||
"PO-Revision-Date: 2015-02-05 10:31+0000\n"
|
||||
"Last-Translator: Daniel James <daniel@64studio.com>\n"
|
||||
"Language-Team: Armenian (Armenia) (http://www.transifex.com/projects/p/airtime/language/hy_AM/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
@ -8,7 +8,7 @@ msgstr ""
|
|||
"Project-Id-Version: Airtime\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-11-13 13:55-0500\n"
|
||||
"PO-Revision-Date: 2015-01-15 11:11+0000\n"
|
||||
"PO-Revision-Date: 2015-02-05 10:31+0000\n"
|
||||
"Last-Translator: Daniel James <daniel@64studio.com>\n"
|
||||
"Language-Team: Georgian (http://www.transifex.com/projects/p/airtime/language/ka/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
Binary file not shown.
|
@ -72,6 +72,7 @@ $application = new Zend_Application(
|
|||
|
||||
require_once (APPLICATION_PATH."/logging/Logging.php");
|
||||
Logging::setLogPath('/var/log/airtime/zendphp.log');
|
||||
Logging::setupParseErrorLogging();
|
||||
|
||||
// Create application, bootstrap, and run
|
||||
try {
|
||||
|
@ -83,15 +84,18 @@ try {
|
|||
$application->bootstrap()->run();
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
|
||||
header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
|
||||
|
||||
Logging::error($e->getMessage());
|
||||
if (VERBOSE_STACK_TRACE) {
|
||||
echo $e->getMessage();
|
||||
echo "<pre>";
|
||||
echo $e->getTraceAsString();
|
||||
echo "</pre>";
|
||||
Logging::info($e->getMessage());
|
||||
if (VERBOSE_STACK_TRACE) {
|
||||
Logging::info($e->getTraceAsString());
|
||||
Logging::error($e->getTraceAsString());
|
||||
} else {
|
||||
Logging::info($e->getTrace());
|
||||
Logging::error($e->getTrace());
|
||||
}
|
||||
throw $e;
|
||||
}
|
||||
|
|
|
@ -317,14 +317,23 @@ var AIRTIME = (function(AIRTIME) {
|
|||
|
||||
mod.fnDeleteItems = function(aMedia) {
|
||||
|
||||
//Prevent the user from spamming the delete button while the AJAX request is in progress
|
||||
AIRTIME.button.disableButton("btn-group #sb-trash", false);
|
||||
//Hack to immediately show the "Processing" div in DataTables to give the user some sort of feedback.
|
||||
$(".dataTables_processing").css('visibility','visible');
|
||||
|
||||
$.post(baseUrl+"library/delete",
|
||||
{"format": "json", "media": aMedia},
|
||||
function(json){
|
||||
if (json.message !== undefined) {
|
||||
alert(json.message);
|
||||
}
|
||||
|
||||
chosenItems = {};
|
||||
oTable.fnStandingRedraw();
|
||||
|
||||
//Re-enable the delete button
|
||||
AIRTIME.button.enableButton("btn-group #sb-trash", false);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
</dataset>
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value>1</value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value>1</value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value>1</value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value></value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<column>live_stream_pass</column>
|
||||
<column>linked</column>
|
||||
<column>is_linkable</column>
|
||||
<column>image_path</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>test show</value>
|
||||
|
@ -28,6 +29,7 @@
|
|||
<null />
|
||||
<value></value>
|
||||
<value>1</value>
|
||||
<value></value>
|
||||
</row>
|
||||
</table>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue