static function loginTeacher($class, $pass, $ignoreNonexistent = false) { $json = new Services_JSON(); if (!$class) { return "クラス名を入力してください。"; } if (!$pass) { return "パスワードを入力してください。"; } if (!file_exists("fs/home/{$class}") && !$ignoreNonexistent) { return "存在しないクラスIDが入力されています。"; } if (preg_match('/^[a-zA-Z0-9\\-_]+$/', $pass)) { $fp = fopen("user/list.txt", "r"); while ($line = fgets($fp)) { $classlist = $json->decode($line); if ($classlist["classid"] == $class) { break; } } fclose($fp); if (isset($classlist) && $classlist["pass"] == $pass) { // Success MySession::set("class", $class); MySession::set("user", self::TEACHER); setcookie("class", $class, time() + 60 * 60 * 24 * 30); return true; } else { return "クラスIDかパスワードが間違っています。"; } } else { return "パスワードは半角英数とハイフン、アンダースコアだけが使えます。"; } }