function perform()
	{
		$object_data = fetch_mapped_by_url();
		
		$parent_data = fetch_one_by_node_id($object_data['parent_node_id']);
		$path = $parent_data['path'];
		
		$params = complex_array :: array_merge($_GET, $_POST);

		$sep = '';
		$query = '';
		
		$flat_params = array();
		complex_array :: to_flat_array($params, $flat_params);
		
		foreach ($flat_params as $key => $value)
		{
			$query .= $sep . $key . '=' . urlencode($value);
			$sep = '&';
		} 
		if (!empty($query))
			$path .= '?' . $query;
		
		return new redirect_response(RESPONSE_STATUS_SUCCESS, $path);
	}
 function render_image_select()
 {
     $id = $this->get_attribute('id');
     $md5id = substr(md5($id), 0, 5);
     $image_node_id = $this->get_value();
     $start_path = '';
     if ($image_node_id && ($image_data = fetch_one_by_node_id($image_node_id))) {
         $span_name = $image_data['identifier'];
         $start_path = '/root?action=image_select&node_id=' . $image_data['parent_node_id'];
     } else {
         $span_name = '';
     }
     if (!$start_path) {
         $start_path = $this->get_attribute('start_path');
         if (!$start_path) {
             $start_path = session::get('limb_image_select_working_path');
         }
         if (!$start_path) {
             $start_path = '/root/images';
         }
         $start_path .= '?action=image_select';
     }
     echo "<span id='{$md5id}_name'>{$span_name}</span><br><img id='{$md5id}_img' src='/shared/images/1x1.gif'/>\n      <script type='text/javascript'>\n        var image_select_{$md5id};\n\n        function init_image_select_{$md5id}()\n        {\n          image_select_{$md5id} = new image_select('{$id}', '{$md5id}');\n          image_select_{$md5id}.set_start_path('{$start_path}');\n          image_select_{$md5id}.generate();\n        }\n\n        function image_select_{$md5id}_insert_image(image)\n        {\n          image_select_{$md5id}.insert_image(image);\n        }\n\n        function image_select_{$md5id}_get_image()\n        {\n          return image_select_{$md5id}.get_image();\n        }\n\n        function image_reset_{$md5id}()\n        {\n          image_select_{$md5id}.id_container.value = 0;\n          init_image_select_{$md5id}();\n        }\n\n        add_event(window, 'load', init_image_select_{$md5id});\n      </script>";
     echo "<br><br><input class='button' type='button' onclick='popup(\"/root/tools/image_select?properties=0\", null, null, false, image_select_{$md5id}_insert_image, image_select_{$md5id}_get_image)' value='" . strings::get('select_image', 'image') . "'>";
     echo '&nbsp;';
     echo "<input class='button' type='button' onclick='image_reset_{$md5id}()' value='" . strings::get('reset') . "'>";
 }
	function perform(&$request, &$response)
	{
		if($request->has_attribute('popup'))
		  $response->write(close_popup_no_parent_reload_response());
	
	  $request->set_status(REQUEST_STATUS_FAILURE);
	  
		if(!$version = $request->get_attribute('version'))
			return;

		if(!$node_id = $request->get_attribute('version_node_id'))
	    return;
			
		if(!$site_object = wrap_with_site_object(fetch_one_by_node_id((int)$node_id)))
			return;
		
		if(!is_subclass_of($site_object, 'content_object'))
			return;

		if(!$site_object->recover_version((int)$version))
		  return;

		if($request->has_attribute('popup'))
		  $response->write(close_popup_response($request));
	
	  $request->set_status(REQUEST_STATUS_SUCCESS);
	}
 function perform()
 {
     $tree =& limb_tree::instance();
     if (isset($_REQUEST['id'])) {
         $node_id = (int) $_REQUEST['id'];
     } else {
         $node_id = get_mapped_id();
     }
     if (!isset($_REQUEST['direction'])) {
         return false;
     }
     if (!($object_data = fetch_one_by_node_id($node_id))) {
         debug::write_error('Node is not accessible', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__, array('node_id' => $node_id));
         return false;
     }
     $direction = $_REQUEST['direction'];
     if (!($direction == 'up' || $direction == 'down')) {
         debug::write_error('Direction is not correct', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__, array('direction' => $direction));
         return false;
     }
     if ($tree->change_node_order($node_id, $direction)) {
         reload(PHP_SELF . '#' . $node_id);
     }
     return false;
 }
 function render_file_select()
 {
     $id = $this->get_attribute('id');
     $md5id = substr(md5($id), 0, 5);
     $file_node_id = $this->get_value();
     if ($file_node_id && ($file_data = fetch_one_by_node_id($file_node_id))) {
         $span_name = $file_data['identifier'];
         $span_description = $file_data['description'];
         $span_size = $file_data['size'];
         $span_mime = $file_data['mime_type'];
         $start_path = '/root?action=file_select&node_id=' . $file_data['parent_node_id'];
     } else {
         $span_name = '';
         $span_description = '';
         $span_size = '';
         $span_mime = '';
     }
     $start_path_condition = "";
     if (!$start_path) {
         $start_path = $this->get_attribute('start_path');
         if (!$start_path) {
             $start_path = session::get('limb_file_select_working_path');
         }
         if (!$start_path) {
             $start_path = '/root/images_folder';
         }
         $start_path .= '?action=file_select';
     }
     $start_path_condition = "file_select_{$md5id}.set_start_path('{$start_path}');";
     echo "<span id='{$md5id}_span_empty'><img src='/shared/images/no_img.gif'></span>\n  \t\t\t\t<span id='{$md5id}_span_content'>\n  \t\t\t\t\t<a id='{$md5id}_href' href='#'><img id='{$md5id}_img' align='center' src='/shared/images/1x1.gif'/>&nbsp;<span id='{$md5id}_name'>{$span_name}</span></a><br>\n  \t\t\t\t\t<span id='{$md5id}_description'>{$span_description}</span><br>\n  \t\t\t\t\tsize:&nbsp;<span id='{$md5id}_size'>{$span_size}</span>&nbsp;bytes&nbsp;<br>\n  \t\t\t\t\tmime-type:<span id='{$md5id}_mime'>{$span_mime}</span>\n  \t\t\t\t</span><br><br>";
     echo "<script type='text/javascript'>\n\t\t    \tvar file_select_{$md5id};\n\t\t    \t\n\t\t      function init_file_select_{$md5id}()\n\t\t      {\n\t\t        file_select_{$md5id} = new file_select('{$id}', '{$md5id}');\n\t\t        {$start_path_condition}\n\t\t        file_select_{$md5id}.generate();\n\t\t      }\n\t\t      \n\t\t      function file_select_{$md5id}_insert_file(file)\n\t\t      {\n\t\t      \tfile_select_{$md5id}.insert_file(file);\n\t\t      }\n\t\n\t\t      function file_select_{$md5id}_get_file()\n\t\t      {\n\t\t      \treturn file_select_{$md5id}.get_file();\n\t\t      }\n\t\t      \n\t\t      function file_reset_{$md5id}()\n\t\t      {\n\t\t      \tfile_select_{$md5id}.id_container.value = 0;\n\t\t      \tinit_file_select_{$md5id}();\n\t\t      }\n\t\t     \n\t\t      add_event(window, 'load', init_file_select_{$md5id});\n\t\t    </script>";
     echo "<input class='button' type='button' onclick='popup(\"/root/file_select?\", null, null, false, file_select_{$md5id}_insert_file, file_select_{$md5id}_get_file)' value='" . strings::get('select_file', 'file') . "'>";
     echo '&nbsp;';
     echo "<input class='button' type='button' onclick='file_reset_{$md5id}()' value='" . strings::get('reset') . "'>";
 }
	function & get_dataset(&$counter, $params=array())
	{
		$counter = 0;
		
		if(!isset($_REQUEST['version']))
			return new empty_dataset();

		if(!isset($_REQUEST['version_node_id']))
			return new empty_dataset();
			
		$version = (int)$_REQUEST['version'];
		$node_id = (int)$_REQUEST['version_node_id'];

		if(!$site_object = wrap_with_site_object(fetch_one_by_node_id($node_id)))
			return new empty_dataset();
		
		if(!is_subclass_of($site_object, 'content_object'))
			return new empty_dataset();
		
		if(($version_data = $site_object->fetch_version($version)) === false)
			return new empty_dataset();
				
		$result = array();
		
		foreach($version_data as $attrib => $value)
		{
			$data['attribute'] = $attrib;
			$data['value'] = $value;
			$result[] = $data;
		}
		
		return new array_dataset($result);
	}		
 function perform(&$request, &$response)
 {
     $request->set_status(REQUEST_STATUS_FAILURE);
     if ($request->has_attribute('popup')) {
         $response->write(close_popup_response($request));
     }
     if (!($id = $request->get_attribute('id'))) {
         return;
     }
     if (!($object_data =& fetch_one_by_node_id((int) $id))) {
         return;
     }
     $object =& site_object_factory::create($object_data['class_name']);
     if (!method_exists($object, 'get_cart_item')) {
         $request->set_status(REQUEST_STATUS_FAILURE);
         return;
     }
     $object->import_attributes($object_data);
     $cart_item =& $object->get_cart_item();
     $cart =& cart::instance();
     if ($quantity = (int) $request->get_attribute('quantity')) {
         $cart_item->set_amount($quantity);
     }
     $cart->add_item($cart_item);
     $request->set_status(REQUEST_STATUS_SUCCESS);
     $response->redirect('/root/cart?popup=1');
 }
 function _valid_perform(&$request, &$response)
 {
     $tree =& tree::instance();
     $params = array();
     $params['identifier'] = $this->dataspace->get('identifier');
     $params['class'] = $this->dataspace->get('class_name');
     $params['title'] = $this->dataspace->get('title');
     $params['parent_node_id'] = $this->dataspace->get('parent_node_id');
     $params['controller_id'] = site_object_controller::get_id($this->dataspace->get('controller_name'));
     $object =& site_object_factory::create($params['class']);
     if (!($parent_data = fetch_one_by_node_id($params['parent_node_id']))) {
         error("parent wasn't retrieved", __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__);
     }
     $object->merge_attributes($params);
     if (!$object->create()) {
         error("object wasn't registered", __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__);
     }
     $parent_object =& site_object_factory::create($parent_data['class_name']);
     $parent_object->merge_attributes($parent_data);
     $access_policy =& access_policy::instance();
     $access_policy->save_initial_object_access($object, $parent_object);
     $request->set_status(REQUEST_STATUS_FORM_SUBMITTED);
     if ($request->has_attribute('popup')) {
         $response->write(close_popup_response($request));
     }
 }
 function perform()
 {
     $tree =& limb_tree::instance();
     if (isset($_REQUEST['id'])) {
         $node_id = (int) $_REQUEST['id'];
     } else {
         $node_id = get_mapped_id();
     }
     if (!isset($_REQUEST['direction'])) {
         return new failed_response();
     }
     if (!($object_data = fetch_one_by_node_id($node_id))) {
         debug::write_error('Node is not accessible', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__, array('node_id' => $node_id));
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     $direction = $_REQUEST['direction'];
     if (!($direction == 'up' || $direction == 'down')) {
         debug::write_error('Direction is not correct', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__, array('direction' => $direction));
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     if ($tree->change_node_order($node_id, $direction)) {
         return new close_popup_response();
     } else {
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
 }
 function &get_dataset(&$counter, $params = array())
 {
     $counter = 0;
     $request = request::instance();
     if (!($version = $request->get_attribute('version'))) {
         return new empty_dataset();
     }
     if (!($node_id = $request->get_attribute('version_node_id'))) {
         return new empty_dataset();
     }
     $version = (int) $version;
     $node_id = (int) $node_id;
     if (!($site_object = wrap_with_site_object(fetch_one_by_node_id($node_id)))) {
         return new empty_dataset();
     }
     if (!is_subclass_of($site_object, 'content_object')) {
         return new empty_dataset();
     }
     if (($version_data = $site_object->fetch_version($version)) === false) {
         return new empty_dataset();
     }
     $result = array();
     foreach ($version_data as $attrib => $value) {
         $data['attribute'] = $attrib;
         $data['value'] = $value;
         $result[] = $data;
     }
     return new array_dataset($result);
 }
 function _get_template_path_from_node($node_id)
 {
     if (!($site_object =& wrap_with_site_object(fetch_one_by_node_id($node_id)))) {
         return null;
     }
     $controller =& $site_object->get_controller();
     return $controller->get_action_property($controller->get_default_action(), 'template_path');
 }
 function _init_parent_node_id()
 {
     if (!($ids = $this->dataspace->get('ids'))) {
         return;
     }
     $id = key($ids);
     //we need only one
     $object = fetch_one_by_node_id($id);
     $this->dataspace->set('parent_node_id', $object['parent_node_id']);
 }
	function render_image_select()
	{ 
		$id = $this->get_attribute('id');	
  	$md5id = substr(md5($id), 0, 5);

  	$image_node_id = $this->get_value();
  	
  	if($image_node_id && $image_data = fetch_one_by_node_id($image_node_id))
  	{
			$span_name = $image_data['identifier'];
//			$span_description = $image_data['description'];
//			$span_size = $image_data['size'];
//			$span_mime = $image_data['mime_type'];
		}
		else
		{
			$span_name = '';
//			$span_description = '';
//			$span_size = '';
//			$span_mime = '';
		}
  	  	
  	echo "<span id='{$md5id}_name'>{$span_name}</span><br><img id='{$md5id}_img' src='/shared/images/1x1.gif'/>
	    <script type='text/javascript'>
	    	var image_select_{$md5id};
	    	
	      function init_image_select_{$md5id}()
	      {
	        image_select_{$md5id} = new image_select('{$id}', '{$md5id}');
	        image_select_{$md5id}.generate();
	      }
	      
	      function image_select_{$md5id}_insert_image(image)
	      {
	      	image_select_{$md5id}.insert_image(image);
	      }

	      function image_select_{$md5id}_get_image()
	      {
	      	return image_select_{$md5id}.get_image();
	      }
	      
	      function image_reset_{$md5id}()
	      {
	      	image_select_{$md5id}.id_container.value = 0;
	      	init_image_select_{$md5id}();
	      }
	     
	      add_event(window, 'load', init_image_select_{$md5id});
	    </script>";
	    
	  echo "<br><br><input class='button' type='button' onclick='popup(\"/root/image_select?properties=0\", null, null, false, image_select_{$md5id}_insert_image, image_select_{$md5id}_get_image)' value='Select image'>";
	  echo '&nbsp;';
	  echo "<input class='button' type='button' onclick='image_reset_{$md5id}()' value='Reset'>";
	}
 function _valid_perform()
 {
     $object_data =& fetch_mapped_by_url();
     $object =& site_object_factory::create($this->definition['site_object']);
     $object->import_attributes($object_data);
     if (!$object->delete()) {
         return false;
     }
     $parent_object_data = fetch_one_by_node_id($object_data['parent_id']);
     close_popup(null, true);
 }
 function _can_parent_accept_node($parent_node_id, $node_id)
 {
     if (!($parent_object = wrap_with_site_object(fetch_one_by_node_id($parent_node_id)))) {
         debug::write_error('acceptor node is not accessible', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__, array('parent_node_id' => $parent_node_id));
         return false;
     }
     if (!($target_data = fetch_one_by_node_id($node_id))) {
         debug::write_error('node is not accessible', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__, array('node_id' => $node_id));
         return false;
     }
     return $parent_object->can_accept_child_class($target_data['class_name']);
 }
 function _valid_perform()
 {
     $object_data =& fetch_mapped_by_url();
     $object =& site_object_factory::create($this->definition['site_object']);
     $object->import_attributes($object_data);
     if (!$object->delete()) {
         message_box::write_notice('Can not be deleted!');
         return new failed_response();
     }
     $parent_object_data = fetch_one_by_node_id($object_data['parent_node_id']);
     return new close_popup_response(RESPONSE_STATUS_FORM_SUBMITTED, RELOAD_SELF_URL, true);
 }
 function _valid_perform(&$request, &$response)
 {
     $node_id = $this->dataspace->get('id');
     if (!($object = wrap_with_site_object(fetch_one_by_node_id($node_id)))) {
         $request->set_status(REQUEST_STATUS_FAILURE);
         return;
     }
     $object->set_attribute('controller_id', site_object_controller::get_id($this->dataspace->get('controller_name')));
     $object->update(false);
     $request->set_status(REQUEST_STATUS_SUCCESS);
     if ($request->has_attribute('popup')) {
         $response->write(close_popup_response($request));
     }
 }
 function render_image_select()
 {
     $id = $this->get_attribute('id');
     $md5id = substr(md5($id), 0, 5);
     $image_node_id = $this->get_value();
     if ($image_node_id && ($image_data = fetch_one_by_node_id($image_node_id))) {
         $span_name = $image_data['identifier'];
     } else {
         $span_name = '';
     }
     echo "<span id='{$md5id}_name'>{$span_name}</span><br><img id='{$md5id}_img' src='/shared/images/1x1.gif'/>\n\t    <script type='text/javascript'>\n\t    \tvar image_select_{$md5id};\n\t    \t\n\t      function init_image_select_{$md5id}()\n\t      {\n\t        image_select_{$md5id} = new image_select('{$id}', '{$md5id}');\n\t        image_select_{$md5id}.generate();\n\t      }\n\t      \n\t      function image_select_{$md5id}_insert_image(image)\n\t      {\n\t      \timage_select_{$md5id}.insert_image(image);\n\t      }\n\n\t      function image_select_{$md5id}_get_image()\n\t      {\n\t      \treturn image_select_{$md5id}.get_image();\n\t      }\n\t      \n\t      function image_reset_{$md5id}()\n\t      {\n\t      \timage_select_{$md5id}.id_container.value = 0;\n\t      \tinit_image_select_{$md5id}();\n\t      }\n\t     \n\t      add_event(window, 'load', init_image_select_{$md5id});\n\t    </script>";
     echo "<br><br><input class='button' type='button' onclick='popup(\"/root/image_select?properties=0\", null, null, false, image_select_{$md5id}_insert_image, image_select_{$md5id}_get_image)' value='" . strings::get('select_image', 'image') . "'>";
     echo '&nbsp;';
     echo "<input class='button' type='button' onclick='image_reset_{$md5id}()' value='" . strings::get('reset') . "'>";
 }
 function perform()
 {
     if (!isset($_REQUEST['path'])) {
         return new response(RESPONSE_STATUS_DONT_TRACK);
     }
     if (!($node = map_url_to_node($_REQUEST['path']))) {
         return new response(RESPONSE_STATUS_DONT_TRACK);
     }
     if (!($object = fetch_one_by_node_id($node['id']))) {
         return new response(RESPONSE_STATUS_DONT_TRACK);
     }
     $dataspace =& $this->view->find_child('parent_node_data');
     $dataspace->import($object);
     return new response(RESPONSE_STATUS_DONT_TRACK);
 }
 function perform(&$request, &$response)
 {
     $request->set_status(REQUEST_STATUS_DONT_TRACK);
     if (!($path = $request->get_attribute('path'))) {
         return;
     }
     if (!($node = map_url_to_node($path))) {
         return;
     }
     if (!($object = fetch_one_by_node_id($node['id']))) {
         return;
     }
     session::set('limb_node_select_working_path', $path);
     $dataspace =& $this->view->find_child('parent_node_data');
     $dataspace->import($object);
 }
 function render_node_select()
 {
     $id = $this->get_attribute('id');
     $md5id = substr(md5($id), 0, 5);
     if ($node_id = $this->get_value()) {
         $object_data = fetch_one_by_node_id($node_id);
     } else {
         $object_data = false;
     }
     if ($object_data !== false) {
         $identifier = $object_data['identifier'];
         $title = $object_data['title'];
         $path = $object_data['path'];
         $class_name = $object_data['class_name'];
         $icon = $object_data['icon'];
         $parent_node_id = $object_data['parent_node_id'];
     } else {
         $identifier = '';
         $title = '';
         $path = '';
         $class_name = '';
         $parent_node_id = '';
         $icon = '/shared/images/no.gif';
     }
     echo "\t<img id='{$md5id}_icon' align='center' src='{$icon}'/>&nbsp;\n\t \t\t\t\t\t<b><span id='{$md5id}_path'>{$path}</span></b>\n  \t\t\t\t\t<span style='display:none;'>\n    \t\t\t\t<span id='{$md5id}_node_id'>{$node_id}</span>\n    \t\t\t\t<span id='{$md5id}_parent_node_id'>{$parent_node_id}</span>\n    \t\t\t\t<span id='{$md5id}_identifier'>{$identifier}</span>\n  \t\t\t\t\t<span id='{$md5id}_title'>{$title}</span>\n  \t\t\t\t\t<span id='{$md5id}_class_name'>{$class_name}</span>\n  \t\t\t\t\t</span>";
     $start_path_condition = "";
     $only_parents_condition = "";
     $start_path = $this->get_attribute('start_path');
     if (!$start_path) {
         $start_path = session::get('limb_node_select_working_path');
     }
     if (!$start_path) {
         $start_path = '/root';
     }
     $start_path_condition = "node_select_{$md5id}.set_start_path('{$start_path}');";
     if ($only_parents = $this->get_attribute('only_parents')) {
         $only_parents_condition = "node_select_{$md5id}.set_only_parents_restriction('{$only_parents}');";
     }
     echo "<script type='text/javascript'>\n\t\t    \tvar node_select_{$md5id};\n\t\t    \t\n\t\t      function init_node_select_{$md5id}()\n\t\t      {\n\t\t        node_select_{$md5id} = new node_select('{$id}', '{$md5id}');\n\t\t        {$start_path_condition}\n\t\t        {$only_parents_condition}\n\t\t        node_select_{$md5id}.generate();\n\t\t      }\n\t\t      \n\t\t      function node_select_{$md5id}_insert_node(node)\n\t\t      {\n\t\t      \tnode_select_{$md5id}.insert_node(node);\n\t\t      }\n\t\n\t\t      function node_select_{$md5id}_get_node()\n\t\t      {\n\t\t      \treturn node_select_{$md5id}.get_node();\n\t\t      }\n\t\t      \t\t     \n\t\t      function node_reset_{$md5id}()\n\t\t      {\n\t\t      \tnode_select_{$md5id}.reset();\n\t\t      }\n\n\t\t      add_event(window, 'load', init_node_select_{$md5id});\n\t\t    </script>";
     echo "<input class='button' type='button' onclick='popup(\"/root/node_select\", null, null, false, node_select_{$md5id}_insert_node, node_select_{$md5id}_get_node)' value=' ... '>";
     if ($this->get_attribute('reset_button')) {
         echo '&nbsp;';
         echo "<input class='button' type='button' onclick='node_reset_{$md5id}()' value='" . strings::get('reset') . "'>";
     }
 }
 function perform()
 {
     if (!isset($_REQUEST['id'])) {
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     if (!($object_data =& fetch_one_by_node_id((int) $_REQUEST['id']))) {
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     $object =& site_object_factory::create($object_data['class_name']);
     if (!method_exists($object, 'get_cart_item')) {
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     $object->import_attributes($object_data);
     $cart_item =& $object->get_cart_item();
     $cart =& cart::instance();
     $cart->add_item($cart_item);
     return new redirect_response(RESPONSE_STATUS_SUCCESS, '/root/cart?popup=1');
 }
 function perform()
 {
     if (!isset($_REQUEST['version'])) {
         return new close_popup_no_reload_response(RESPONSE_STATUS_FAILURE);
     }
     if (!isset($_REQUEST['version_node_id'])) {
         return new close_popup_no_reload_response(RESPONSE_STATUS_FAILURE);
     }
     $version = (int) $_REQUEST['version'];
     $node_id = (int) $_REQUEST['version_node_id'];
     if (!($site_object = wrap_with_site_object(fetch_one_by_node_id($node_id)))) {
         return new close_popup_no_reload_response(RESPONSE_STATUS_FAILURE);
     }
     if (!is_subclass_of($site_object, 'content_object')) {
         return new close_popup_no_reload_response(RESPONSE_STATUS_FAILURE);
     }
     if ($site_object->recover_version($version)) {
         return new close_popup_response(RESPONSE_STATUS_SUCCESS);
     } else {
         return new close_popup_no_reload_response(RESPONSE_STATUS_FAILURE);
     }
 }
 function render_file_select()
 {
     $id = $this->get_attribute('id');
     $md5id = substr(md5($id), 0, 5);
     $file_node_id = $this->get_value();
     if ($file_node_id && ($file_data = fetch_one_by_node_id($file_node_id))) {
         $span_name = $file_data['identifier'];
         $span_description = $file_data['description'];
         $span_size = $file_data['size'];
         $span_mime = $file_data['mime_type'];
     } else {
         $span_name = '';
         $span_description = '';
         $span_size = '';
         $span_mime = '';
     }
     echo "<span id='{$md5id}_span_empty'><img src='/shared/images/no_img.gif'></span>\n  \t\t\t\t<span id='{$md5id}_span_content'>\n  \t\t\t\t\t<a id='{$md5id}_href' href='#'><img id='{$md5id}_img' align='center' src='/shared/images/1x1.gif'/>&nbsp;<span id='{$md5id}_name'>{$span_name}</span></a><br>\n  \t\t\t\t\t<span id='{$md5id}_description'>{$span_description}</span><br>\n  \t\t\t\t\tsize:&nbsp;<span id='{$md5id}_size'>{$span_size}</span>&nbsp;bytes&nbsp;<br>\n  \t\t\t\t\tmime-type:<span id='{$md5id}_mime'>{$span_mime}</span>\n  \t\t\t\t</span><br><br>";
     echo "<script type='text/javascript'>\r\n\t\t    \tvar file_select_{$md5id};\r\n\t\t    \t\r\n\t\t      function init_file_select_{$md5id}()\r\n\t\t      {\r\n\t\t        file_select_{$md5id} = new file_select('{$id}', '{$md5id}');\n\t\t        file_select_{$md5id}.generate();\r\n\t\t      }\r\n\t\t      \r\n\t\t      function file_select_{$md5id}_insert_file(file)\r\n\t\t      {\r\n\t\t      \tfile_select_{$md5id}.insert_file(file);\r\n\t\t      }\r\n\t\r\n\t\t      function file_select_{$md5id}_get_file()\r\n\t\t      {\r\n\t\t      \treturn file_select_{$md5id}.get_file();\r\n\t\t      }\n\t\t      \n\t\t      function file_reset_{$md5id}()\r\n\t\t      {\r\n\t\t      \tfile_select_{$md5id}.id_container.value = 0;\n\t\t      \tinit_file_select_{$md5id}();\r\n\t\t      }\r\n\t\t     \r\n\t\t      add_event(window, 'load', init_file_select_{$md5id});\r\n\t\t    </script>";
     echo "<input class='button' type='button' onclick='PopupURL(null, \"/root/file_select?\", file_select_{$md5id}_insert_file, file_select_{$md5id}_get_file)' value='Select file'>";
     echo '&nbsp;';
     echo "<input class='button' type='button' onclick='file_reset_{$md5id}()' value='Reset'>";
 }
  function render_file_select()
  {
    $id = $this->get_attribute('id');
    $md5id = substr(md5($id), 0, 5);

    $file_node_id = $this->get_value();

    if($file_node_id && $file_data = fetch_one_by_node_id($file_node_id))
    {
      $span_name = $file_data['identifier'];
      $span_description = $file_data['description'];
      $span_size = $file_data['size'];
      $span_mime = $file_data['mime_type'];
    }
    else
    {
      $span_name = '';
      $span_description = '';
      $span_size = '';
      $span_mime = '';
    }

    echo "<span id='{$md5id}_span_empty'><img src='/shared/images/no_img.gif'></span>
          <span id='{$md5id}_span_content'>
            <a id='{$md5id}_href' href='#'><img id='{$md5id}_img' align='center' src='/shared/images/1x1.gif'/>&nbsp;<span id='{$md5id}_name'>{$span_name}</span></a><br>
            <span id='{$md5id}_description'>{$span_description}</span><br>
            size:&nbsp;<span id='{$md5id}_size'>{$span_size}</span>&nbsp;bytes&nbsp;<br>
            mime-type:<span id='{$md5id}_mime'>{$span_mime}</span>
          </span><br><br>";

    echo "<script type='text/javascript'>
          var file_select_{$md5id};

          function init_file_select_{$md5id}()
          {
            file_select_{$md5id} = new file_select('{$id}', '{$md5id}');
            file_select_{$md5id}.generate();
          }

          function file_select_{$md5id}_insert_file(file)
          {
            file_select_{$md5id}.insert_file(file);
          }

          function file_select_{$md5id}_get_file()
          {
            return file_select_{$md5id}.get_file();
          }

          function file_reset_{$md5id}()
          {
            file_select_{$md5id}.id_container.value = 0;
            init_file_select_{$md5id}();
          }

          add_event(window, 'load', init_file_select_{$md5id});
        </script>";

    echo "<input class='button' type='button' onclick='popup(\"/root/tools/file_select\", null, null, false, file_select_{$md5id}_insert_file, file_select_{$md5id}_get_file)' value='" . strings :: get('select_file', 'file') . "'>";
    echo '&nbsp;';
    echo "<input class='button' type='button' onclick='file_reset_{$md5id}()' value='" . strings :: get('reset') . "'>";
  }
Example #26
0
    if (debug::is_console_enabled()) {
        echo debug::parse_html_console();
    }
    header("HTTP/1.1 404 Not found");
    exit;
}
if (isset($node['only_parent_found']) && $node['only_parent_found']) {
    if (isset($_REQUEST['action'])) {
        //only action significant when reload to found parent
        $params = '?action=' . $_REQUEST['action'];
    }
    $tree = limb_tree::instance();
    reload($tree->get_path_to_node($node) . $params);
    exit;
}
if (($object_data =& fetch_one_by_node_id($node['id'])) === false) {
    if (!user::is_logged_in()) {
        $tree = limb_tree::instance();
        reload('/root/login?redirect=' . $tree->get_path_to_node($node));
        exit;
    } else {
        debug::write_error('content object not allowed or retrieved', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__);
        ob_end_clean();
        if (debug::is_console_enabled()) {
            echo debug::parse_html_console();
        }
        header("HTTP/1.1 403 Access denied");
        exit;
    }
}
if (isset($object_data['locale_id']) && $object_data['locale_id']) {
Example #27
0
debug::add_timing_point('require_done');
$node =& map_url_to_node();
if (!$node) {
    debug::write_error('node not found', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__);
    ob_end_clean();
    if (debug::is_console_enabled()) {
        echo debug::parse_html_console();
    }
    if (defined("ERROR_DOCUMENT_404") && !isset($_GET['node_id'])) {
        reload(ERROR_DOCUMENT_404);
    } else {
        header("HTTP/1.1 404 Not found");
    }
    exit;
}
if (!($object_data =& fetch_one_by_node_id($node['id']))) {
    debug::write_error('content object not allowed or retrieved', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__);
    ob_end_clean();
    if (debug::is_console_enabled()) {
        echo debug::parse_html_console();
    }
    if (defined("ERROR_DOCUMENT_403") && !isset($_GET['node_id'])) {
        reload(ERROR_DOCUMENT_403);
    } else {
        header("HTTP/1.1 403 Access denied");
    }
    exit;
}
if (isset($object_data['locale_id']) && $object_data['locale_id']) {
    define('CONTENT_LOCALE_ID', $object_data['locale_id']);
} else {
Example #28
0
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id$
*
***********************************************************************************/
ob_start();
require_once '../setup.php';
require_once 'chat_setup.php';
require_once 'smiles.php';
require_once LIMB_DIR . 'core/lib/session/session.class.php';
start_user_session();
$template_vars = array();
$view = file_get_contents(DESIGN_DIR . 'chat/chat.html');
if (user::get_id()) {
    $user_data = fetch_one_by_node_id(user::get_node_id());
    chat_login($user_data['identifier'], $user_data['chat_color']);
}
if (!session::get('chat_user_id')) {
    $template_vars['enter_div_display'] = 'none';
    $template_vars['message_div_display'] = 'block';
} else {
    $template_vars['enter_div_display'] = 'block';
    $template_vars['message_div_display'] = 'none';
}
foreach ($template_vars as $key => $value) {
    $view = str_replace("<!--<<{$key}>>-->", $value, $view);
}
$view = str_replace("<!--<<smiles>>-->", get_smiles_htm_table(), $view);
echo $view;
ob_end_flush();
Example #29
0
require_once('chat_setup.php');
require_once('smiles.php');

require_once(LIMB_DIR . '/core/lib/session/session.class.php');

start_user_session();

$template_vars = array();

$view = file_get_contents(DESIGN_DIR . 'chat/chat.html');

$user =& user :: instance();

if ($user->is_logged_in())
{
	$user_data = fetch_one_by_node_id($user->get_node_id());
	chat_login($user_data['identifier'], $user_data['chat_color']);
}

if(!session :: get('chat_user_id'))	
{
	$template_vars['enter_div_display'] = 'none';
	$template_vars['message_div_display'] = 'block';
}
else
{
	$template_vars['enter_div_display'] = 'block';
	$template_vars['message_div_display'] = 'none';
}

foreach($template_vars as $key => $value)
	function perform(&$request, &$response)
	{
		$object_data = fetch_requested_object();
		
		$parent_data = fetch_one_by_node_id($object_data['parent_node_id']);
		$path = $parent_data['path'];
		
		$params = complex_array :: array_merge($_GET, $_POST);

		$sep = '';
		$query = '';
		
		$flat_params = array();
		complex_array :: to_flat_array($params, $flat_params);
		
		foreach ($flat_params as $key => $value)
		{
			$query .= $sep . $key . '=' . urlencode($value);
			$sep = '&';
		} 
		if (!empty($query))
			$path .= '?' . $query;
		
		$response->redirect($path);
	}