} elseif (mb_strlen($name) > 255) {
$this->showForm(_('Name is too long (max 255 chars).'));
return;
+ } else if ($this->nameExists($name)) {
+ $this->showForm(_('Name already in use. Try another one.'));
+ return;
} elseif (empty($description)) {
$this->showForm(_('Description is required.'));
return;
common_redirect(common_local_url('oauthappssettings'), 303);
}
+ /**
+ * Does the app name already exist?
+ *
+ * Checks the DB to see someone has already registered and app
+ * with the same name.
+ *
+ * @param string $name app name to check
+ *
+ * @return boolean true if the name already exists
+ */
+
+ function nameExists($name)
+ {
+ $newapp = Oauth_application::staticGet('name', $name);
+ if (!$newapp) {
+ return false;
+ } else {
+ return $newapp->id != $this->app->id;
+ }
+ }
+
}
if (empty($name)) {
$this->showForm(_('Name is required.'));
return;
+ } else if ($this->nameExists($name)) {
+ $this->showForm(_('Name already in use. Try another one.'));
+ return;
} elseif (mb_strlen($name) > 255) {
$this->showForm(_('Name is too long (max 255 chars).'));
return;
}
+ /**
+ * Does the app name already exist?
+ *
+ * Checks the DB to see someone has already registered and app
+ * with the same name.
+ *
+ * @param string $name app name to check
+ *
+ * @return boolean true if the name already exists
+ */
+
+ function nameExists($name)
+ {
+ $app = Oauth_application::staticGet('name', $name);
+ return ($app !== false);
+ }
+
}
id = 129
owner = 129
consumer_key = 130
-name = 130
+name = 2
description = 2
icon = 130
source_url = 2
[oauth_application__keys]
id = N
+name = U
[oauth_application_user]
profile_id = 129
id integer auto_increment primary key comment 'unique identifier',
owner integer not null comment 'owner of the application' references profile (id),
consumer_key varchar(255) not null comment 'application consumer key' references consumer (consumer_key),
- name varchar(255) not null comment 'name of the application',
+ name varchar(255) unique key comment 'name of the application',
description varchar(255) comment 'description of the application',
icon varchar(255) not null comment 'application icon',
source_url varchar(255) comment 'application homepage - used for source link',