function execute($requests) { $url = $requests['url']; require_once 'OpenPNE/RSS.php'; if (!($rss_url = OpenPNE_RSS::auto_discovery($url))) { admin_client_redirect('list_c_cmd_caster', 'CMDキャストURLが無効です'); } $result = db_admin_insert_c_cmd_caster($rss_url); if ($result) { admin_client_redirect('list_c_cmd_caster', 'CMDキャストURLを登録しました'); } else { admin_client_redirect('list_c_cmd_caster', 'CMDキャストURLを登録できませんでした'); } }
function db_admin_update_c_cmd_caster($c_cmd_caster_id, $url) { $sql = 'SELECT url FROM c_cmd_caster WHERE c_cmd_caster_id = ?'; $old_url = db_get_one($sql, array($c_cmd_caster_id)); // URLに変更がある場合は登録しなおす if ($old_url != $url) { db_admin_delete_c_cmd_caster($c_cmd_caster_id); $result = db_admin_insert_c_cmd_caster($url); // 正しく登録できなかった場合は、元のURLを登録しなおす if (!$result) { db_admin_insert_c_cmd_caster($old_url); } return $result; } require_once 'OpenPNE/RSS.php'; $rss = new OpenPNE_RSS(); $title = $rss->get_feed_title($url); $description = $rss->get_feed_description($url); if (!$title && !$description) { return false; } if (!$title) { $title = ''; } if (!$description) { $title = ''; } $data = array('title' => $title, 'description' => $description); $where = array('c_cmd_caster_id' => $c_cmd_caster_id); $result = db_update('c_cmd_caster', $data, $where); db_admin_update_c_cmd4c_cmd_caster_id($c_cmd_caster_id); return $result; }