How to integrate Solmetra’s SPAW2 Editor with Sky Blue Canvas

October 19th, 2009 | Posted in Blog, Something interesting... | No Comments »
Tags: , ,

SkyBlueCanvas is a fun, friendly light weight CMS and a perfect alternative to Joomla or Drupal if what you are looking for is a CMS to manage your smaller, brochure-style websites. The latest version of Scott Lewis’s software runs with both the WYMEditor and TinyMCE WYSIWYG editors integrated. However, if you’re looking for a third alternative for your clients then look no further than Sometra’s SPAW2 Editor. I have always been a big fan of this editor. Quite simply it ticks all the boxes. Integration is quick and simple.

Download the SPAW2 Editor

Upload the spaw2 folder to /plugins/editors/spaw2/

Open includes/core.php

Find on line 191

$code = FileSystem::buffer(SB_EDITORS_DIR . "$editor/header.php");

Replace with

if($editor == 'spaw2'){
} else {
$code = FileSystem::buffer(SB_EDITORS_DIR . "$editor/header.php");
}

Open managers/page/html/form.page.html

Find

<textarea id="story_content"
name="story_content"
class="editor"
cols="55"
rows="22">
{OBJ:STORY_CONTENT}
</textarea>

Replace with

{OBJ:TEXTAREA_START}{OBJ:STORY_CONTENT}{OBJ:TEXTAREA_END}

Open manager/page/page.class.php

Find on line 426

$form['STORY_CONTENT'] = $this->GetStoryContent($_OBJ);

Replace with

global $config;
$myeditor = isset($config['site_editor']) ? $config['site_editor'] : 'wymeditor';
if($myeditor == 'spaw2'){
    $path = "plugins/editors/";
    include($path . "spaw2/spaw.inc.php");
    $spaw = new SpawEditor("story_content",stripslashes($this->GetStoryContent($_OBJ)));
$pages = $Core->xmlHandler->ParserMain(SB_PAGE_FILE);
                $url_array = array();
                foreach ($pages as $p)
                {
                    $link = $Core->GetLink($p->name, $p->id, '', 1);
                    $url_array[$link] =$p->name;
                }
    $spaw->setConfigItem("quick_links", $url_array, SPAW_CFG_TRANSFER_SECURE);
    $html12 = $spaw->getHtml();
    $form['TEXTAREA_START'] = $html12;
    $form['TEXTAREA_END'] = '';
        $form['STORY_CONTENT'] = '';
} else {
    $form['TEXTAREA_START'] = '<textarea id="story_content"
                                          name="story_content"
                                          class="editor"
                                          cols="55"
                                          rows="22">';
    $form['TEXTAREA_END'] = '</textarea>';
    $form['STORY_CONTENT'] = $this->GetStoryContent($_OBJ);
}

That’s all folks!

You must be logged in to post a comment.