Code Duplication    Length = 23-23 lines in 6 locations

application/models/Site_Model.php 6 locations

@@ 1051-1073 (lines=23) @@
1048
1049
/*** FoolSlide sites ***/
1050
1051
class KireiCake extends Site_Model {
1052
	public $site          = 'KireiCake';
1053
	public $titleFormat   = '/^[a-z0-9_-]+$/';
1054
	public $chapterFormat = '/^en\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+)?)?)?$/';
1055
1056
	public function getFullTitleURL(string $title_url) : string {
1057
		return "https://reader.kireicake.com/series/{$title_url}";
1058
	}
1059
1060
	public function getChapterData(string $title_url, string $chapter) : array {
1061
		//LANG/VOLUME/CHAPTER/CHAPTER_EXTRA(/page/)
1062
		$chapter_parts = explode('/', $chapter);
1063
		return [
1064
			'url'    => "https://reader.kireicake.com/read/{$title_url}/{$chapter}/",
1065
			'number' => ($chapter_parts[1] !== '0' ? "v{$chapter_parts[1]}/" : '') . "c{$chapter_parts[2]}" . (isset($chapter_parts[3]) ? ".{$chapter_parts[3]}" : '')/*)*/
1066
		];
1067
	}
1068
1069
	public function getTitleData(string $title_url, bool $firstGet = FALSE) {
1070
		$fullURL = $this->getFullTitleURL($title_url);
1071
		return $this->parseFoolSlide($fullURL, $title_url);
1072
	}
1073
}
1074
1075
class SeaOtterScans extends Site_Model {
1076
	public $site          = 'SeaOtterScans';
@@ 1075-1097 (lines=23) @@
1072
	}
1073
}
1074
1075
class SeaOtterScans extends Site_Model {
1076
	public $site          = 'SeaOtterScans';
1077
	public $titleFormat   = '/^[a-z0-9_-]+$/';
1078
	public $chapterFormat = '/^en\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+)?)?)?$/';
1079
1080
	public function getFullTitleURL(string $title_url) : string {
1081
		return "https://reader.seaotterscans.com/series/{$title_url}";
1082
	}
1083
1084
	public function getChapterData(string $title_url, string $chapter) : array {
1085
		//LANG/VOLUME/CHAPTER/CHAPTER_EXTRA(/page/)
1086
		$chapter_parts = explode('/', $chapter);
1087
		return [
1088
			'url'    => "https://reader.seaotterscans.com/read/{$title_url}/{$chapter}/",
1089
			'number' => ($chapter_parts[1] !== '0' ? "v{$chapter_parts[1]}/" : '') . "c{$chapter_parts[2]}" . (isset($chapter_parts[3]) ? ".{$chapter_parts[3]}" : '')/*)*/
1090
		];
1091
	}
1092
1093
	public function getTitleData(string $title_url, bool $firstGet = FALSE) {
1094
		$fullURL = $this->getFullTitleURL($title_url);
1095
		return $this->parseFoolSlide($fullURL, $title_url);
1096
	}
1097
}
1098
1099
class HelveticaScans extends Site_Model {
1100
	public $site          = 'HelveticaScans';
@@ 1099-1121 (lines=23) @@
1096
	}
1097
}
1098
1099
class HelveticaScans extends Site_Model {
1100
	public $site          = 'HelveticaScans';
1101
	public $titleFormat   = '/^[a-z0-9_-]+$/';
1102
	public $chapterFormat = '/^en\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+)?)?)?$/';
1103
1104
	public function getFullTitleURL(string $title_url) : string {
1105
		return "http://helveticascans.com/reader/series/{$title_url}";
1106
	}
1107
1108
	public function getChapterData(string $title_url, string $chapter) : array {
1109
		//LANG/VOLUME/CHAPTER/CHAPTER_EXTRA(/page/)
1110
		$chapter_parts = explode('/', $chapter);
1111
		return [
1112
			'url'    => "http://helveticascans.com/reader/read/{$title_url}/{$chapter}/",
1113
			'number' => ($chapter_parts[1] !== '0' ? "v{$chapter_parts[1]}/" : '') . "c{$chapter_parts[2]}" . (isset($chapter_parts[3]) ? ".{$chapter_parts[3]}" : '')/*)*/
1114
		];
1115
	}
1116
1117
	public function getTitleData(string $title_url, bool $firstGet = FALSE) {
1118
		$fullURL = $this->getFullTitleURL($title_url);
1119
		return $this->parseFoolSlide($fullURL, $title_url);
1120
	}
1121
}
1122
1123
class SenseScans extends Site_Model {
1124
	public $site          = 'SenseScans';
@@ 1123-1145 (lines=23) @@
1120
	}
1121
}
1122
1123
class SenseScans extends Site_Model {
1124
	public $site          = 'SenseScans';
1125
	public $titleFormat   = '/^[a-z0-9_-]+$/';
1126
	public $chapterFormat = '/^en\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+)?)?)?$/';
1127
1128
	public function getFullTitleURL(string $title_url) : string {
1129
		return "http://reader.sensescans.com/series/{$title_url}";
1130
	}
1131
1132
	public function getChapterData(string $title_url, string $chapter) : array {
1133
		//LANG/VOLUME/CHAPTER/CHAPTER_EXTRA(/page/)
1134
		$chapter_parts = explode('/', $chapter);
1135
		return [
1136
			'url'    => "http://reader.sensescans.com/read/{$title_url}/{$chapter}/",
1137
			'number' => ($chapter_parts[1] !== '0' ? "v{$chapter_parts[1]}/" : '') . "c{$chapter_parts[2]}" . (isset($chapter_parts[3]) ? ".{$chapter_parts[3]}" : '')/*)*/
1138
		];
1139
	}
1140
1141
	public function getTitleData(string $title_url, bool $firstGet = FALSE) {
1142
		$fullURL = $this->getFullTitleURL($title_url);
1143
		return $this->parseFoolSlide($fullURL, $title_url);
1144
	}
1145
}
1146
1147
class JaiminisBox extends Site_Model {
1148
	public $site          = 'JaiminisBox';
@@ 1147-1169 (lines=23) @@
1144
	}
1145
}
1146
1147
class JaiminisBox extends Site_Model {
1148
	public $site          = 'JaiminisBox';
1149
	public $titleFormat   = '/^[a-z0-9_-]+$/';
1150
	public $chapterFormat = '/^en\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+)?)?)?$/';
1151
1152
	public function getFullTitleURL(string $title_url) : string {
1153
		return "https://jaiminisbox.com/reader/series/{$title_url}";
1154
	}
1155
1156
	public function getChapterData(string $title_url, string $chapter) : array {
1157
		//LANG/VOLUME/CHAPTER/CHAPTER_EXTRA(/page/)
1158
		$chapter_parts = explode('/', $chapter);
1159
		return [
1160
			'url'    => "https://jaiminisbox.com/reader/read/{$title_url}/{$chapter}/",
1161
			'number' => ($chapter_parts[1] !== '0' ? "v{$chapter_parts[1]}/" : '') . "c{$chapter_parts[2]}" . (isset($chapter_parts[3]) ? ".{$chapter_parts[3]}" : '')/*)*/
1162
		];
1163
	}
1164
1165
	public function getTitleData(string $title_url, bool $firstGet = FALSE) {
1166
		$fullURL = $this->getFullTitleURL($title_url);
1167
		return $this->parseFoolSlide($fullURL, $title_url);
1168
	}
1169
}
1170
1171
class DokiFansubs extends Site_Model {
1172
	public $site          = 'DokiFansubs';
@@ 1171-1193 (lines=23) @@
1168
	}
1169
}
1170
1171
class DokiFansubs extends Site_Model {
1172
	public $site          = 'DokiFansubs';
1173
	public $titleFormat   = '/^[a-z0-9_-]+$/';
1174
	public $chapterFormat = '/^en\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+(?:\/[0-9]+)?)?)?$/';
1175
1176
	public function getFullTitleURL(string $title_url) : string {
1177
		return "https://kobato.hologfx.com/reader/series/{$title_url}";
1178
	}
1179
1180
	public function getChapterData(string $title_url, string $chapter) : array {
1181
		//LANG/VOLUME/CHAPTER/CHAPTER_EXTRA(/page/)
1182
		$chapter_parts = explode('/', $chapter);
1183
		return [
1184
			'url'    => "https://kobato.hologfx.com/reader/read/{$title_url}/{$chapter}/",
1185
			'number' => ($chapter_parts[1] !== '0' ? "v{$chapter_parts[1]}/" : '') . "c{$chapter_parts[2]}" . (isset($chapter_parts[3]) ? ".{$chapter_parts[3]}" : '')/*)*/
1186
		];
1187
	}
1188
1189
	public function getTitleData(string $title_url, bool $firstGet = FALSE) {
1190
		$fullURL = $this->getFullTitleURL($title_url);
1191
		return $this->parseFoolSlide($fullURL, $title_url);
1192
	}
1193
}
1194