Advertisement
Inquisitor

Equibooru "order:comments" search support

Oct 15th, 2017
625
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.70 KB | None | 0 0
  1.         else if(preg_match("/^order[=|:](comments)[_]?(desc|asc)?$/i", $event->term, $matches)){
  2.             $ord = strtolower($matches[1]);
  3.             $default_order_for_column = "ASC";
  4.             $sort = isset($matches[2]) ? strtoupper($matches[2]) : $default_order_for_column;
  5.  
  6.             $cmt_query = "SELECT image_id, COUNT(*) AS cnt FROM comments GROUP BY image_id ORDER BY cnt $sort, image_id DESC";
  7.             $cached_order = implode(",", $database->get_col($database->scoreql_to_sql($cmt_query)));;
  8.  
  9.             Image::$order_sql = "FIELD(images.id, $cached_order) DESC";
  10.             $event->add_querylet(new Querylet("images.id IN ($cached_order)"));
  11.             $event->add_querylet(new Querylet("1=1")); //small hack to avoid metatag being treated as normal tag
  12.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement