You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							180 lines
						
					
					
						
							6.2 KiB
						
					
					
				
			
		
		
	
	
							180 lines
						
					
					
						
							6.2 KiB
						
					
					
				<?php // $Id: usermanager.lib.php 21700 2009-07-01 19:05:11Z aportugal $
 | 
						|
/*
 | 
						|
==============================================================================
 | 
						|
*/
 | 
						|
class LegalManager
 | 
						|
{
 | 
						|
	private function __construct() {
 | 
						|
		//void
 | 
						|
	}
 | 
						|
	function add($language, $content, $type, $changes) {
 | 
						|
		$legal_table = Database::get_main_table(TABLE_MAIN_LEGAL);		
 | 
						|
		$last = self::get_last_condition($language);				
 | 
						|
		$language = Database::escape_string($language);
 | 
						|
		$content  = Database::escape_string($content);
 | 
						|
		$type     = intval($type);
 | 
						|
		$changes  = Database::escape_string($changes);
 | 
						|
		$time = time();
 | 
						|
		
 | 
						|
		if ($last['content'] != $content) {
 | 
						|
			$version = intval(Legalmanager::get_last_condition_version($language));
 | 
						|
			$version++;
 | 
						|
			 $sql = "INSERT INTO $legal_table
 | 
						|
						SET language_id = '".Database::escape_string($language)."',
 | 
						|
							content = '".Database::escape_string($content)."',
 | 
						|
							changes= '".Database::escape_string($changes)."',
 | 
						|
							type = '".Database::escape_string($type)."',
 | 
						|
							version = '".Database::escape_string($version)."',
 | 
						|
							date = '".$time."'";
 | 
						|
			$result = Database::query($sql, __FILE__, __LINE__);
 | 
						|
			return true;
 | 
						|
		} elseif($last['type'] != $type && $language==$last['language_id']) {
 | 
						|
			//update
 | 
						|
			$id = $last['legal_id'];
 | 
						|
			$sql = "UPDATE $legal_table
 | 
						|
					SET  changes= '".Database::escape_string($changes)."',
 | 
						|
					type = '".Database::escape_string($type)."',
 | 
						|
					date = '".$time."'
 | 
						|
					WHERE legal_id= $id  ";
 | 
						|
			$result = Database::query($sql, __FILE__, __LINE__);
 | 
						|
			return true;		
 | 
						|
		} else {
 | 
						|
			return false;
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	function delete($id) {
 | 
						|
		/*
 | 
						|
		$legal_table = Database::get_main_table(TABLE_MAIN_LEGAL);
 | 
						|
		$id = intval($id);
 | 
						|
		$sql = "DELETE FROM $legal_table WHERE legal_id = '".$id."'";
 | 
						|
		*/
 | 
						|
	}
 | 
						|
	
 | 
						|
	function get_last_condition_version($language){
 | 
						|
		$legal_conditions_table = Database::get_main_table(TABLE_MAIN_LEGAL);
 | 
						|
		$language= Database::escape_string($language);
 | 
						|
		$sql = "SELECT version FROM $legal_conditions_table WHERE language_id = '".$language."' ORDER BY legal_id DESC LIMIT 1 ";
 | 
						|
		$result = Database::query($sql, __FILE__, __LINE__);
 | 
						|
		$row = Database::fetch_array($result);
 | 
						|
		if (Database::num_rows($result)>0) {
 | 
						|
			return $row['version'];	
 | 
						|
		} else {
 | 
						|
			return 0;
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	function get_last_condition($language) {
 | 
						|
		$legal_conditions_table = Database::get_main_table(TABLE_MAIN_LEGAL);
 | 
						|
		$language= Database::escape_string($language);
 | 
						|
		$sql = "SELECT * FROM $legal_conditions_table WHERE language_id = '".$language."' ORDER BY version DESC LIMIT 1 ";
 | 
						|
		$result = Database::query($sql, __FILE__, __LINE__);
 | 
						|
		return Database::fetch_array($result);
 | 
						|
	}
 | 
						|
	
 | 
						|
	function show_last_condition($term_preview)
 | 
						|
	{
 | 
						|
		$preview = '';
 | 
						|
		switch ($term_preview['type']) {
 | 
						|
			/*// scroll box
 | 
						|
			case 0:
 | 
						|
				$preview ='<fieldset>
 | 
						|
					 <legend>'.get_lang('TermsAndConditions').'</legend>';
 | 
						|
				$preview .= '<div class="form-item">
 | 
						|
				<label>'.get_lang('TermsAndConditions').': </label>
 | 
						|
				<div class="resizable-textarea">
 | 
						|
				<span>
 | 
						|
				<textarea id="" class="form-textarea resizable textarea-processed" readonly="readonly" name="" rows="10" cols="60">';
 | 
						|
				$preview .= $term_preview['content'];
 | 
						|
				$preview .= '</textarea>
 | 
						|
				<div class="grippie" style="margin-right: -2px;"/>
 | 
						|
				</span>
 | 
						|
				</div>
 | 
						|
				</div>
 | 
						|
				<div id="edit-legal-accept-wrapper" class="form-item">
 | 
						|
				<label class="option" for="edit-legal-accept">
 | 
						|
				<input id="edit-legal-accept" class="form-checkbox" type="checkbox" value="1" name="legal_accept"/>
 | 
						|
						<strong>'.get_lang('Accept').'</strong>
 | 
						|
						'.get_lang('TermsAndConditions').'
 | 
						|
						</label>
 | 
						|
				</div>
 | 
						|
				</fieldset>';			
 | 
						|
			break;*/
 | 
						|
			// html
 | 
						|
			case 0:				
 | 
						|
				$preview = '<div class="legal-terms">		'.$term_preview['content'].'		</div>';
 | 
						|
				$preview .= '<br/>'.get_lang('ByClickingAccept');
 | 
						|
			break;
 | 
						|
			// page link
 | 
						|
			case 1:				
 | 
						|
				$preview ='<fieldset>
 | 
						|
							 <legend>'.get_lang('TermsAndConditions').'</legend>';
 | 
						|
				$preview .= '<div id="legal-accept-wrapper" class="form-item">
 | 
						|
				<label class="option" for="legal-accept">
 | 
						|
				<input id="legal-accept" type="checkbox" value="1" name="legal_accept"/>
 | 
						|
				<strong>'.get_lang('Accept').'</strong>
 | 
						|
				<a href="">'.get_lang('TermsAndConditions').'</a>
 | 
						|
					'.get_lang('OfUse').'
 | 
						|
				</label>
 | 
						|
				</div>
 | 
						|
				</fieldset>';
 | 
						|
			break;
 | 
						|
			default:				
 | 
						|
			break;		
 | 
						|
		}
 | 
						|
		return 	$preview;	
 | 
						|
	}
 | 
						|
	function get_last_version($language){
 | 
						|
		$legal_conditions_table = Database::get_main_table(TABLE_MAIN_LEGAL);
 | 
						|
		$language= Database::escape_string($language);
 | 
						|
		$sql = "SELECT version FROM $legal_conditions_table WHERE language_id = '".$language."' ORDER BY version DESC LIMIT 1 ";
 | 
						|
		$result = Database::query($sql, __FILE__, __LINE__);
 | 
						|
		if (Database::num_rows($result)>0){
 | 
						|
			$version = Database::fetch_array($result);
 | 
						|
			$version = explode(':',$version[0]); 
 | 
						|
			return $version[0];
 | 
						|
		} else {		
 | 
						|
			return false;
 | 
						|
		} 
 | 
						|
	}
 | 
						|
	
 | 
						|
	function get_legal_data($from, $number_of_items, $column) {
 | 
						|
		$legal_conditions_table = Database::get_main_table(TABLE_MAIN_LEGAL);
 | 
						|
		$lang_table = Database::get_main_table(TABLE_MAIN_LANGUAGE);
 | 
						|
		$from = intval($from);
 | 
						|
		$number_of_items = intval($number_of_items); 
 | 
						|
		$column = intval($column);
 | 
						|
		
 | 
						|
 		$sql  = "SELECT version, original_name as language, content, changes, type, FROM_UNIXTIME(date) 
 | 
						|
				FROM $legal_conditions_table inner join $lang_table l on(language_id = l.id) "; 	
 | 
						|
		$sql .= "ORDER BY language, version ASC ";
 | 
						|
		$sql .= "LIMIT $from,$number_of_items ";
 | 
						|
		
 | 
						|
		$result = Database::query($sql, __FILE__, __LINE__);			
 | 
						|
		$legals = array ();
 | 
						|
		$versions = array ();
 | 
						|
		while ($legal = Database::fetch_array($result)) {
 | 
						|
			// max 2000 chars 
 | 
						|
			//echo strlen($legal[1]); echo '<br>';
 | 
						|
			$versions[]=$legal[0];
 | 
						|
			$languages[]=$legal[1];
 | 
						|
			if (strlen($legal[2])>2000)
 | 
						|
				$legal[2]= substr($legal[2],0,2000).' ... ';				
 | 
						|
			if ($legal[4]==0)
 | 
						|
				$legal[4]= get_lang('HTMLText');
 | 
						|
			elseif($legal[4]==1)
 | 
						|
				$legal[4]=get_lang('PageLink');	
 | 
						|
			$legals[] = $legal;
 | 
						|
		}
 | 
						|
		return $legals;		
 | 
						|
	}
 | 
						|
		
 | 
						|
	function count() {
 | 
						|
		$legal_conditions_table = Database::get_main_table(TABLE_MAIN_LEGAL);
 | 
						|
		$sql = "SELECT count(*) as count_result FROM $legal_conditions_table ORDER BY legal_id DESC ";
 | 
						|
		$result = Database::query($sql, __FILE__, __LINE__);
 | 
						|
		$url = Database::fetch_array($result,'ASSOC');		
 | 
						|
		$result = $url['count_result'];	
 | 
						|
		return $result;	
 | 
						|
	}
 | 
						|
} |