publicise Ratings functions because Pools wants to do the same thing
This commit is contained in:
		
							parent
							
								
									36812d085a
								
							
						
					
					
						commit
						5c2515151a
					
				@ -101,20 +101,7 @@ class Ratings implements Extension {
 | 
				
			|||||||
		if($event instanceof SearchTermParseEvent) {
 | 
							if($event instanceof SearchTermParseEvent) {
 | 
				
			||||||
			$matches = array();
 | 
								$matches = array();
 | 
				
			||||||
			if(is_null($event->term) && $this->no_rating_query($event->context)) {
 | 
								if(is_null($event->term) && $this->no_rating_query($event->context)) {
 | 
				
			||||||
				if($user->is_anonymous()) {
 | 
									$set = Ratings::privs_to_sql(Ratings::get_user_privs($user));
 | 
				
			||||||
					$sqes = $config->get_string("ext_rating_anon_privs");
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				else if($user->is_admin()) {
 | 
					 | 
				
			||||||
					$sqes = $config->get_string("ext_rating_admin_privs");
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				else {
 | 
					 | 
				
			||||||
					$sqes = $config->get_string("ext_rating_user_privs");
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				$arr = array();
 | 
					 | 
				
			||||||
				for($i=0; $i<strlen($sqes); $i++) {
 | 
					 | 
				
			||||||
					$arr[] = "'" . $sqes[$i] . "'";
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				$set = join(', ', $arr);
 | 
					 | 
				
			||||||
				$event->add_querylet(new Querylet("rating IN ($set)"));
 | 
									$event->add_querylet(new Querylet("rating IN ($set)"));
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if(preg_match("/^rating=([sqeu]+)$/", $event->term, $matches)) {
 | 
								if(preg_match("/^rating=([sqeu]+)$/", $event->term, $matches)) {
 | 
				
			||||||
@ -134,6 +121,29 @@ class Ratings implements Extension {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public static function get_user_privs($user) {
 | 
				
			||||||
 | 
							global $config;
 | 
				
			||||||
 | 
							if($user->is_anonymous()) {
 | 
				
			||||||
 | 
								$sqes = $config->get_string("ext_rating_anon_privs");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else if($user->is_admin()) {
 | 
				
			||||||
 | 
								$sqes = $config->get_string("ext_rating_admin_privs");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else {
 | 
				
			||||||
 | 
								$sqes = $config->get_string("ext_rating_user_privs");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return $sqes;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public static function privs_to_sql($sqes) {
 | 
				
			||||||
 | 
							$arr = array();
 | 
				
			||||||
 | 
							for($i=0; $i<strlen($sqes); $i++) {
 | 
				
			||||||
 | 
								$arr[] = "'" . $sqes[$i] . "'";
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							$set = join(', ', $arr);
 | 
				
			||||||
 | 
							return $set;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// FIXME: this is a bit ugly and guessey, should have proper options
 | 
						// FIXME: this is a bit ugly and guessey, should have proper options
 | 
				
			||||||
	private function can_rate() {
 | 
						private function can_rate() {
 | 
				
			||||||
		global $config, $user;
 | 
							global $config, $user;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user