= ?'; $dataParams[] = $from_encoding_started; $search_criteria[$criteria_counter]["name"] = "from_encoding_started"; $search_criteria[$criteria_counter]["value"] = $from_encoding_started; $criteria_counter++; } if ($to_encoding_started) { $whereClause .= ' AND eqd.encoding_started <= ?'; $dataParams[] = $to_encoding_started; $search_criteria[$criteria_counter]["name"] = "to_encoding_started"; $search_criteria[$criteria_counter]["value"] = $to_encoding_started; $criteria_counter++; } if ($from_encoding_ended) { $whereClause .= ' AND eqd.encoding_ended >= ?'; $dataParams[] = $from_encoding_ended; $search_criteria[$criteria_counter]["name"] = "from_encoding_ended"; $search_criteria[$criteria_counter]["value"] = $from_encoding_ended; $criteria_counter++; } if ($to_encoding_ended) { $whereClause .= ' AND eqd.encoding_ended <= ?'; $dataParams[] = $to_encoding_ended; $search_criteria[$criteria_counter]["name"] = "to_encoding_ended"; $search_criteria[$criteria_counter]["value"] = $to_encoding_ended; $criteria_counter++; } if ($from_delivery_started) { $whereClause .= ' AND eqd.delivery_started >= ?'; $dataParams[] = $from_delivery_started; $search_criteria[$criteria_counter]["name"] = "from_delivery_started"; $search_criteria[$criteria_counter]["value"] = $from_delivery_started; $criteria_counter++; } if ($to_delivery_started) { $whereClause .= ' AND eqd.delivery_started <= ?'; $dataParams[] = $to_delivery_started; $search_criteria[$criteria_counter]["name"] = "to_delivery_started"; $search_criteria[$criteria_counter]["value"] = $to_delivery_started; $criteria_counter++; } if ($from_delivery_ended) { $whereClause .= ' AND eqd.delivery_ended >= ?'; $dataParams[] = $from_encoding_ended; $search_criteria[$criteria_counter]["name"] = "from_delivery_ended"; $search_criteria[$criteria_counter]["value"] = $from_delivery_ended; $criteria_counter++; } if ($to_delivery_ended) { $whereClause .= ' AND eqd.delivery_ended <= ?'; $dataParams[] = $to_delivery_ended; $search_criteria[$criteria_counter]["name"] = "to_delivery_ended"; $search_criteria[$criteria_counter]["value"] = $to_delivery_ended; $criteria_counter++; } if (is_array($error_types) and count($error_types)) { $status_list = array(); foreach ($error_types as $error_type) { switch($error_type){ case 'audio': $status_list = array_merge($status_list, array("audio_missing","incorrect_audio_count","audio_missing_for_delivery","incorrect_audio_count_for_delivery","audio_encoding_error")); break; case 'image': $status_list = array_merge($status_list, array("image_missing","image_missing_for_delivery","image_encoding_error")); break; case 'metadata': $status_list = array_merge($status_list, array("metadata_missing","metadata_error")); break; case 'delivery': $status_list = array_merge($status_list, array("audio_missing_for_delivery","image_missing_for_delivery","incorrect_audio_count_for_delivery","delivery_failure","metadata_missing")); break; case 'system': $status_list = array_merge($status_list, array("system_error","system_cancelled")); break; } } $status_list = array_unique($status_list); $whereClause .= ' AND eqd.status IN (' . implode(',', array_fill(0, count($status_list), '?')) . ')'; $dataParams = array_merge($dataParams, $status_list); $search_criteria[$criteria_counter]["name"] = "error_types[]"; $search_criteria[$criteria_counter]["value"] = implode(',',$error_types); $criteria_counter++; } $_SESSION["S_SEARCH_CRITERIA"] = serialize($search_criteria); $whereClause = '1 '.$whereClause; } elseif ($encoding_queue_id) { switch ($type) { case 'new': $status_clause = ' AND eqd.status = "new"'; break; case 'error': $status_clause = ' AND eqd.status IN ("image_missing","audio_missing","incorrect_audio_count","metadata_missing","metadata_error","audio_missing_for_delivery","image_missing_for_delivery","incorrect_audio_count_for_delivery","delivery_failure","system_error","audio_encoding_error","image_encoding_error","system_cancelled")'; break; case 'wait': switch ($subtype) { case "ready_to_encode": case "ready_to_deliver": case "encoded": case "queued_for_delivery": $status_clause = ' AND eqd.status = ?'; $dataParams[] = $subtype; break; default: $status_clause = ' AND eqd.status IN ("ready_to_encode","ready_to_deliver","encoded","queued_for_delivery")'; } break; case 'process': switch ($subtype) { case "encoding": case "delivering": $status_clause = ' AND eqd.status = ?'; $dataParams[] = $subtype; break; default: $status_clause = ' AND eqd.status IN ("encoding","delivering")'; } break; case 'complete': $status_clause = ' AND eqd.status = "delivered"'; break; case 'cancelled': $status_clause = ' AND eqd.status IN ("cancelled", "ineligible")'; break; default: $status_clause = ' AND eqd.status = ""'; } $whereClause = 'eq.encoding_queue_id = ? ' .$status_clause; $dataParams[] = $encoding_queue_id; } $sql = 'SELECT SQL_CALC_FOUND_ROWS IF(eq.encoder_id=10, "vector 1",IF(eq.encoder_id=4,"harddrive",IF(eq.encoder_id=18,"vector 2.5",""))) as delivery_type, eq.encoding_queue_id, eqd.encoding_queue_detail_id, cmm.customer_name as dms, if((SELECT count(a.encoding_queue_detail_id) FROM `direct_delivery`.encoding_queue_detail a WHERE a.upc = eqd.upc and a.cd = eqd.cd and a.track_id = eqd.track_id and a.clip_number = eqd.clip_number AND a.encoding_queue_detail_id <> eqd.encoding_queue_detail_id AND a.dms_master_master_id = eqd.dms_master_master_id AND a.encoding_queue_id > eqd.encoding_queue_id)>0,1,0) as check_reprocess, eq.encoding_order_id, eq.priority, eqd.dms_master_master_id, eqd.upc, eqd.cd, eqd.track_id, eqd.clip_number, eqd.status, TIMEDIFF(eqd.encoding_ended, eqd.encoding_started) AS encoding_time, eqd.encoding_started, eqd.encoding_ended, TIMEDIFF(eqd.delivery_ended, eqd.delivery_started) AS delivery_time, eqd.delivery_started, eqd.delivery_ended, eqd.error_log, eqd.encoding_server, eqd.delivery_server, eqd.last_updated, TIMESTAMPDIFF(HOUR, eqd.encoding_started, NOW()) AS encoding_lasted, TIMESTAMPDIFF(HOUR, eqd.delivery_started, NOW()) AS delivery_lasted, pp.pid FROM `direct_delivery`.encoding_queue eq INNER JOIN `direct_delivery`.encoding_queue_detail eqd ON eq.encoding_queue_id = eqd.encoding_queue_id INNER JOIN `direct_delivery`.customer_master_master cmm ON cmm.customer_master_master_id = eqd.dms_master_master_id LEFT JOIN `direct_delivery`.process_pid pp ON pp.encoding_queue_detail_id = eqd.encoding_queue_detail_id WHERE '.$whereClause.' AND eq.encoder_id IN (10,18) AND encoding_order_type = "ringtone" GROUP BY eqd.encoding_queue_detail_id'; switch ($sort_by) { case 'clip_code': $order_by = 'eqd.upc '.($sort_desc ? ' DESC' : '').', eqd.cd '.($sort_desc ? ' DESC' : '').', eqd.track_id '.($sort_desc ? ' DESC' : '').', eqd.clip_number'; break; case 'status': $order_by = 'eqd.status'; break; case 'encoding_started': $order_by = 'eqd.encoding_started'; break; case 'encoding_ended': $order_by = 'eqd.encoding_ended'; break; case 'encoding_time': $order_by = 'encoding_time'; break; case 'delivery_started': $order_by = 'eqd.delivery_started'; break; case 'delivery_ended': $order_by = 'eqd.delivery_ended'; break; case 'delivery_time': $order_by = 'delivery_time'; break; case 'encoding_server': $order_by = 'eqd.encoding_server'; break; case 'delivery_server': $order_by = 'eqd.delivery_server'; break; case 'dms': $order_by = 'dms'; break; default: if($type=="complete"){ $order_by = 'eqd.delivery_ended'; $sort_by = 'delivery_ended'; }else{ $order_by = 'eqd.upc '.($sort_desc ? ' DESC' : '').', eqd.cd '.($sort_desc ? ' DESC' : '').', eqd.track_id '.($sort_desc ? ' DESC' : '').', eqd.clip_number '; $sort_by = 'clip_code'; } } $sql .= ' ORDER BY ' . $order_by . ($sort_desc ? ' DESC' : ''); if (!$no_url) { $sql .= ' LIMIT ' . ($page - 1) * $pageRecord . ', ' . $pageRecord; } else { $sql .= ''; } $stmt = $ddDb->getMysqlConnection()->prepare($sql); if (!$stmt->execute($dataParams)) { show_pdo_error($sql, $stmt); } $eqd_detail_result = $stmt->fetchAll(); if(!$no_url) { $sql = 'SELECT FOUND_ROWS() AS total'; $stmt = $ddDb->getMysqlConnection()->prepare($sql); if (!$stmt->execute()) { show_pdo_error($sql, $stmt); } $total_count_row = $stmt->fetch(); $total = $total_count_row['total']; $pageNum = ceil($total/$pageRecord); } else { $total = count($eqd_detail_result); } $varTable = ' '; if (($type == 'error' or $type == 'process' or $type == 'search') and !$no_url) { $varTable .= ''; } $varTable .= ' ' . ($no_url ? 'Clip code' : sortColumnHeader('Clip Code', 'clip_code', $url)) . ' ' . ($no_url ? 'DMS' : sortColumnHeader('DMS', 'dms', $url)).' ' . ($no_url ? 'Status' : sortColumnHeader('Status', 'status', $url)) . ' ' . ($no_url ? 'Encoding Server' : sortColumnHeader('Encoding Server', 'encoding_server', $url)) . ' ' . ($no_url ? 'Encoding Started' : sortColumnHeader('Encoding Started', 'encoding_started', $url)) . ' ' . ($no_url ? 'Encoding Ended' : sortColumnHeader('Encoding Ended', 'encoding_ended', $url)) . ' ' . ($no_url ? 'Encoding Time' : sortColumnHeader('Encoding Time', 'encoding_time', $url)) . ' ' . ($no_url ? 'Delivery Server' : sortColumnHeader('Delivery Server', 'delivery_server', $url)) . ' ' . ($no_url ? 'Delivery Started' : sortColumnHeader('Delivery Started', 'delivery_started', $url)) . ' ' . ($no_url ? 'Delivery Ended' : sortColumnHeader('Delivery Ended', 'delivery_ended', $url)) . ' ' . ($no_url ? 'Delivery Time' : sortColumnHeader('Delivery Time', 'delivery_time', $url)) . ' ' . ($type != 'complete' ? 'Error Log' : '') . ' '; if (count($eqd_detail_result)) { $dms_list = array(); foreach ($eqd_detail_result as $eqd_detail_row) { $encoding_order_id = $eqd_detail_row['encoding_order_id']; $encoding_queue_id = $encoding_queue_id ?: $eqd_detail_row['encoding_queue_id']; $priority = $eqd_detail_row['priority']; $dms_list[] = $eqd_detail_row['dms']; } //get dms list $dms_list = array_unique($dms_list); sort($dms_list); $dms_list = implode('; ',$dms_list); foreach ($eqd_detail_result as $eqd_detail_row) { $eqd_detail_row = array_map('\Orchard\XSSFilter::h', $eqd_detail_row); $row_class = (++$rci & 1) ? '' : 'alt'; $error_log = $eqd_detail_row['error_log']; $varTable .= ' '; if (($type == 'error' or $type == 'process' or $type == 'search') and !$no_url) { $varTable .= ''; if (($eqd_detail_row['status'] == 'encoding' and $eqd_detail_row['encoding_lasted'] >= 2) or ($eqd_detail_row['status'] == 'delivering' and $eqd_detail_row['delivery_lasted'] >= 2) or $type == 'error' or in_array($eqd_detail_row['status'],array("image_missing","audio_missing","incorrect_audio_count","metadata_missing","metadata_error","audio_missing_for_delivery","image_missing_for_delivery","incorrect_audio_count_for_delivery","delivery_failure","system_error","audio_encoding_error","image_encoding_error","system_cancelled"))) { $varTable .= ' '; } $varTable .= ''; } $varTable.=' ' . $eqd_detail_row['upc'].'_'.$eqd_detail_row['cd'].'_'.$eqd_detail_row['track_id'].'_'.$eqd_detail_row['clip_number'] . (in_array($eqd_detail_row['status'],array('encoding','delivering'))?'
(PID: '.$eqd_detail_row['pid'].')':'').' ' . $eqd_detail_row['dms'] . ' ' . ucwords(str_replace('_', ' ', $eqd_detail_row['status'])) . ' ' . $eqd_detail_row['encoding_server'] . ' ' . format_date($eqd_detail_row['encoding_started'], true) . ' ' . format_date($eqd_detail_row['encoding_ended'], true) . ' ' . $eqd_detail_row['encoding_time'] . ' ' . $eqd_detail_row['delivery_server'] . ' ' . format_date($eqd_detail_row['delivery_started'], true) . ' ' . format_date($eqd_detail_row['delivery_ended'], true) . ' ' . $eqd_detail_row['delivery_time'] . ' ' . ($type != 'complete' ? '' . ($no_url ? $error_log : ''.($error_log ? substr($error_log,0,100).'...' : '').'') .'' : '') . ' '; } } else { $varTable .= 'No records found. '; } $varTable .= ' ';