,259c1 < 'Small Business', < 'description' => 'This installation profile sets up a simple Small Business website. ' < ); < } < < function create_new_node($node) { < db_query("INSERT INTO {node} (nid,vid,type,title,uid,status,created,changed,comment,promote,moderate,sticky) < VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','0','%s','0','%s')", < $node['nid'], $node['vid'],$node['type'], $node['title'], '1', $node['status'], $time, $time, < $node['promote'], $node['sticky']); < < db_query("INSERT INTO {node_revisions} (nid, vid, uid, title, body, teaser, log, timestamp, format) < VALUES ('%s', '%s', '1', '%s', '%s', '%s', '', '%i', '1')", < $node['nid'], $node['vid'], $node['title'], $node['body'],$node['teaser'], $time); < } < < /** < * Return a list of tasks that this profile supports. < * < * @return < * A keyed array of tasks the profile will perform during < * the final stage. The keys of the array will be used internally, < * while the values will be displayed to the user in the installer < * task list. < */ < function sb_profile_task_list() { < } < < /** < * Perform any final installation tasks for this profile. < * < * The installer goes through the profile-select -> locale-select < * -> requirements -> database -> locale-initial-batch -> configure < * -> locale-remaining-batch -> finished -> done tasks in this order, < * if you don't implement this function in your profile. < * < * If this function is implemented, you can have any number of < * custom tasks to perform after 'configure', implementing a state < * machine here to walk the user through those tasks. First time, < * this function gets called with $task set to 'profile', and you < * can advance to further tasks by setting $task to your tasks' < * identifiers, used as array keys in the hook_profile_task_list() < * above. You must avoid the reserved tasks listed in < * install_reserved_tasks(). If you implement your custom tasks, < * this function will get called in every HTTP request (for form < * processing, printing your information screens and so on) until < * you advance to the 'profile-finished' task, with which you < * hand control back to the installer. Each custom page you < * return needs to provide a way to continue, such as a form < * submission or a link. You should also set custom page titles. < * < * You should define the list of custom tasks you implement by < * returning an array of them in hook_profile_task_list(), as these < * show up in the list of tasks on the installer user interface. < * < * Remember that the user will be able to reload the pages multiple < * times, so you might want to use variable_set() and variable_get() < * to remember your data and control further processing, if $task < * is insufficient. Should a profile want to display a form here, < * it can; the form should set '#redirect' to FALSE, and rely on < * an action in the submit handler, such as variable_set(), to < * detect submission and proceed to further tasks. See the configuration < * form handling code in install_tasks() for an example. < * < * Important: Any temporary variables should be removed using < * variable_del() before advancing to the 'profile-finished' phase. < * < * @param $task < * The current $task of the install system. When hook_profile_tasks() < * is first called, this is 'profile'. < * @param $url < * Complete URL to be used for a link or form action on a custom page, < * if providing any, to allow the user to proceed with the installation. < * < * @return < * An optional HTML string to display to the user. Only used if you < * modify the $task, otherwise discarded. < */ < function sb_profile_tasks(&$task, $url) { < //Todo: Set settings < //Todo: (optional) Create Small Business theme < < $site_name = variable_get('site_name', "Example Company"); < variable_set('site_footer', st('Copyright © 2007 ').$site_name); < < $node_types = array( //This is where all the node types go < array( < 'type' => 'page', < 'name' => st('Page'), < 'module' => 'node', < 'description' => st("Use this node to create static pages. This page doesn't allow comments and doesn't get featured on the front page."), < 'custom' => TRUE, < 'modified' => TRUE, < 'locked' => FALSE, < 'help' => '', < 'min_word_count' => '', < ), < array( < 'type' => 'story', < 'name' => st('Blog'), < 'module' => 'node', < 'description' => st("Use this node type to publish day to day updates. This type will feature on the front page and allows comments."), < 'custom' => TRUE, < 'modified' => TRUE, < 'locked' => FALSE, < 'help' => '', < 'min_word_count' => '', < ), < ); < < foreach ($node_types as $type) { < $type = (object) _node_type_set_defaults($type); < node_type_save($type); < } < menu_rebuild(); < < //Create nodes (About us....) < $nodes = array( < array( < 'nid' => 1, < 'vid' => 1, < 'status' => 1, < 'promote' => 0, < 'sticky' => 0, < 'type' => 'page', < 'title' => st('About Us'), < 'body' => st("This is a page describing what the company does. < Some possible content may include history of the company, location, and testimonials. < Modify this page with your own content."), < ), < array( < 'nid' => 2, < 'vid' => 2, < 'status' => 1, < 'promote' => 0, < 'sticky' => 0, < 'type' => 'page', < 'title' => st('Contact Us'), < 'body' => st("Contact ".variable_get('site_name', "Example Site").": < < 890 Nowhere Drive < P.O. Box 485 < Schenectady, NY 12345 < (678) 901-2345 < ".variable_get('site_mail', "sales@example.com")." < Edit this page with your content"), < ), < array( < 'nid' => 3, < 'vid' => 3, < 'status' => 1, < 'promote' => 0, < 'sticky' => 0, < 'type' => 'page', < 'title' => st('Services Offered'), < 'body' => st("This page is to tell your visitors what services you offer. < <