00001 <?php', ', ',
00123 preg_replace('/\W+$/', '',
00124 $_POST['additional_tables']
00125 ));
00126 // Run a test query
00127 $db->disable_fatal_errors();
00128 $sh = $db->query('SELECT NULL FROM program, channel'.str_replace('?', '\\?', $schedule->subtitle)
00129 .' WHERE '.str_replace('?', '\\?', $schedule->description));
00130 $db->enable_fatal_errors();
00131 if ($db->error) {
00132 add_error("There is an error in your custom SQL query:\n\n"
00133 .preg_replace('/^.+?SQL\s+syntax;\s*/', '', $db->error)
00134 );
00135 }
00136 }
00137 else {
00138 $schedule->description = $_POST['search_phrase'];
00139 $schedule->subtitle = '';
00140 }
00141 // Figure out the title
00142 $schedule->title = _or($_POST['title'], $schedule->description).' ('.t('$1 Search', $schedule->search_type).')';
00143 // Only save if there are no errors
00144 if (!errors()) {
00145 // Save the schedule
00146 $schedule->save($_POST['record']);
00147 // Redirect to the new schedule
00148 header('Location: '.root.'tv/schedules/custom/'.$schedule->recordid);
00149 exit;
00150 }
00151 }
00152 }
00153 // Load default settings for recpriority, autoexpire etc
00154 else {
00155 // Make sure we have a default rectype
00156 if (!$schedule->type)
00157 $schedule->type = rectype_always;
00158 // auto-commercial-flag
00159 if (!isset($schedule->autocommflag))
00160 $schedule->autocommflag = get_backend_setting('AutoCommercialFlag');
00161 // auto-user-jobs
00162 if (!isset($schedule->autouserjob1))
00163 $schedule->autouserjob1 = get_backend_setting('AutoRunUserJob1');
00164 if (!isset($schedule->autouserjob2))
00165 $schedule->autouserjob2 = get_backend_setting('AutoRunUserJob2');
00166 if (!isset($schedule->autouserjob3))
00167 $schedule->autouserjob3 = get_backend_setting('AutoRunUserJob3');
00168 if (!isset($schedule->autouserjob4))
00169 $schedule->autouserjob4 = get_backend_setting('AutoRunUserJob4');
00170 // auto-transcode
00171 if (!isset($schedule->autotranscode))
00172 $schedule->autotranscode = get_backend_setting('AutoTranscode');
00173 // transcoder
00174 if (!isset($schedule->transcoder))
00175 $schedule->transcoder = get_backend_setting('DefaultTranscoder');
00176 // recpriority
00177 if (!isset($schedule->recpriority)) {
00178 $result = mysql_query('SELECT recpriority from channel where chanid='.escape($program->chanid));
00179 list($schedule->recpriority) = mysql_fetch_row($result);
00180 mysql_free_result($result);
00181 }
00182 // autoexpire
00183 if (!isset($schedule->autoexpire))
00184 $schedule->autoexpire = get_backend_setting('AutoExpireDefault');
00185 // start early / end late
00186 if (!isset($schedule->startoffset))
00187 $schedule->startoffset = get_backend_setting('DefaultStartOffset');
00188 if (!isset($schedule->endoffset))
00189 $schedule->endoffset = get_backend_setting('DefaultEndOffset');
00190 // Get the searchtype string
00191 switch ($schedule->search) {
00192 case searchtype_power: $schedule->search_type = t('Power'); break;
00193 case searchtype_keyword: $schedule->search_type = t('Keyword'); break;
00194 case searchtype_people: $schedule->search_type = t('People'); break;
00195 case searchtype_title:
00196 default: $schedule->search_type = t('Title'); break;
00197 }
00198 }
00199
00200 // Create an edit-friendly title
00201 $schedule->edit_title = preg_replace('/\s*\(\w+\s*search\)\s*$/i', '', $schedule->title);
00202
00203 // Calculate the length
00204 $schedule->length = intval(($schedule->endtime - $schedule->starttime) / 60);
00205 if ($schedule->length < 1)
00206 $schedule->length = 120;
00207
00208 // Load the utility/display functions for scheduling
00209 require_once 'includes/schedule_utils.php';
00210
00211 // Load the class for this page
00212 require_once tmpl_dir.'schedules_custom.php';
00213
00214 // Exit
00215 exit;
00216