Exemple #1
0
 function execute($requests)
 {
     $cmd_file_list = admin_get_cmd_file_list();
     $c_cmd_setting_list = db_admin_get_c_cmd_list4name();
     $permit_list = db_get_permit_list();
     $c_cmd_list = array_flip($cmd_file_list);
     ksort($c_cmd_list);
     foreach ($c_cmd_setting_list as $value) {
         if (!in_array($value['name'], $cmd_file_list)) {
             continue;
         }
         if ($value['url']) {
             // 小窓キャスト配信者のJavaScriptは使用範囲設定をおこなえないようにする
             continue;
         }
         $permit = $value['permit'];
         $c_cmd_id = $value['c_cmd_id'];
         foreach ($permit_list as $key => $name) {
             $is_permit[$name] = $permit & $key;
         }
         if ($permit == 0) {
             $disabled = true;
         } else {
             $disabled = false;
         }
         $c_cmd_list[$value['name']] = array('c_cmd_id' => $c_cmd_id, 'permit' => $is_permit, 'disabled' => $disabled);
     }
     $this->set("permit_list", $permit_list);
     $this->set("c_cmd_list", $c_cmd_list);
     return 'success';
 }
Exemple #2
0
function db_is_use_cmd($src, $type = '')
{
    if (!$type) {
        // type の指定がない場合は小窓を有効にする
        return true;
    }
    $sql = 'SELECT * FROM c_cmd WHERE name = ?';
    $params = array(strval($src));
    $c_cmd = db_get_row($sql, $params);
    if (empty($c_cmd)) {
        return true;
    }
    $permit_list = db_get_permit_list();
    foreach ($permit_list as $key => $name) {
        if ($c_cmd['permit'] & $key && preg_match('/' . $c_cmd['name'] . '/', $src) && $name == $type) {
            return true;
        }
    }
    return false;
}