public static function get_for_xml() { $galleries = array(); $gallery_names = array(); foreach (Content_Image::get_tags() as $tag) { if ($tag['name'] == 'gallery') { foreach ($tag['values'] as $tag_value) { if (!in_array($tag_value, $gallery_names)) { $name = ''; $sort = 0; $show_in_menu = 'no'; $category = ''; // Get some content $contents = Content_Content::get_contents_by_tags(array('gallery' => $tag_value)); foreach ($contents as $content) { if ($content['tags']['type'][0] == 'name') { $name = $content['content']; } elseif ($content['tags']['type'][0] == 'sort') { $sort = $content['content']; } elseif ($content['tags']['type'][0] == 'category') { $category = $content['content']; } elseif ($content['tags']['type'][0] == 'description') { $description = $content['content']; } elseif ($content['tags']['type'][0] == 'show_in_menu') { $show_in_menu = $content['content']; } } if ($name == '') { $name = $tag_value; } $images = array(); $counter = 0; foreach (Content_image::get_images(NULL, array('gallery' => array($tag_value))) as $image_name => $image_data) { @($tmp_image_sort = intval($image_data['sort'][0])); if ($tag_value == 'all') { $tmp_sort = 0; foreach ($image_data['gallery'] as $tmp_gallery_name) { if ($tmp_gallery_name != 'all') { $tmp_contents = Content_Content::get_contents_by_tags(array('gallery' => $tmp_gallery_name, 'type' => 'sort')); foreach ($tmp_contents as $tmp_content) { $tmp_sort = $tmp_content['content']; } } } $image_sort = intval($tmp_sort) * 10000 + $tmp_image_sort; } else { $image_sort = $tmp_image_sort; } $images[$counter . 'image'] = array('name' => $image_name, '@sort' => $image_sort); $counter++; } $galleries[] = array('URI' => $tag_value, 'name' => $name, 'description' => $description, 'show_in_menu' => $show_in_menu, '@sort' => $sort, 'category' => $category, 'images' => $images); } $gallery_names[] = $tag_value; } } } return $galleries; }
function __construct($options = false) { // Set Options self::$spark_options = $options ? array_merge(self::$spark_options, $options) : self::$spark_options; //Add Actions add_action('init', array($this, 'initAction')); add_action('wp_enqueue_scripts', array($this, 'enqueueScripts')); }
<?php defined('SYSPATH') or die('No direct script access.'); // Get all galleries $galleries = array(); $categories = array(); foreach (Content_Image::get_tags() as $tag) { if ($tag['name'] == 'gallery') { foreach ($tag['values'] as $tag_value) { if (!in_array($tag_value, $galleries)) { $galleries[] = $tag_value; $category = ''; $contents = Content_Content::get_contents_by_tags(array('gallery' => $tag_value, 'type' => 'category')); foreach ($contents as $content) { $category = URL::title($content['content'], '-', TRUE); } if ($category != '') { if (!in_array($category, $categories)) { $categories[] = $category; } } } } } } if (count($galleries)) { Route::set('galleries', '<gallery>', array('gallery' => implode('|', $galleries)))->defaults(array('controller' => 'generic', 'action' => 'gallery')); } if (count($categories)) { Route::set('categories', '<category>', array('category' => implode('|', $categories)))->defaults(array('controller' => 'generic', 'action' => 'category')); }
public function action_rm_content() { $content = new Content_Content($this->request->param('options')); $content->rm_content(); $this->redirect(); }
/** * Set the database driver * * @return boolean */ public static function set_driver() { $driver_name = 'Driver_Content_' . ucfirst(Kohana::$config->load('content.driver')); return self::$driver = new $driver_name(); }
public function action_index() { $URI = $this->request->uri(); // Empty string defaults to 'welcome' if ($URI == '' || $URI == '/') { $URI = 'welcome'; } // Set the name of the template to use $this->xslt_stylesheet = 'generic'; // Initiate the page model $content_page = new Content_Page(Content_Page::get_page_id_by_uri($URI)); // Create the DOM node <page> $this->xml_content_page = $this->xml_content->appendChild($this->dom->createElement('page')); // And load the page data into it $page_data = $content_page->get_page_data(); foreach ($page_data['tag_ids'] as $template_field_id => $tag_ids) { // Get contents $contents = array(); foreach ($tag_ids as $tag_id) { foreach (Content_Content::get_contents_by_tag_id($tag_id) as $content) { if (!isset($contents[$content['id'] . 'content'])) { $contents[$content['id'] . 'content'] = array('@id' => $content['id'], 'raw' => $content['content'], 'tags' => array()); $counter = 0; foreach ($content['tags'] as $tag_name => $tag_values) { foreach ($tag_values as $tag_value) { $counter++; $contents[$content['id'] . 'content']['tags'][$counter . 'tag']['@name'] = $tag_name; if ($tag_value) { $contents[$content['id'] . 'content']['tags'][$counter . 'tag']['$value'] = $tag_value; } } } } } } // Get images $images = array(); $image_tags = array(); foreach ($tag_ids as $tag_id) { $image_tags[Tags::get_name_by_id($tag_id)] = TRUE; } $larger_counter = 0; foreach (Content_Image::get_images(NULL, $image_tags) as $image_name => $image_tags) { $image = array('@name' => $image_name, 'tags' => array()); $counter = 0; foreach ($image_tags as $tag_name => $tag_values) { if (count($tag_values)) { foreach ($tag_values as $tag_value) { $image['tags'][$counter . 'tag'] = array('@name' => $tag_name, '$value' => $tag_value); $counter++; } } else { $image['tags'][$counter . 'tag'] = array('@name' => $tag_name); $counter++; } } $images[$larger_counter . 'image'] = $image; $larger_counter++; } // Put it all in the $page_data for transport to the XML $page_data[$template_field_id . 'template_field'] = array('@id' => $template_field_id, 'contents' => $contents, 'images' => $images); } unset($page_data['tag_ids']); xml::to_XML($page_data, $this->xml_content_page, NULL, array('id', 'template_field_id')); // We need to put some HTML in from our transformator // The reason for all this mess is that we must inject this directly in to the DOM, or else the <> will get destroyed $XPath = new DOMXpath($this->dom); foreach ($XPath->query('/root/content/page/template_field/contents/content/raw') as $raw_content_node) { $html_content = call_user_func(Kohana::$config->load('content.content_transformator'), $raw_content_node->nodeValue); $html_node = $raw_content_node->parentNode->appendChild($this->dom->createElement('html')); xml::xml_to_DOM_node($html_content, $html_node); } }
public function action_index() { $this->xslt_stylesheet = 'admin/galleries'; xml::to_XML(array('admin_page' => 'Galleries'), $this->xml_meta); if (!empty($_POST)) { if (!empty($_POST['gallery'])) { foreach ($_POST['gallery'] as $counter => $gallery_URI) { $contents = Content_Content::get_contents_by_tags(array('gallery' => $gallery_URI, 'type' => 'sort')); if (count($contents)) { list($sort_content_id) = array_keys($contents); list($sort_content_content) = array_values($contents); $content = new Content_Content($sort_content_id); $content->update_content($counter); } else { Content_Content::new_content($counter, array('gallery' => array($gallery_URI), 'type' => array('sort'))); } } foreach ($_POST['category'] as $counter => $category_name) { $contents = Content_Content::get_contents_by_tags(array('category' => $category_name, 'type' => 'sort')); if (count($contents)) { list($sort_content_id) = array_keys($contents); list($sort_content_content) = array_values($contents); $content = new Content_Content($sort_content_id); $content->update_content($counter); } else { Content_Content::new_content($counter, array('category' => array($category_name), 'type' => array('sort'))); } } } if (!empty($_POST['new_gallery_name'])) { $this->redirect('admin/gallery?uri=' . url::title($_POST['new_gallery_name'], '-', TRUE)); } } // Get all galleries $galleries = array(); $gallery_names = array(); $categories = array(); foreach (Content_Image::get_tags() as $tag) { if ($tag['name'] == 'gallery') { foreach ($tag['values'] as $tag_value) { if (!in_array($tag_value, $gallery_names)) { $name = ''; $sort = 0; $category = ''; // Get some content $contents = Content_Content::get_contents_by_tags(array('gallery' => $tag_value)); foreach ($contents as $content) { if ($content['tags']['type'][0] == 'name') { $name = $content['content']; } elseif ($content['tags']['type'][0] == 'sort') { $sort = $content['content']; } elseif ($content['tags']['type'][0] == 'category') { $category = $content['content']; } } if ($name == '') { $name = $tag_value; } if (!in_array($category, $categories)) { $categories[] = $category; } $galleries[] = array('URI' => $tag_value, 'name' => $name, '@sort' => $sort, 'category' => $category); } $gallery_names[] = $tag_value; } } } $this->xml_content_galleries = $this->xml_content->appendChild($this->dom->createElement('galleries')); xml::to_XML($galleries, $this->xml_content_galleries, 'gallery'); foreach ($categories as $nr => $category_real_name) { if ($category_real_name != '') { $sort = 0; foreach (Content_Content::get_contents_by_tags(array('category' => $category_real_name, 'type' => 'sort')) as $content) { $sort = $content['content']; } $categories[$nr . 'category'] = array('URI' => URL::title($category_real_name, '-', TRUE), 'name' => $category_real_name, 'sort' => $sort); } unset($categories[$nr]); } $this->xml_content_categories = $this->xml_content->appendChild($this->dom->createElement('categories')); xml::to_XML($categories, $this->xml_content_categories); }
public function action_index() { if ($_GET['uri'] == 'all') { $this->redirect(); } // Set all-gallery-settings and sort if (isset($_POST['show_in_all']) && isset($_POST['sort'])) { foreach ($_POST['sort'] as $order => $name) { $image = new Content_Image($name); $tags = array('sort' => array($order), 'gallery' => array($_GET['uri'])); if (in_array($name, $_POST['show_in_all'])) { $tags['gallery'][] = 'all'; } $image->set_data($tags); } } // Remove an image if (isset($_GET['rm'])) { $image = new Content_Image($_GET['rm']); $image->rm_image(); $this->redirect(); } // Set gallery name if (isset($_POST['name'])) { $contents = Content_Content::get_contents_by_tags(array('gallery' => $_GET['uri'], 'type' => 'name')); if (count($contents)) { list($name_content_id) = array_keys($contents); list($name_content_content) = array_values($contents); $content = new Content_Content($name_content_id); $content->update_content($_POST['name']); } else { Content_Content::new_content($_POST['name'], array('gallery' => array($_GET['uri']), 'type' => array('name'))); } } // Set gallery category if (isset($_POST['category'])) { $contents = Content_Content::get_contents_by_tags(array('gallery' => $_GET['uri'], 'type' => 'category')); if (count($contents)) { list($category_content_id) = array_keys($contents); list($category_content_content) = array_values($contents); $content = new Content_Content($category_content_id); $content->update_content($_POST['category']); } else { Content_Content::new_content($_POST['category'], array('gallery' => array($_GET['uri']), 'type' => array('category'))); } } // Set gallery description if (isset($_POST['description'])) { $contents = Content_Content::get_contents_by_tags(array('gallery' => $_GET['uri'], 'type' => 'description')); if (count($contents)) { list($description_content_id) = array_keys($contents); list($description_content_content) = array_values($contents); $content = new Content_Content($description_content_id); $content->update_content($_POST['description']); } else { Content_Content::new_content($_POST['description'], array('gallery' => array($_GET['uri']), 'type' => array('description'))); } } // Set show in menu if (isset($_POST['show_in_menu'])) { $contents = Content_Content::get_contents_by_tags(array('gallery' => $_GET['uri'], 'type' => 'show_in_menu')); if (count($contents)) { list($description_content_id) = array_keys($contents); list($description_content_content) = array_values($contents); $content = new Content_Content($description_content_id); $content->update_content('yes'); } else { Content_Content::new_content('yes', array('gallery' => array($_GET['uri']), 'type' => array('show_in_menu'))); } } elseif (!empty($_POST)) { $contents = Content_Content::get_contents_by_tags(array('gallery' => $_GET['uri'], 'type' => 'show_in_menu')); if (count($contents)) { list($description_content_id) = array_keys($contents); list($description_content_content) = array_values($contents); $content = new Content_Content($description_content_id); $content->update_content('no'); } else { Content_Content::new_content('no', array('gallery' => array($_GET['uri']), 'type' => array('show_in_menu'))); } } // Add image if (isset($_POST['upload_image'])) { foreach ($_FILES['image']['name'] as $nr => $name) { if ($name != '') { $pathinfo = pathinfo($_FILES['image']['name'][$nr]); if (strtolower($pathinfo['extension']) == 'jpg' || strtolower($pathinfo['extension']) == 'png') { $filename = URL::title($_GET['uri'], '-', TRUE) . '.' . strtolower($pathinfo['extension']); $new_filename = $filename; $counter = 1; while (!Content_Image::image_name_available($new_filename)) { $new_filename = substr($filename, 0, strlen($filename) - 4) . '_' . $counter . '.' . strtolower($pathinfo['extension']); $counter++; } if (move_uploaded_file($_FILES['image']['tmp_name'][$nr], APPPATH . '/user_content/images/' . $new_filename)) { if (strtolower($pathinfo['extension']) == 'jpg') { $gd_img_object = ImageCreateFromJpeg(Kohana::$config->load('user_content.dir') . '/images/' . $new_filename); } elseif (strtolower($pathinfo['extension']) == 'png') { $gd_img_object = ImageCreateFromPng(Kohana::$config->load('user_content.dir') . '/images/' . $new_filename); } $details = array('width' => array(imagesx($gd_img_object)), 'height' => array(imagesy($gd_img_object)), 'gallery' => array('all', URL::title($_GET['uri'], '-', TRUE))); Content_Image::new_image($new_filename, $details); } else { $this->add_error('Unknown error uploading image(s)'); } } } } } // Images $images = array(); foreach (Content_image::get_images(NULL, array('gallery' => array($_GET['uri']))) as $image_name => $image_data) { $images[] = array('name' => $image_name, 'sort' => @$image_data['sort'][0], 'all' => strval(@in_array('all', $image_data['gallery']))); } $this->xml_content_images = $this->xml_content->appendChild($this->dom->createElement('images')); xml::to_XML($images, $this->xml_content_images, 'image'); // Get some content $contents = Content_Content::get_contents_by_tags(array('gallery' => $_GET['uri'])); foreach ($contents as $content) { if ($content['tags']['type'][0] == 'name') { xml::to_XML(array('gallery_real_name' => $content['content']), $this->xml_content); } elseif ($content['tags']['type'][0] == 'description') { xml::to_XML(array('gallery_description' => $content['content']), $this->xml_content); } elseif ($content['tags']['type'][0] == 'category') { xml::to_XML(array('gallery_category' => $content['content']), $this->xml_content); } elseif ($content['tags']['type'][0] == 'show_in_menu') { xml::to_XML(array('gallery_show_in_menu' => $content['content']), $this->xml_content); } } }