Beispiel #1
0
 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");
 }
Beispiel #2
0
 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());
 }
Beispiel #3
0
 public static function bootstrap()
 {
     $editor = new Editor("CKEditor", 3.2, "xya");
     $editor->bind_create("CKEditorPlugin::create");
     Editors::register($editor);
 }
Beispiel #4
0
 public static function bootstrap()
 {
     self::$editor = Settings::get('gui', 'editor', true);
 }
Beispiel #5
0
 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);
 }
Beispiel #6
0
 public static function bootstrap()
 {
     $editor = new Editor("elRTE", 3.2, "xya");
     $editor->bind_create("elRTEeditor::create");
     Editors::register($editor);
 }
Beispiel #7
0
    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;
    }