├── README.md ├── index.sublime-project ├── .htaccess ├── Administrator ├── Logout.php ├── Assets │ ├── Ajax Search │ │ ├── Fetch_Books.php │ │ ├── Fetch_News.php │ │ ├── Fetch_User.php │ │ ├── Fetch_Audio.php │ │ ├── fetch-mail-data.php │ │ ├── Fetch_Grammer.php │ │ ├── Fetch_Reading.php │ │ ├── Fetch_Result.php │ │ ├── Fetch_Student.php │ │ ├── Fetch_Carousel.php │ │ ├── Fetch_Research.php │ │ ├── Fetch_Vocabulary.php │ │ ├── Fetch_Advertisement.php │ │ ├── Fetch_Reading_Audio.php │ │ ├── Fetch_Listening_Audio.php │ │ ├── Fetch_Vocabulary_Audio.php │ │ ├── Fetch_Conversation_Audio.php │ │ ├── fetch-News-details.php │ │ ├── pending-news.php │ │ ├── Edit_Vocabulary_Audio.php │ │ ├── Add_Advertisement.php │ │ └── fetch-about-data.php │ └── _Partial Components │ │ ├── Format.php │ │ ├── Database.php │ │ ├── Method.php │ │ ├── Footer.php │ │ └── Navigation.php ├── CDN TicyMce.html ├── upload.php ├── Demo.php ├── Dim.php ├── New Text Document.html ├── Add_Users.php ├── Add_Usr.php ├── Mail.php ├── accordion.php ├── About_Us.php ├── Advertisement.php ├── Slide.php ├── Result.php ├── old_News.php ├── Books.php ├── Marks.php ├── Research.php └── News.php ├── Logout.php ├── Main.js ├── About-us.php ├── Time.php ├── Forgot-password.php ├── Contact-us.php ├── Result.php ├── Profile.php ├── News.php ├── Sign in.php ├── Grammer.php ├── Listening.php ├── Vocabulary.php ├── Reading.php ├── New Text Document.html ├── Research.php ├── Book.php └── Simpleindex.php /README.md: -------------------------------------------------------------------------------- 1 | # CMS 2 | CMS System in Core PHP 3 | -------------------------------------------------------------------------------- /index.sublime-project: -------------------------------------------------------------------------------- 1 | { 2 | "folders": 3 | [ 4 | { 5 | "path": "." 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- 1 | RewriteEngine on 2 | RewriteCond %{REQUEST_FILENAME} !-f 3 | RewriteRule ^([^\.]+)$ $1.php [NC,L] -------------------------------------------------------------------------------- /Administrator/Logout.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Logout.php: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Books.php: -------------------------------------------------------------------------------- 1 | Load_Books_Data(); 9 | echo $get_book_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_News.php: -------------------------------------------------------------------------------- 1 | Load_News_Data(); 9 | echo $get_news_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_User.php: -------------------------------------------------------------------------------- 1 | Load_User_Data(); 9 | echo $get_user_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Main.js: -------------------------------------------------------------------------------- 1 | function CORSSolve(){ 2 | const xhttp = new XMLHttpRequest() 3 | xhttp.onreadystatechange = function(){ 4 | if(this.readyState==4 && this.status==200){ 5 | document.getElementById('data').innerText=xhttp.responseText 6 | } 7 | }; 8 | xhttp.open("GET","https://tiny-news-api.herokuapp.com/api/news", true); 9 | } -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Audio.php: -------------------------------------------------------------------------------- 1 | Load_Audio_Data(); 9 | echo $get_audio_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/fetch-mail-data.php: -------------------------------------------------------------------------------- 1 | Load_Mail_Data(); 9 | echo $get_mail_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Grammer.php: -------------------------------------------------------------------------------- 1 | Load_Grammer_Data(); 9 | echo $get_grammer_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Reading.php: -------------------------------------------------------------------------------- 1 | Load_Reading_Data(); 9 | echo $get_reading_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Result.php: -------------------------------------------------------------------------------- 1 | Load_Result_Data(); 9 | echo $get_result_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Student.php: -------------------------------------------------------------------------------- 1 | Load_Student_Data(); 9 | echo $get_student_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Carousel.php: -------------------------------------------------------------------------------- 1 | Load_Carousel_Data(); 9 | echo $get_carousel_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Research.php: -------------------------------------------------------------------------------- 1 | Load_Research_Data(); 9 | echo $get_research_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/CDN TicyMce.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Vocabulary.php: -------------------------------------------------------------------------------- 1 | Load_Vocabulary_Data(); 9 | echo $get_vocabulary_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Advertisement.php: -------------------------------------------------------------------------------- 1 | Load_Advertisement_Data(); 9 | echo $get_advertisement_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Reading_Audio.php: -------------------------------------------------------------------------------- 1 | Load_Reading_Audio_Data(); 9 | echo $get_reading_audio_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Listening_Audio.php: -------------------------------------------------------------------------------- 1 | Load_Listening_Audio_Data(); 9 | echo $get_listening_audio_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Vocabulary_Audio.php: -------------------------------------------------------------------------------- 1 | Load_Vocabulary_Audio_Data(); 9 | echo $get_vocabulary_audio_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Fetch_Conversation_Audio.php: -------------------------------------------------------------------------------- 1 | Load_Conversation_Audio_Data(); 9 | echo $get_conversation_audio_data; 10 | } 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/fetch-News-details.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/pending-news.php: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Administrator/upload.php: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Edit_Vocabulary_Audio.php: -------------------------------------------------------------------------------- 1 | updateVocabularyAudio($Audio_ID, $Book, $Day); 13 | 14 | } 15 | ?> 16 | -------------------------------------------------------------------------------- /Administrator/Demo.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 13 | 14 | 15 | 16 |

TinyMCE Quick Start Guide

17 |
18 | 19 |
20 | 21 | -------------------------------------------------------------------------------- /Administrator/Dim.php: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 13 | 14 | 15 | 16 |

TinyMCE Quick Start Guide

17 |
18 | 19 |
20 | -------------------------------------------------------------------------------- /Administrator/New Text Document.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 | 17 |

TinyMCE Quick Start Guide

18 |
19 | 20 |
21 | 22 | -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/Add_Advertisement.php: -------------------------------------------------------------------------------- 1 | Load_Advertisement_Data(); 9 | echo $get_advertisement_data; 10 | } 11 | } 12 | 13 | if($_SERVER['REQUEST_METHOD'] == 'POST'){ 14 | 15 | $Heading = $_POST["Heading"]; 16 | $Image = $crd->upload_Advertisement_image($_FILES["Advertisement_Image"]); 17 | 18 | $advertisementAdd = $crd->addAdvertisement($Heading, $Image); 19 | } 20 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/Ajax Search/fetch-about-data.php: -------------------------------------------------------------------------------- 1 | Load_About_Data(); 9 | echo $get_about_data; 10 | } 11 | } 12 | 13 | // if($_SERVER['REQUEST_METHOD'] == 'POST'){ 14 | // if($_POST["action"] == "Add News"){ 15 | // $Heading = $_POST["Heading"]; 16 | // $Body = $_POST["Body"]; 17 | // $Source = $_POST["Source"]; 18 | // $Category_ID = $_POST["Category_ID"]; 19 | // $Image = $crd->upload_file($_FILES["News_Image"]); 20 | 21 | // $newsAdd = $crd->addNews($Heading, $Body, $Source, $Category_ID, $Image); 22 | // } 23 | // } 24 | ?> -------------------------------------------------------------------------------- /Administrator/Assets/_Partial Components/Format.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /About-us.php: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 |
7 | getAboutUsData(); 9 | 10 | if(!$About_Us){ 11 | echo "No Data In About_Us Table"; 12 | } 13 | else{ 14 | if($About_Us->num_rows>0){ 15 | while ($result = $About_Us->fetch_assoc()) { ?> 16 |
17 |

18 |
19 |
20 | 21 | 22 |
23 | 28 |
29 |
30 | 31 | -------------------------------------------------------------------------------- /Time.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Administrator/Assets/_Partial Components/Database.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | connectDB(); 16 | } 17 | 18 | private function connectDB(){ 19 | $this->link = new mysqli($this->host, $this->user, $this->pass, $this->db); 20 | if(!$this->link){ 21 | $this->error ="Connection fail".$this->link->connect_error; 22 | return false; 23 | } 24 | } 25 | 26 | // Select or Read data 27 | public function select($query){ 28 | $result = $this->link->query($query) or 29 | die($this->link->error.__LINE__); 30 | if($result->num_rows > 0){ 31 | return $result; 32 | } else { 33 | return false; 34 | } 35 | } 36 | 37 | // Insert data 38 | public function insert($query){ 39 | $insert_row = $this->link->query($query) or 40 | die($this->link->error.__LINE__); 41 | if($insert_row){ 42 | return $insert_row; 43 | } else { 44 | return false; 45 | } 46 | } 47 | 48 | // Update data 49 | public function update($query){ 50 | $update_row = $this->link->query($query) or 51 | die($this->link->error.__LINE__); 52 | if($update_row){ 53 | return $update_row; 54 | } else { 55 | return false; 56 | } 57 | } 58 | 59 | // Delete data 60 | public function delete($query){ 61 | $delete_row = $this->link->query($query) or 62 | die($this->link->error.__LINE__); 63 | if($delete_row){ 64 | return $delete_row; 65 | } else { 66 | return false; 67 | } 68 | } 69 | 70 | } -------------------------------------------------------------------------------- /Administrator/Add_Users.php: -------------------------------------------------------------------------------- 1 | Load_User_Data(); 9 | echo $get_user_data; 10 | } 11 | } 12 | 13 | $connect = mysqli_connect("localhost", "root", "", "change"); 14 | 15 | 16 | $Full_Name = mysqli_real_escape_string($connect, $_POST["Full_Name"]); 17 | $Username = mysqli_real_escape_string($connect, $_POST["Username"]); 18 | $Password = mysqli_real_escape_string($connect, $_POST[md5("Password")]); 19 | $Email = mysqli_real_escape_string($connect, $_POST["Email"]); 20 | $Gender = mysqli_real_escape_string($connect, $_POST["Gender"]); 21 | $Phone_No = mysqli_real_escape_string($connect, $_POST["Phone_No"]); 22 | 23 | if ($Full_Name == "" || $Username == "" || $Password == "" || $Email == "" || $Gender == "" || $Phone_No == "") { 24 | echo "Fields must not be empty !"; 25 | exit(); 26 | } 27 | else if(filter_var($Email, FILTER_VALIDATE_EMAIL) === false){ 28 | echo "Invalid E-mail Address!"; 29 | exit(); 30 | } 31 | else{ 32 | $chkquery = "select * from users where Email = '$Email'"; 33 | $chkresult = mysqli_query($connect, $chkquery); 34 | if ($chkresult != false) { 35 | echo "E-mail address already exist! Try New E-Mail"; 36 | exit(); 37 | } 38 | $chckquery = "select * from users where Username = '$Username'"; 39 | $chckresult = mysqli_query($connect, $chkquery); 40 | if ($chckresult != false) { 41 | echo "Username address already exist! try new one. "; 42 | exit(); 43 | } 44 | else{ 45 | $query = "insert into users(Full_Name, Username, Password, Email, Gender, Phone_No, Image, Role_ID, Status)value('salim', 'karim', 'his', 'ss@gmail.com', 'male', '078987766', 'same.jpg', '2', '1')"; 46 | // $query = "insert into users(Full_Name, Username, Password, Email, Gender, Phone_No, Image, Role_ID, Status)value('".$Full_Name."', '".$Username."', '".$Password."', '".$Email."', '".$Gender."', '".$Phone_No."', '".$File."', '2', '1')"; 47 | 48 | $inserted_row = mysqli_query($connect, $query); 49 | if($inserted_row){ 50 | echo "Registration Successfully "; 51 | 52 | exit(); 53 | } 54 | else{ 55 | echo "Error: Not Registered"; 56 | exit(); 57 | } 58 | } 59 | } 60 | ?> -------------------------------------------------------------------------------- /Administrator/Add_Usr.php: -------------------------------------------------------------------------------- 1 | Load_User_Data(); 9 | echo $get_user_data; 10 | } 11 | } 12 | 13 | $connect = mysqli_connect("localhost", "root", "", "change"); 14 | 15 | 16 | $Full_Name = mysqli_real_escape_string($connect, $_POST["Full_Name"]); 17 | $Username = mysqli_real_escape_string($connect, $_POST["Username"]); 18 | $Password = mysqli_real_escape_string($connect, $_POST[md5("Password")]); 19 | $Email = mysqli_real_escape_string($connect, $_POST["Email"]); 20 | $Gender = mysqli_real_escape_string($connect, $_POST["Gender"]); 21 | $Phone_No = mysqli_real_escape_string($connect, $_POST["Phone_No"]); 22 | 23 | if ($Full_Name == "" || $Username == "" || $Password == "" || $Email == "" || $Gender == "" || $Phone_No == "") { 24 | echo "Fields must not be empty !"; 25 | exit(); 26 | } 27 | else if(filter_var($Email, FILTER_VALIDATE_EMAIL) === false){ 28 | echo "Invalid E-mail Address!"; 29 | exit(); 30 | } 31 | else{ 32 | $chkquery = "select * from users where Email = '$Email'"; 33 | $chkresult = mysqli_query($connect, $chkquery); 34 | if ($chkresult != false) { 35 | echo "E-mail address already exist! Try New E-Mail"; 36 | exit(); 37 | } 38 | $chckquery = "select * from users where Username = '$Username'"; 39 | $chckresult = mysqli_query($connect, $chkquery); 40 | if ($chckresult != false) { 41 | echo "Username address already exist! try new one. "; 42 | exit(); 43 | } 44 | else{ 45 | $query = "insert into users(Full_Name, Username, Password, Email, Gender, Phone_No, Image, Role_ID, Status)value('salim', 'karim', 'his', 'ss@gmail.com', 'male', '078987766', 'same.jpg', '2', '1')"; 46 | // $query = "insert into users(Full_Name, Username, Password, Email, Gender, Phone_No, Image, Role_ID, Status)value('".$Full_Name."', '".$Username."', '".$Password."', '".$Email."', '".$Gender."', '".$Phone_No."', '".$File."', '2', '1')"; 47 | 48 | $inserted_row = mysqli_query($connect, $query); 49 | if($inserted_row){ 50 | echo "Registration Successfully "; 51 | 52 | exit(); 53 | } 54 | else{ 55 | echo "Error: Not Registered"; 56 | exit(); 57 | } 58 | } 59 | } 60 | ?> -------------------------------------------------------------------------------- /Forgot-password.php: -------------------------------------------------------------------------------- 1 | 13 | 14 | Sign in 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 | 36 |
37 |

Insert your Email to reset your password

38 |
39 | 40 |
41 |
42 |
43 | 44 | 45 |
46 |
47 |
48 |
49 | 50 | 51 |
52 |
53 |
54 |
55 |
56 | 57 |
58 | 63 |
64 |
65 |
66 | 67 | 68 |
69 |
70 | 71 |
72 | 73 | 74 | 75 | 76 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /Contact-us.php: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 |
7 |
8 |
9 |

You can contact CHANGE English language Administration here

10 |
11 |
12 |
13 | 14 |
15 | 16 | 17 |
18 | 19 |
20 | 21 | 22 |
23 | 24 |
25 | 26 | 27 |
28 | 29 |
30 | 31 | 32 |
33 | 34 |
35 | 36 |
37 | 38 |
39 | 40 |
41 | 42 |
43 |
44 |
45 |
46 |

Important Links

47 |
48 | getAboutUsData(); 50 | 51 | if(!$About_Us){ 52 | echo "No Data In About_Us Table"; 53 | } 54 | else{ 55 | if($About_Us->num_rows>0){ 56 | while ($result = $About_Us->fetch_assoc()) { 57 | $ecrypt_1 = (($result['About_ID']*123456789*9999)/999999); 58 | $About_link = "About_Us.php?id=".urlencode(base64_encode($ecrypt_1));?> 59 |
60 | 61 | 62 | 63 | 64 |
65 | 70 | 71 |
72 |
73 |
74 | 75 |
76 | 77 | -------------------------------------------------------------------------------- /Result.php: -------------------------------------------------------------------------------- 1 | getResearch(); 5 | $db = new Database(); 6 | ?> 7 | 8 |
9 |
10 | 11 |
12 |
13 | 14 | 15 | 16 |
17 | 18 | getExamResult(); 20 | if(!$Exam){ 21 | echo "
"; 22 | echo ''; 23 | echo "
"; 24 | } 25 | else{ 26 | 27 | if($Exam->num_rows>0){ 28 | 29 | ?> 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | fetch_array()){ ?> 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | "; 57 | echo ''; 58 | echo "
"; 59 | } 60 | } 61 | 62 | ?> 63 |
Student ID Full Name Father Name Marks Grade Class
64 |
65 | 66 | 67 | 68 |
69 | 70 |
71 | 72 |
73 | 74 |
75 | 78 | -------------------------------------------------------------------------------- /Administrator/Mail.php: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 | 9 | 12 | 13 | 14 | 73 | 74 |
75 | 76 | 81 | -------------------------------------------------------------------------------- /Profile.php: -------------------------------------------------------------------------------- 1 | getUsersByUsername($Username); 12 | $row = $UsersByUsername->fetch_assoc(); 13 | $chk_img = $row['Image']; 14 | } 15 | // else{ 16 | // header("location: index.php"); 17 | // } 18 | 19 | 20 | ?> 21 | 22 |
23 |
24 |
25 | 26 |
27 | 28 | 29 |
30 |
31 |
32 |
33 | getUsersByUsername($Username); 35 | if(!$UsersByUsername){ 36 | echo "

No Users Table exist!

"; 37 | } 38 | else{ 39 | 40 | if($UsersByUsername->num_rows>0){ 41 | $result = $UsersByUsername->fetch_array(); 42 | $user_img = $result['Image']; 43 | ?> 44 | 45 | 46 |
47 | 48 |
49 | ";?> 51 |
52 |
53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |
ID
Full Name
Username
Email
Gender
Phone No
79 | No Users Available ! "; 82 | echo "
"; 83 | } 84 | } 85 | ?> 86 |
87 |
88 |
89 | 90 |
91 | 92 |
93 |
94 | 100 | 101 | -------------------------------------------------------------------------------- /News.php: -------------------------------------------------------------------------------- 1 | getResearch(); 5 | 6 | foreach ($_GET as $key => $data) { 7 | $data2 = $_GET[$key] = base64_decode(urldecode($data)); 8 | $News_ID = ((($data2*999999)/9999)/123456789); 9 | } 10 | 11 | if (isset($_GET['id'])) { 12 | $data = $_GET['id']; 13 | 14 | 15 | } 16 | else{ 17 | header('Location: index.php'); 18 | } 19 | ?> 20 |
21 |
22 | 90 | 91 | 94 |
95 |
96 |
97 |

Latest News

98 |
99 | getLatestNews(); 101 | 102 | if(!$LatestNews){ 103 | echo "No Data In News Table"; 104 | } 105 | else{ 106 | if($LatestNews->num_rows>0){ 107 | while ($result = $LatestNews->fetch_assoc()) { 108 | $ecrypt_1 = (($result['News_ID']*123456789*9999)/999999); 109 | $News_link = "News.php?id=".urlencode(base64_encode($ecrypt_1));?> 110 |
111 | 112 | 113 | 114 | 115 |
116 | 121 | 122 |
123 |
124 | 125 | 126 |
127 | 128 |
129 | 132 | -------------------------------------------------------------------------------- /Administrator/Assets/_Partial Components/Method.php: -------------------------------------------------------------------------------- 1 | db = new Database(); 8 | $this->fm = new Format(); 9 | } 10 | public function getUsersByUsername($Username){ 11 | $query = "SELECT * from Users where Username = '$Username'"; 12 | mysqli_set_charset($this->db->link, 'UTF8'); 13 | $getData = $this->db->select($query); 14 | return $getData; 15 | } 16 | public function getTotalReading(){ 17 | 18 | $output = ''; 19 | $query = "SELECT * FROM Reading"; 20 | $getResult = $this->db->select($query); 21 | $total = $getResult->num_rows; 22 | 23 | if(!$getResult){ 24 | return "0"; 25 | 26 | }else{ 27 | $total =$getResult->num_rows; 28 | return $total; 29 | } 30 | 31 | } 32 | 33 | public function getTotalGrammer(){ 34 | $output = ''; 35 | $query = "SELECT * FROM Grammer"; 36 | $getResult = $this->db->select($query); 37 | $total = $getResult->num_rows; 38 | 39 | if(!$getResult){ 40 | return "0"; 41 | 42 | }else{ 43 | $total =$getResult->num_rows; 44 | return $total; 45 | } 46 | 47 | } 48 | 49 | public function getTotalListening(){ 50 | $output = ''; 51 | $query = "SELECT * FROM Audio"; 52 | $getResult = $this->db->select($query); 53 | $total = $getResult->num_rows; 54 | 55 | if(!$getResult){ 56 | return "0"; 57 | 58 | }else{ 59 | $total =$getResult->num_rows; 60 | return $total; 61 | } 62 | 63 | } 64 | 65 | public function getTotalVocabulary(){ 66 | $output = ''; 67 | $query = "SELECT * FROM Vocabulary"; 68 | $getResult = $this->db->select($query); 69 | $total = $getResult->num_rows; 70 | 71 | if(!$getResult){ 72 | return "0"; 73 | 74 | }else{ 75 | $total =$getResult->num_rows; 76 | return $total; 77 | } 78 | 79 | } 80 | 81 | public function getTotalNews(){ 82 | $query = "SELECT * from News"; 83 | mysqli_set_charset($this->db->link, 'UTF8'); 84 | $getResult = $this->db->select($query); 85 | 86 | if(!$getResult){ 87 | 88 | return "0"; 89 | }else{ 90 | $total =$getResult->num_rows; 91 | return $total; 92 | } 93 | 94 | } 95 | 96 | /* SELECT TOTAL NUMBER OF ROWS FROM DATABASE FOR TEACHER TABLE */ 97 | public function getTotalResearch(){ 98 | $query = "select * from Research"; 99 | mysqli_set_charset($this->db->link, 'UTF8'); 100 | $getResult = $this->db->select($query); 101 | if(!$getResult){ 102 | return "0"; 103 | } 104 | else{ 105 | $total =$getResult->num_rows; 106 | return $total; 107 | } 108 | 109 | } 110 | 111 | public function getTotalStudent(){ 112 | $query = "select * from Student"; 113 | mysqli_set_charset($this->db->link, 'UTF8'); 114 | $getResult = $this->db->select($query); 115 | if(!$getResult){ 116 | return "0"; 117 | } 118 | else{ 119 | $total =$getResult->num_rows; 120 | return $total; 121 | } 122 | 123 | } 124 | 125 | public function getTotalUser(){ 126 | $query = "select * from Users"; 127 | mysqli_set_charset($this->db->link, 'UTF8'); 128 | $getResult = $this->db->select($query); 129 | if(!$getResult){ 130 | return "0"; 131 | } 132 | else{ 133 | $total =$getResult->num_rows; 134 | return $total; 135 | } 136 | 137 | } 138 | 139 | public function getNewsByID($News_ID){ 140 | $query = "select * from Viw_News where News_ID = '$News_ID'"; 141 | mysqli_set_charset($this->db->link, 'UTF8'); 142 | $getData = $this->db->select($query); 143 | return $getData; 144 | } 145 | 146 | /* SELECT SINGLE ROW FROM DATABASE FOR USERS TABLE BY USER_ID */ 147 | public function getRole(){ 148 | $query = "SELECT * from Role"; 149 | mysqli_set_charset($this->db->link, 'UTF8'); 150 | $getData = $this->db->select($query); 151 | return $getData; 152 | } 153 | public function getTotalContactByStatus(){ 154 | $query = "SELECT * from Contact_Us where Status = '1'"; 155 | mysqli_set_charset($this->db->link, 'UTF8'); 156 | $getResult = $this->db->select($query); 157 | $total =$getResult->num_rows; 158 | return $total; 159 | } 160 | public function getContactUs(){ 161 | $query = "select * from Contact_Us"; 162 | mysqli_set_charset($this->db->link, 'UTF8'); 163 | $getData = $this->db->select($query); 164 | return $getData; 165 | } 166 | public function getContactUsByID($Contact_ID){ 167 | $query = "select * from Contact_Us where User_ID = '$Contact_ID'"; 168 | mysqli_set_charset($this->db->link, 'UTF8'); 169 | $getData = $this->db->select($query); 170 | return $getData; 171 | } 172 | /* SELECT ALL ROWS FROM VIEW QUESTION */ 173 | public function getNews(){ 174 | $query = "SELECT * from News ORDER BY News_ID DESC"; 175 | mysqli_set_charset($this->db->link, 'UTF8'); 176 | $getData = $this->db->select($query); 177 | return $getData; 178 | } 179 | /* SELECT ALL ROWS FROM VIEW QUESTION */ 180 | public function getBook(){ 181 | $query = "SELECT * from Book"; 182 | mysqli_set_charset($this->db->link, 'UTF8'); 183 | $getData = $this->db->select($query); 184 | return $getData; 185 | } 186 | /* SELECT ALL ROWS FROM USERS TABLE */ 187 | public function getAdminUsers(){ 188 | $query = "SELECT * from Users WHERE Role_ID = '1'"; 189 | mysqli_set_charset($this->db->link, 'UTF8'); 190 | $getData = $this->db->select($query); 191 | return $getData; 192 | } 193 | } 194 | ?> -------------------------------------------------------------------------------- /Sign in.php: -------------------------------------------------------------------------------- 1 | 0){ 27 | $row = mysqli_fetch_assoc($result); 28 | $_SESSION['Change_Full_Name'] = $row['Full_Name']; 29 | $_SESSION['Cahange_User_ID'] = $row['User_ID']; 30 | $_SESSION['Change_Username'] = $row['Username']; 31 | $_SESSION['Change_Role_ID'] = $row["Role_ID"]; 32 | $_SESSION['IS_LOGIN'] = 'yes'; 33 | 34 | if($row['Role_ID']==1){ 35 | header('location: Administrator/index.php'); 36 | } 37 | if($row['Role_ID']==2){ 38 | header('location: index.php'); 39 | } 40 | }else{ 41 | $error = 'Please Enter Valid Username and Password'; 42 | 43 | } 44 | } 45 | 46 | } 47 | ?> 48 | 49 | Sign in 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 71 |
72 | 73 |
74 | 75 |
76 | 77 |
78 | 79 |
80 |
81 | 82 | 83 | 84 |
85 |
86 | 87 |
88 |
89 | 90 | 91 | 92 |
93 |
94 | 95 |
96 | 99 |
100 | 101 | 102 |
103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 |
111 |
112 |
113 | 114 |
115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /Grammer.php: -------------------------------------------------------------------------------- 1 | $data) { 10 | $data2 = $_GET[$key] = base64_decode(urldecode($data)); 11 | $Book_ID = ((($data2*999999)/9999)/123456789); 12 | } 13 | 14 | if (isset($_GET['id'])) { 15 | $data = $_GET['id']; 16 | 17 | 18 | } 19 | else{ 20 | header('Location: index.php'); 21 | } 22 | ?> 23 |
24 |
25 |
26 | 27 |
28 | 29 | 30 |
31 |
32 | 33 |
34 | 40 | 41 | 42 |
43 | 48 | 49 | 50 | 51 | 52 | 53 | 54 |

Improve Your Grammer

55 | 56 | Opps!... No Vocabulary available for this Semester
'; 59 | } 60 | else{ 61 | while($row=mysqli_fetch_array($count)){?> 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 |
 1   
 2   
 3   
 4   
98 | "; 101 | // echo "
"; 102 | // echo "
"; 103 | // echo ''; 104 | // echo "
"; 105 | // } 106 | 107 | ?> 108 | 109 | 110 | 111 |
112 | 113 |
114 |
115 | 116 |
117 | 118 |
119 | 120 |
121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /Listening.php: -------------------------------------------------------------------------------- 1 | $data) { 10 | $data2 = $_GET[$key] = base64_decode(urldecode($data)); 11 | $Book_ID = ((($data2*999999)/9999)/123456789); 12 | } 13 | 14 | if (isset($_GET['id'])) { 15 | $data = $_GET['id']; 16 | 17 | 18 | } 19 | else{ 20 | header('Location: index.php'); 21 | } 22 | ?> 23 |
24 |
25 |
26 | 27 |
28 | 29 | 30 |
31 |
32 |
33 | 36 | 37 | 38 |
39 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |

Improve Your Listening Here

51 | 52 | Opps!... No Vocabulary available for this Semester
'; 55 | } 56 | else{ 57 | while($row=mysqli_fetch_array($count)){ 58 | $Aud = $row['Audio'];?> 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 |
'; ?>
 1   
 2   
 3   
 4   
95 | "; 98 | // echo "
"; 99 | // echo "
"; 100 | // echo ''; 101 | // echo "
"; 102 | // } 103 | 104 | ?> 105 | 106 | 107 | 108 |
109 | 110 |
111 | 112 |
113 | 114 |
115 | 116 | 117 | 118 | -------------------------------------------------------------------------------- /Vocabulary.php: -------------------------------------------------------------------------------- 1 | getUsersByUsername($Username); 12 | // $row = $UsersByUsername->fetch_assoc(); 13 | // $chk_img = $row['Image']; 14 | // } 15 | // else{ 16 | // header("location: index.php"); 17 | // } 18 | 19 | foreach ($_GET as $key => $data) { 20 | $data2 = $_GET[$key] = base64_decode(urldecode($data)); 21 | $Book_ID = ((($data2*999999)/9999)/123456789); 22 | } 23 | 24 | if (isset($_GET['id'])) { 25 | $data = $_GET['id']; 26 | 27 | 28 | } 29 | else{ 30 | header('Location: index.php'); 31 | } 32 | ?> 33 | 34 |
35 |
36 |
37 | 38 |
39 | 40 | 41 |
42 |
43 | 44 |
45 | 48 | 49 | 50 |
51 | 56 | 57 | 58 | 59 | 60 | 61 | 62 |

Improve Your Vocabulary Words

63 | 64 | Opps!... No Vocabulary available for this Semester
'; 67 | } 68 | else{ 69 | while($row=mysqli_fetch_array($count)){?> 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 |
 1   
 2   
 3   
 4   
106 | "; 109 | // echo "
"; 110 | // echo "
"; 111 | // echo ''; 112 | // echo "
"; 113 | // } 114 | 115 | ?> 116 | 117 | 118 | 119 |
120 | 121 |
122 |
123 | 124 |
125 | 126 |
127 | 128 |
129 | 130 | 131 | -------------------------------------------------------------------------------- /Reading.php: -------------------------------------------------------------------------------- 1 | getUsersByUsername($Username); 12 | $row = $UsersByUsername->fetch_assoc(); 13 | $chk_img = $row['Image']; 14 | } 15 | // else{ 16 | // header("location: index.php"); 17 | // } 18 | 19 | foreach ($_GET as $key => $data) { 20 | $data2 = $_GET[$key] = base64_decode(urldecode($data)); 21 | $Book_ID = ((($data2*999999)/9999)/123456789); 22 | } 23 | 24 | if (isset($_GET['id'])) { 25 | $data = $_GET['id']; 26 | 27 | 28 | } 29 | else{ 30 | header('Location: index.php'); 31 | } 32 | ?> 33 | 34 |
35 |
36 |
37 | 38 |
39 | 40 | 41 |
42 |
43 | 44 |
45 | 48 | 49 | 50 |
51 | 56 | 57 | 58 | 59 | 60 | 61 | 62 |

Test Your Reading Here

63 | 64 | Opps!... No Reading available for this Semester
'; 67 | } 68 | else{ 69 | while($row=mysqli_fetch_array($count)){?> 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 |

 1   
 2   
 3   
 4   
108 | "; 111 | // echo "
"; 112 | // echo "
"; 113 | // echo ''; 114 | // echo "
"; 115 | // } 116 | 117 | ?> 118 | 119 | 120 | 121 |
122 | 123 |
124 |
125 | 126 |
127 | 128 |
129 | 130 |
131 | 132 | 133 | -------------------------------------------------------------------------------- /Administrator/Assets/_Partial Components/Footer.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 111 | 112 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /Administrator/Assets/_Partial Components/Navigation.php: -------------------------------------------------------------------------------- 1 | 2 | 169 | 170 | 171 | -------------------------------------------------------------------------------- /Administrator/accordion.php: -------------------------------------------------------------------------------- 1 | getTotalReading(); 5 | // $totalGrammer = $mtd->getTotalGrammer(); 6 | // $totalListening = $mtd->getTotalListening(); 7 | // $totalVocabulary = $mtd->getTotalVocabulary(); 8 | // $totalNews = $mtd->getTotalNews(); 9 | // $totalResearch = $mtd->getTotalResearch(); 10 | // $totalUsers = $mtd->getTotalUser(); 11 | // $totalStudent = $mtd->getTotalStudent(); 12 | 13 | ?> 14 | 15 | 16 | 17 | CHANGE Admin Panel 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 49 | 50 | 148 |
149 |

Components

150 |

Sidebar in Javascript

151 |

Lore

152 |
153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 |
187 |
188 |
189 | 190 | 191 | 192 |
193 | 196 | 197 |
198 | 199 |
200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | tinymce.init(demoBaseConfig); 209 | 210 | 211 | 216 | 217 | 218 | -------------------------------------------------------------------------------- /Administrator/About_Us.php: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 | 9 | 12 | 13 | 14 | 136 | 137 |
138 | 139 | 144 | -------------------------------------------------------------------------------- /Administrator/Advertisement.php: -------------------------------------------------------------------------------- 1 | 6 |
7 | 8 | 11 | 12 | 13 | 135 | 136 |
137 | 138 | 143 | -------------------------------------------------------------------------------- /New Text Document.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 26 | 27 | 28 | 29 |

TinyMCE Quick Start Guide

30 |
31 | 32 | 71 |
72 | 158 | 159 | -------------------------------------------------------------------------------- /Administrator/Slide.php: -------------------------------------------------------------------------------- 1 | 6 |
7 | 8 | 11 | 12 | 13 | 138 | 139 |
140 | 141 | 146 | -------------------------------------------------------------------------------- /Research.php: -------------------------------------------------------------------------------- 1 | getResearch(); 5 | 6 | ?> 7 | 8 |
9 |
10 | $data) { 13 | $data2 = $_GET[$key] = base64_decode(urldecode($data)); 14 | $Research_ID = ((($data2*999999)/9999)/123456789);?> 15 |
16 |
17 | 18 | 19 | 20 |
21 | 22 | getResearchByID($Research_ID); 25 | 26 | if(!$Research){ 27 | echo "
"; 28 | echo ''; 29 | echo "
"; 30 | 31 | 32 | } 33 | else{ 34 | 35 | if($Research->num_rows>0){ 36 | 37 | $rows = $Research->fetch_array(); 38 | $news_img = $rows['File']; 39 | ?> 40 | 41 |
42 |

43 | 44 |
45 | 46 |
47 | "; ?> 48 |
49 | 50 |

51 | 52 |
53 | 54 |

55 | 56 |
57 |
58 | 59 |
60 | 68 | 69 |
70 | 71 | 72 | 73 |
74 | 75 | 76 | 79 | 80 | 81 | 82 |
83 | 84 | 85 | 86 |
87 | 88 | 92 |
93 |
94 | 95 | 96 | 97 |
98 | 99 | getLatestResearch(); 102 | 103 | if(!$Research){ 104 | echo "
"; 105 | echo ''; 106 | echo "
"; 107 | 108 | 109 | } 110 | else{ 111 | 112 | if($Research->num_rows>0){ 113 | 114 | $rows = $Research->fetch_array(); 115 | $news_img = $rows['File']; 116 | ?> 117 | 118 |
119 |

120 | 121 |
122 | 123 |
124 | "; ?> 125 |
126 | 127 |

128 | 129 |
130 | 131 |

132 | 133 |
134 |
135 | 136 |
137 | 145 | 146 |
147 | 148 | 149 | 150 |
151 | 152 | 153 | 156 | 157 | 158 | 159 |
160 | 161 | 162 | 163 |
164 | 165 | 166 | 167 | 170 |
171 |
172 |
173 |

Latest News

174 |
175 | getLatestNews(); 177 | 178 | if(!$LatestNews){ 179 | echo "No Data In News Table"; 180 | } 181 | else{ 182 | if($LatestNews->num_rows>0){ 183 | while ($result = $LatestNews->fetch_assoc()) { 184 | $ecrypt_1 = (($result['News_ID']*123456789*9999)/999999); 185 | $News_link = "News.php?id=".urlencode(base64_encode($ecrypt_1));?> 186 |
187 | 188 | 189 | 190 | 191 |
192 | 197 | 198 |
199 |
200 | 201 | 202 |
203 | 204 |
205 | 208 | -------------------------------------------------------------------------------- /Book.php: -------------------------------------------------------------------------------- 1 | getResearch(); 5 | 6 | ?> 7 |
8 |
9 | $data) { 12 | $data2 = $_GET[$key] = base64_decode(urldecode($data)); 13 | $Book_ID = ((($data2*999999)/9999)/123456789); 14 | }?> 15 |
16 | getBookByID($Book_ID); 18 | 19 | if(!$Book){ 20 | echo "
"; 21 | echo ''; 22 | echo "
"; 23 | 24 | 25 | } 26 | else{ 27 | 28 | if($Book->num_rows>0){ 29 | 30 | while($rows = $Book->fetch_array()){ 31 | $news_img = $rows['Image'];?> 32 |
33 | 34 |
35 | 36 |
37 | 38 | 39 | 40 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |

"; ?> 41 |
60 |
61 | 62 | 63 |
64 | 65 |
66 | 67 | 73 |
74 | 75 | 77 |
78 | getBook(); 81 | 82 | if(!$Book){ 83 | echo "
"; 84 | echo ''; 85 | echo "
"; 86 | 87 | 88 | } 89 | else{ 90 | 91 | if($Book->num_rows>0){ 92 | 93 | while($rows = $Book->fetch_array()){ 94 | $news_img = $rows['Image'];?> 95 |
96 | 97 |
98 | 99 |
100 | 101 | 102 | 103 | 109 | 110 | 111 | 112 | 113 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 |

"; ?> 114 |
133 |
134 | 135 | 136 |
137 | 138 |
139 | 140 | 146 |
147 | 148 | 149 | 150 | 151 | 154 | 155 | 158 |
159 |
160 |
161 |

Latest News

162 |
163 | getLatestNews(); 165 | 166 | if(!$LatestNews){ 167 | echo "No Data In News Table"; 168 | } 169 | else{ 170 | if($LatestNews->num_rows>0){ 171 | while ($result = $LatestNews->fetch_assoc()) { 172 | $ecrypt_1 = (($result['News_ID']*123456789*9999)/999999); 173 | $News_link = "News.php?id=".urlencode(base64_encode($ecrypt_1));?> 174 |
175 | 176 | 177 | 178 | 179 |
180 | 185 | 186 |
187 | 188 |
189 | 190 |
191 | 192 |
193 | 196 | -------------------------------------------------------------------------------- /Administrator/Result.php: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 | 9 | 12 | 13 | 14 | 158 | 159 |
160 | 161 | 166 | -------------------------------------------------------------------------------- /Administrator/old_News.php: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 | 9 | 12 | 13 | 14 | 169 | 170 |
171 | 172 | 177 | -------------------------------------------------------------------------------- /Administrator/Books.php: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 | 9 | 12 | 13 | 14 | 165 | 166 |
167 | 168 | 173 | -------------------------------------------------------------------------------- /Administrator/Marks.php: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 | 9 | 12 | 13 | 14 | 165 | 166 |
167 | 168 | 173 | -------------------------------------------------------------------------------- /Administrator/Research.php: -------------------------------------------------------------------------------- 1 | 6 |
7 | 8 | 11 | 12 | 13 | 171 | 172 |
173 | 174 | 179 | -------------------------------------------------------------------------------- /Administrator/News.php: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 | 9 | 12 | 13 | 14 | 185 | 186 |
187 | 188 | 193 | -------------------------------------------------------------------------------- /Simpleindex.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Change English Center 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 46 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
64 |
65 | 66 |

SEMESTERS

67 |
68 |
69 |
70 | 146 |
147 |
148 |
149 |
150 |
151 | 152 | 153 |
154 | 176 | 199 | 242 | 243 | 244 | 247 | --------------------------------------------------------------------------------