HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot//bs.kntsleep.com/system/basic/class/seo.class.php
<?php
/*
 * Copyright (c) Huyin Information Technology Co., Ltd. All Rights Reserved.
 * BOSSCMS Content Management System (https://www.bosscms.net/)
 */
defined('IS_OK') or exit('Access Forbidden');

class seo
{	
	public static $title;
	public static $keywords;
	public static $description;
	public static $alt;
	
	public static function title()
	{
		global $G;
		self::$title = '';
		if($G['path']['home']){
			if($G['config']['home_title']){
				self::$title = self::affix($G['config']['home_title']);
			}else{
				self::$title = $G['config']['title'];
			}
			if(isset($G['area'])){
				if($G['area']['title']){
					self::$title = $G['area']['title'];
				}else{
					self::$title = $G['area']['name'].self::$title;
				}
			}
		}else{
			if(isset($G['group'])){
				if($G['group']['title']){
					if($G['config']['title']){
						self::$title = self::affix($G['group']['title']).$G['config']['title_connector'].$G['config']['title'];
					}else{
						self::$title = self::affix($G['group']['title']);
					}
					if(isset($G['area'])){
						self::$title = $G['area']['name'].self::$title;
					}
				}else{
					if($G['config']['title']){
						self::$title = $G['group']['name'].$G['config']['title_connector'].$G['config']['title'];
					}else{
						self::$title = $G['group']['name'];
					}
				}
			}else{
				if(isset($G['tag'])){
					if($G['tag']['seo_title']){
						if($G['config']['title']){
							self::$title = $G['tag']['seo_title'].$G['config']['title_connector'].$G['config']['title'];
						}else{
							self::$title = $G['tag']['seo_title'];
						}
					}else if($G['config']['title']){
						self::$title = $G['tag']['title'].$G['config']['title_connector'].$G['config']['title'];
					}else{
						self::$title = $G['tag']['title'];
					}
				}else if($G['items']['title']){
					if($G['config']['title']){
						self::$title = self::affix($G['items']['title']).$G['config']['title_connector'].$G['config']['title'];
					}else{
						self::$title = self::affix($G['items']['title']);
					}
				}else{
					if($G['config']['title']){
						self::$title = $G['items']['name'].$G['config']['title_connector'].$G['config']['title'];
					}else{
						self::$title = $G['items']['name'];
					}
				}
				if(isset($G['area'])){
					self::$title = $G['area']['name'].self::$title;
				}
				if(is_numeric($G['get']['pages']) && $G['get']['pages']>1 && $G['config']['page_number']){
					self::$title = str_replace('[n]',$G['get']['pages'],$G['config']['page_number']).$G['config']['title_connector'].self::$title;
				}
			}
		}
		return self::$title;
	}
	
	public static function keywords($bosscms=true)
	{
		global $G;
		self::$keywords = '';
		if($G['path']['home']){
			if(isset($G['area']) && $G['area']['keywords']){
				self::$keywords = self::json($G['area']['keywords']);
			}else{
				self::$keywords = self::json($G['config']['keywords']);
			}
		}else{
			if(isset($G['group'])){
				self::$keywords = self::json($G['group']['keywords']);
			}else if(isset($G['tag']) && $G['tag']['keywords']){
				self::$keywords = self::json($G['tag']['keywords']);
			}else{
				self::$keywords = self::json($G['items']['keywords']);
			}
		}
		return self::$keywords;
	}
	
	public static function description()
	{
		global $G;
		self::$description = '';
		if($G['path']['home']){
			if(isset($G['area']) && $G['area']['description']){
				self::$description = $G['area']['description'];
			}else{
				self::$description = $G['config']['description'];
			}
		}else{
			if(isset($G['group'])){
				self::$description = $G['group']['description'];
			}else if(isset($G['tag']) && $G['tag']['description']){
				self::$description = $G['tag']['description'];
			}else{
				self::$description = $G['items']['description'];
			}
		}
		return self::$description;
	}
	
	public static function alt()
	{
		global $G;
		if($G['path']['home']){
			if($G['config']['title']){
				self::$alt = $G['config']['title'];
			}else{
				self::$alt = $G['config']['home_title'];
			}
		}else{
			if(isset($G['group'])){
				if($G['group']['alt']){
					self::$alt = $G['group']['alt'];
				}else{
					self::$alt = $G['group']['name'];
				}
			}else{
				if($G['items']['alt']){
					self::$alt = $G['items']['alt'];
				}else{
					self::$alt = $G['items']['name'];
				}
			}
		}
		return self::$alt;
	}
	
	public static function json($str)
	{
		global $G;
		if($str){
			if(preg_match('/^(\[\]|\[\".+\"\])$/',$str)){
				return implode($G['config']['keywords_connector'],json::decode($str));
			}else{
				return $str;
			}
		}else{
			return '';
		}
	}
	
	public static function affix($title)
	{
		global $G;
		if(isset($G['area']['name'])){
			$title = str_replace(',','AREAAFFIX,',$title);
			$title = str_replace('、','AFFIXAREA,',$title);
			$title =  preg_replace("/([\-\|\_\,]\s*)/",'\\1'.$G['area']['name'],$title,1);
			$title = str_replace('AREAAFFIX,',',',$title);
			$title = str_replace('AFFIXAREA,','、',$title);
		}
		return $title;
	}
	
	public static function replace($html)
	{
		global $G;
		if(!self::$description){
			preg_match("/<h1[^>]*>[\s\S]+?<\/h1>/",$html,$h1);
			if($h1){
				$description = trim(strip_tags($h1[0]));
			}else{
				preg_match_all("/<h2[^>]*>[\s\S]+?<\/h2>|<p[^>]*>[\s\S]+?<\/p>/",$html,$hp);
				$description = '';
				foreach($hp[0] as $v){
					if($v){
						$description .= trim(strip_tags($v)).'|';
					}
				}
				if($description){
					$description = strSub($description,0,100);
				}else{
					preg_match("/<body[^>]*>[\s\S]+?<\/body>/",$html,$body);
					$description = trim(strip_tags($body[0]));
				}
			}
			$description = preg_replace('/\s+/',' ',str_replace("\n",'',quotesFilter($description)));
			$html = str_replace('<meta name="description" content="" />','<meta name="description" content="'.$description.'" />',$html);
		}/* BOSS_CMS */
		preg_match_all("/<img\s[^>]*>/",$html,$img);
		if($img){
			self::alt();
			foreach($img[0] as $v){
				if(strstr($v, 'alt=')){
					$html = str_replace($v, str_replace(array('alt=""',"alt=''"),'alt="'.self::$alt.'"',$v), $html);
				}else{
					$html = str_replace($v, str_replace('<img ','<img alt="'.self::$alt.'" ',$v), $html);
				}
			}
		}
		return $html;
	}
}
?>