public function createEditor($strUser, $strPassword, $strEmail, $strComments) { $query = "SELECT editor_id FROM editors WHERE name = '{$strUser}' LIMIT 1"; if (mysql_fetch_array(Module::query($query))) { return new returnData(4, NULL, 'user exists'); } $query = "SELECT editor_id FROM editors WHERE email = '{$strEmail}' LIMIT 1"; if (mysql_fetch_array(Module::query($query))) { return new returnData(5, NULL, 'email exists'); } $strComments = addslashes($strComments); $query = "INSERT INTO editors (name, password, email, comments, created, read_write_token) \n VALUES ('{$strUser}',MD5('{$strPassword}'),'{$strEmail}','{$strComments}', NOW(), '" . Utils::rand_string(64) . "')"; Module::query($query); if (mysql_error()) { return new returnData(3, NULL, 'SQL Error'); } $subject = "Welcome to the ARIS Alpha Editor!"; $body = "<p><strong>You signed up to become an editor for ARIS!</strong> To get things started well, we wanted to make sure you knew about a few things and had places to look for help.</p>\n <p>For starters, there are demo videos and documentation at http://arisgames.org/make/training-videos/.</p>\n <p>If you have questions and want to talk with other users, join our google group at http://groups.google.com/group/arisgames. You can post a new discussion there or send an email to arisgames@googlegroups.com.</p>\n <p>If you discover bugs or have new ideas, please tell us at http://arisgames.lighthouseapp.com.</p>\n <p>Just so you don't forget, your username is {$strUser} and your password is {$strPassword}</p>\n <p>Good luck making games!</p>"; Module::sendEmail($strEmail, $subject, $body); return Editors::getToken($strUser, $strPassword, "read_write"); }
public static function display() { $r = ""; if ($_POST['cc_form'] == 'settings') { $name_lookup = array(); Database::beginTransaction(); foreach ($_POST as $key => $value) { if ($key == 'cc_form') { continue; } if (substr($key, 0, 12) == 'cc_settings_') { $name_lookup[substr($key, 12)] = explode('|', $value); continue; } $setting_name = $key; //var_dump(array_key_exists($key, $name_lookup),$name_lookup); if (!array_key_exists($setting_name, $name_lookup)) { continue; } if ($key == 'clean-urls') { $value = (bool) $value; } Database::update('settings', array('data'), array(serialize($value)), array('package = ? AND name = ?', $name_lookup[$setting_name][1], $name_lookup[$setting_name][0])); } $r .= Message::success(__('admin', 'settings-saved')); Database::endTransaction(); } $settings = Database::select('settings', '*', array('package = ? OR package = ? OR package = ? OR package = ?', 'core', 'admin', 'site', 'gui'), array('package', 'ASC', 'name', 'ASC')); $settings = $settings->fetchAll(PDO::FETCH_ASSOC); $rows = array(); foreach ($settings as $row) { if (!array_key_exists($row['package'], $rows)) { $rows[$row['package']] = array(); } $rows[$row['package']][] = $row; } ksort($rows); $form = new Form('self', 'POST', 'settings'); foreach ($rows as $cat => $catRows) { $form->startFieldset(__('settings', $cat)); foreach ($catRows as $row) { $data = unserialize($row['data']); $form->addHidden('cc_settings_' . UTF8::slugify($row['name']), $row['name'] . '|' . $row['package']); if ($row['name'] == 'clean urls') { $form->addSelectList(__('settings', $row['name']), UTF8::slugify($row['name']), array(1 => __('admin', 'yes'), 0 => __('admin', 'no')), true, $data); } else { if ($row['name'] == 'theme') { $themes = Themes::getThemeList(); $options = array(); foreach ($themes as $slug => $ini) { $options[$slug] = $ini['name']; } $form->addSelectList(__('settings', $row['name']), UTF8::slugify($row['name']), $options, true, $data); } else { if ($row['name'] == 'locale') { $locales = i18n::getLocales(); $form->addSelectList(__('settings', $row['name']), UTF8::slugify($row['name']), $locales, false, $data); } else { if ($row['name'] == 'homepage id') { $form->addSelectList(__('settings', $row['name']), UTF8::slugify($row['name']), Content::optionListArrayFromArray(Content::parseNavigation()), true, $data); } else { if ($row['name'] == 'site name') { $form->addInput(__('settings', $row['name']), 'text', UTF8::slugify($row['name']), $data); } else { if ($row['name'] == 'editor') { $editors = Editors::getNamesOfRegistered(); $form->addSelectList(__('settings', $row['name']), UTF8::slugify($row['name']), $editors, false, $data); } else { if ($row['name'] == 'homepage') { $form->addSelectList(__('settings', $row['name']), UTF8::slugify($row['name']), Admin::getAdminPageOptions(), true, $data); } } } } } } } } $form->endFieldset(); } $form->startFieldset(''); $form->addSubmit('', 'save-settings', __('admin', 'save')); $form->endFieldset(); return array(__('admin', 'settings'), $r . $form->endAndGetHTML()); }
public static function bootstrap() { $editor = new Editor("CKEditor", 3.2, "xya"); $editor->bind_create("CKEditorPlugin::create"); Editors::register($editor); }
public static function bootstrap() { self::$editor = Settings::get('gui', 'editor', true); }
public static function linkV1EditorToV2User($editorName, $editorPass = false, $v2UserId = false, $v2Key = false) { /*Huge hack to allow for either v1 style access or v2 access*/ if (!$editorPass) { $data = file_get_contents("php://input"); $glob = json_decode($data); $editorName = $glob->v1_name; $editorPass = $glob->v1_pass; $v2UserId = $glob->auth->user_id; $v2Key = $glob->auth->key; } /*End huge hack*/ $Players = new Players(); $Editors = new Editors(); $v1Player = $Players->getLoginPlayerObject($editorName, $editorPass)->data; $v1Editor = $Editors->getToken($editorName, $editorPass, "read_write")->data; //v1 player optional, v1 editor not if (!$v1Editor) { return new migration_return_package(1, NULL, "Editor Credentials Invalid"); } $loginPack = new stdClass(); $loginPack->auth = new stdClass(); $loginPack->auth->user_id = $v2UserId; $loginPack->auth->key = $v2Key; $loginPack->no_auto_migrate = true; //negative var name because it's a hack and we want the default to be nonexistant $v2User = bridgeService("v2", "users", "logIn", "", $loginPack); if ($v2User->returnCode != 0) { return new migration_return_package(1, NULL, "Invalid v2 credentials"); } $v2User = $v2User->data; //clear out existing links to v1 data if ($v1Player && ($mig = migration_dbconnection::queryObject("SELECT * FROM user_migrations WHERE v1_player_id = '{$v1Player->player_id}'"))) { $v1Player = false; //v1 player migrated under diff account- don't try to link } if ($v1Editor && migration_dbconnection::queryObject("SELECT * FROM user_migrations WHERE v1_editor_id = '{$v1Editor->editor_id}'")) { if (!$mig->v1_player_id) { migration_dbconnection::query("DELETE FROM user_migrations WHERE v1_editor_id = '{$v1Editor->editor_id}'"); } else { migration_dbconnection::query("UPDATE user_migrations SET v1_editor_id = '0' WHERE v1_editor_id = '{$v1Editor->editor_id}'"); } } if (!$v1Player) { $v1Player = new stdClass(); $v1Player->player_id = 0; } if (!$v1Editor) { $v1Editor = new stdClass(); $v1Editor->editor_id = 0; } migration_dbconnection::query("DELETE FROM user_migrations WHERE v2_user_id = '{$v2User->user_id}'"); //clear out any previous migration data for v2 user migration_dbconnection::query("INSERT INTO user_migrations (v2_user_id, v2_read_write_key, v1_player_id, v1_editor_id, v1_read_write_token) VALUES ('{$v2User->user_id}', '{$v2User->read_write_key}', '{$v1Player->player_id}', '{$v1Editor->editor_id}', '{$v1Editor->read_write_token}')"); return new migration_return_package(0, true); }
public static function bootstrap() { $editor = new Editor("elRTE", 3.2, "xya"); $editor->bind_create("elRTEeditor::create"); Editors::register($editor); }
public function addEditor($label, $name, $initalContents = '') { $r = <<<EOT \t<div class="control-group editor"> \t\t<label class='control-label' for="%s">%s</label> \t\t%s \t</div> EOT; $r = sprintf($r, $name, $label, Editors::create($name, $initalContents)); $this->form .= $r; return true; }