execute(array($value, $id2)); } catch (PDOException $ex) { // Duplicate email or username? How can we display an error message? fail(); } ok(); } else { // Not allowed fail(); } default: // An unrecognised setting fail(); } case 'user_gedcom_setting': ////////////////////////////////////////////////////////////////////////////// // Table name: WT_USER_GEDCOM_SETTING ////////////////////////////////////////////////////////////////////////////// fail(); case 'user_setting': ////////////////////////////////////////////////////////////////////////////// // Table name: WT_USER_SETTING // ID format: user_setting-{setting_name}-{user_id} // Access: administrator // member (some fields only - if they have "editaccount" rights) ////////////////////////////////////////////////////////////////////////////// switch ($id1) { case 'auto_accept': case 'canadmin': case 'editaccount': case 'verified': case 'verified_by_admin': case 'contactmethod': case 'max_relation_path': case 'comment': if (WT_USER_IS_ADMIN) { set_user_setting($id2, $id1, $value); ok(); } else { // Not allowed fail(); } case 'defaulttab': case 'language': case 'visible_online': if (WT_USER_IS_ADMIN || WT_USER==$id2 && get_user_setting($id2, 'editaccount')) { set_user_setting($id2, $id1, $value); ok(); } else { // Not allowed fail(); } default: // An unrecognised setting fail(); } default: // An unrecognised table fail(); }