Changeset 180
- Timestamp:
- 12/31/07 08:13:45 (5 years ago)
- File:
-
- 1 edited
-
trunk/service.php (modified) (33 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/service.php
r166 r180 15 15 $database = Core::getDatabase(); 16 16 $user = Core::getUser(); 17 17 18 18 if ($start == null) { 19 $start = mktime(0, 0, 0);20 }21 19 $start = mktime(0, 0, 0); 20 } 21 22 22 if ($end) { 23 $cond = " AND t.date < " . $database->quote($end);24 } 25 23 $cond = " AND t.date < " . $database->quote($end); 24 } 25 26 26 $database->setQuery("SELECT t.*, COUNT(c.userid) AS comments" . 27 27 ($user->authenticated() ? ", FIND_IN_SET(" . $database->quote($user->id) . ", t.commentsreadby) AS commentsread " : " ") . 28 28 "FROM #__tasks AS t LEFT JOIN #__comments AS c ON t.id = c.taskid " . 29 29 "WHERE t.date >= " . $database->quote($start) . $cond . " GROUP BY t.id ORDER BY t.date"); 30 30 31 31 $taskResponse = $database->loadAssocList(); 32 32 33 33 if (!$database->success()) { 34 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg());35 }36 34 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg()); 35 } 36 37 37 $tasks = Array(); 38 38 39 39 foreach ($taskResponse as $task) { 40 $tasks[] = Array(41 "id" => (int) $task["id"],42 "date" => (int) $task["date"],43 "subject" => (int) $task["subject"],44 "important" => (bool) $task["important"],45 "text" => (string) $task["text"],46 "userid" => (int) $task["userid"],47 "added" => (int) $task["added"],48 "removed" => (bool) $task["removed"],40 $tasks[] = Array( 41 "id" => (int) $task["id"], 42 "date" => (int) $task["date"], 43 "subject" => (int) $task["subject"], 44 "important" => (bool) $task["important"], 45 "text" => (string) $task["text"], 46 "userid" => (int) $task["userid"], 47 "added" => (int) $task["added"], 48 "removed" => (bool) $task["removed"], 49 49 "comments" => (int) $task["comments"], 50 50 "newcomments" => ($user->authenticated() && (int) $task["comments"] && !(bool) $task["commentsread"] ? true : false), 51 );52 }53 54 return $tasks;51 ); 52 } 53 54 return $tasks; 55 55 } 56 56 57 57 function removetask($taskid) { 58 $user = Core::getUser();59 60 if (!$user->authenticated()) {61 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");62 } 63 58 $user = Core::getUser(); 59 60 if (!$user->authenticated()) { 61 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 62 } 63 64 64 $task = Table::getInstance("tasks"); 65 65 66 66 if (!$task->load($taskid)) { 67 67 return new JSONRPCErrorResponse("INCORRECT_PARAMS", $task->getError()); 68 68 } 69 69 70 70 if (!$task->save(Array("removed" => true))) { 71 71 return new JSONRPCErrorResponse("SERVER_ERROR", $task->getError()); 72 72 } 73 73 74 74 $subject = getsubject($task->subject); 75 75 76 76 shoutbox_say_system("hat die " . $subject["short"] . "-Aufgabe \"" . $task->text . "\" gelöscht."); 77 78 return true;77 78 return true; 79 79 } 80 80 81 81 function createtask($subject, $date, $text, $important = false) { 82 82 $user = Core::getUser(); 83 84 if (!$user->authenticated()) {85 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");86 }87 83 84 if (!$user->authenticated()) { 85 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 86 } 87 88 88 $task = Table::getInstance("tasks"); 89 89 90 90 if (!$task->save(Array( 91 91 "date" => $date, … … 97 97 return new JSONRPCErrorResponse("SERVER_ERROR", $task->getError()); 98 98 } 99 99 100 100 $subject = getsubject($task->subject); 101 101 102 102 shoutbox_say_system("hat eine neue " . $subject["short"] . "-Aufgabe für den " . localizedDate("j. F", $task->date) . 103 103 " eingetragen:[BR /]\"" . $task->text . "\""); 104 105 return $task->id;104 105 return $task->id; 106 106 } 107 107 … … 109 109 $user = Core::getUser(); 110 110 111 if (!$user->authenticated()) {112 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");113 }111 if (!$user->authenticated()) { 112 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 113 } 114 114 115 115 $task = Table::getInstance("tasks"); … … 132 132 $subjectsResponse = $database->loadAssocList(); 133 133 134 if (!$database->success()) {135 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg());134 if (!$database->success()) { 135 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg()); 136 136 } 137 137 … … 139 139 140 140 foreach ($subjectsResponse as $subject) { 141 $subjects[] = Array(142 "id" => (int) $subject["id"],143 "long" => (string) $subject["long"],144 "short" => (string) $subject["short"]141 $subjects[] = Array( 142 "id" => (int) $subject["id"], 143 "long" => (string) $subject["long"], 144 "short" => (string) $subject["short"] 145 145 ); 146 146 } … … 164 164 165 165 function getcomments($taskid) { 166 $database = Core::getDatabase();167 $user = Core::getUser();168 169 if (!$user->authenticated()) {170 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");166 $database = Core::getDatabase(); 167 $user = Core::getUser(); 168 169 if (!$user->authenticated()) { 170 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 171 171 } 172 172 … … 187 187 } 188 188 189 $database->setQuery("SELECT * FROM #__comments WHERE taskid = " . $database->quote($taskid) . " ORDER BY date");190 189 $database->setQuery("SELECT * FROM #__comments WHERE taskid = " . $database->quote($taskid) . " ORDER BY date"); 190 191 191 $commentsResponse = $database->loadAssocList(); 192 193 if (!$database->success()) {194 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg());195 } 196 197 $comments = Array();198 192 193 if (!$database->success()) { 194 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg()); 195 } 196 197 $comments = Array(); 198 199 199 foreach ($commentsResponse as $comment) { 200 $comments[] = Array(201 "id" => (int) $comment["id"],202 "taskid" => (int) $comment["taskid"],203 "userid" => (int) $comment["userid"],204 "date" => (int) $comment["date"],205 "text" => (string) $comment["comment"]200 $comments[] = Array( 201 "id" => (int) $comment["id"], 202 "taskid" => (int) $comment["taskid"], 203 "userid" => (int) $comment["userid"], 204 "date" => (int) $comment["date"], 205 "text" => (string) $comment["comment"] 206 206 ); 207 207 } 208 209 return $comments;208 209 return $comments; 210 210 } 211 211 212 212 function createcomment($taskid, $text) { 213 213 $user = Core::getUser(); 214 215 if (!$user->authenticated()) {216 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");217 } 218 214 215 if (!$user->authenticated()) { 216 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 217 } 218 219 219 $task = Table::getInstance("tasks"); 220 220 221 221 if (!$task->load($taskid)) { 222 222 return new JSONRPCErrorResponse("INCORRECT_PARAMS", $task->getError()); 223 223 } 224 224 225 225 if ($task->date < mktime(0, 0, 0)) { 226 226 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Aufgaben in der Vergangenheit können leider nicht mehr kommentiert werden."); 227 227 } 228 228 229 229 $comment = Table::getInstance("comments"); 230 230 231 231 if (!$comment->save(Array("taskid" => $task->id, "userid" => $user->id, "date" => time(), "comment" => $text))) { 232 232 return new JSONRPCErrorResponse("SERVER_ERROR", $comment->getError()); 233 233 } 234 234 235 235 $task->save(Array("commentsreadby" => $user->id)); 236 $user->save(Array("posts" => $user->posts + 1));237 238 return $comment->id;236 $user->save(Array("posts" => $user->posts + 1)); 237 238 return $comment->id; 239 239 } 240 240 … … 242 242 $user = Core::getUser(); 243 243 244 if (!$user->authenticated()) {245 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");244 if (!$user->authenticated()) { 245 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 246 246 } 247 247 … … 264 264 265 265 function getcontacts() { 266 $database = Core::getDatabase();267 $user = Core::getUser();268 269 $database->setQuery("SELECT u.*, COUNT(t.userid) AS tasks FROM #__users AS u LEFT JOIN #__tasks AS t ON u.id = t.userid GROUP BY u.id");270 271 $contactsResponse = $database->loadAssocList();272 273 if (!$database->success()) {274 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg());275 }276 277 $contacts = Array();266 $database = Core::getDatabase(); 267 $user = Core::getUser(); 268 269 $database->setQuery("SELECT u.*, COUNT(t.userid) AS tasks FROM #__users AS u LEFT JOIN #__tasks AS t ON u.id = t.userid GROUP BY u.id"); 270 271 $contactsResponse = $database->loadAssocList(); 272 273 if (!$database->success()) { 274 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg()); 275 } 276 277 $contacts = Array(); 278 278 279 279 foreach ($contactsResponse as $contact) { 280 280 $lastcontact = (double) $contact["lastcontact"]; 281 281 $state = (int) $contact["state"]; 282 282 283 283 if ($lastcontact < time() - 100) { 284 284 $state = 0; 285 285 } 286 287 $contacts[] = Array(288 "id"=> (int) $contact["id"],289 "firstname"=> (string) $contact["firstname"],290 "surname"=> (string) $contact["surname"],291 "nickname"=> (string) $contact["nickname"],292 "mail"=> (string) ($user->authenticated()) ? $contact["mail"] : (($contact["mail"]) ? "hidden" : ""),293 "address"=> (string) ($user->authenticated()) ? $contact["address"] : (($contact["address"]) ? "hidden" : ""),294 "plz"=> (int) ($user->authenticated()) ? $contact["plz"] : 0,295 "location"=> (string) ($user->authenticated()) ? $contact["location"] : (($contact["location"]) ? "hidden" : ""),296 "phone"=> (string) ($user->authenticated()) ? $contact["phone"] : (($contact["phone"]) ? "hidden" : ""),297 "mobile"=> (string) ($user->authenticated()) ? $contact["mobile"] : (($contact["mobile"]) ? "hidden" : ""),298 "mainsubject"=> (string) $contact["mainsubject"],299 "posts"=> (int) $contact["posts"],300 "tasks" => (int) $contact["tasks"],301 "classmember"=> (bool) $contact["classmember"],302 "lastcontact"=> $lastcontact,303 "state" => $state286 287 $contacts[] = Array( 288 "id" => (int) $contact["id"], 289 "firstname" => (string) $contact["firstname"], 290 "surname" => (string) $contact["surname"], 291 "nickname" => (string) $contact["nickname"], 292 "mail" => (string) ($user->authenticated()) ? $contact["mail"] : (($contact["mail"]) ? "hidden" : ""), 293 "address" => (string) ($user->authenticated()) ? $contact["address"] : (($contact["address"]) ? "hidden" : ""), 294 "plz" => (int) ($user->authenticated()) ? $contact["plz"] : 0, 295 "location" => (string) ($user->authenticated()) ? $contact["location"] : (($contact["location"]) ? "hidden" : ""), 296 "phone" => (string) ($user->authenticated()) ? $contact["phone"] : (($contact["phone"]) ? "hidden" : ""), 297 "mobile" => (string) ($user->authenticated()) ? $contact["mobile"] : (($contact["mobile"]) ? "hidden" : ""), 298 "mainsubject" => (string) $contact["mainsubject"], 299 "posts" => (int) $contact["posts"], 300 "tasks" => (int) $contact["tasks"], 301 "classmember" => (bool) $contact["classmember"], 302 "lastcontact" => $lastcontact, 303 "state" => $state 304 304 ); 305 305 } 306 307 return $contacts;306 307 return $contacts; 308 308 } 309 309 310 310 function getfiles() { 311 $database = Core::getDatabase();312 313 $database->setQuery("SELECT * FROM #__files ORDER BY uploaded");314 $filesResponse = $database->loadAssocList();315 316 if (!$database->success()) {317 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg());318 }319 320 $files = Array();321 311 $database = Core::getDatabase(); 312 313 $database->setQuery("SELECT * FROM #__files ORDER BY uploaded"); 314 $filesResponse = $database->loadAssocList(); 315 316 if (!$database->success()) { 317 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg()); 318 } 319 320 $files = Array(); 321 322 322 foreach ($filesResponse as $file) { 323 323 if ((bool) $file["forcedarchiving"] || time() - (int) $file["uploaded"] >= 2592000) { … … 326 326 $archived = false; 327 327 } 328 329 $files[] = Array(330 "id" => (int) $file["id"],331 "name" => (string) $file["name"],332 "description" => (string) $file["description"],333 "size" => (int) $file["size"],334 "userid" => (int) $file["userid"],335 "uploaded" => (int) $file["uploaded"],336 "archived" => $archived328 329 $files[] = Array( 330 "id" => (int) $file["id"], 331 "name" => (string) $file["name"], 332 "description" => (string) $file["description"], 333 "size" => (int) $file["size"], 334 "userid" => (int) $file["userid"], 335 "uploaded" => (int) $file["uploaded"], 336 "archived" => $archived 337 337 ); 338 338 } 339 340 return $files;339 340 return $files; 341 341 } 342 342 343 343 function archivefile($id) { 344 344 $user = Core::getUser(); 345 346 if (!$user->authenticated()) {347 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");348 }349 345 346 if (!$user->authenticated()) { 347 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 348 } 349 350 350 $file = Table::getInstance("files"); 351 351 352 352 if (!$file->load($id)) { 353 353 return new JSONRPCErrorResponse("INCORRECT_PARAMS", $file->getError()); 354 354 } 355 355 356 356 if ($file->userid !== $user->id) { 357 357 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Du darfst diese Datei leider nicht archivieren. " . 358 "Dies ist dem Benutzer vorbehalten, der die Datei hochgeladen hat.");359 } 360 358 "Dies ist dem Benutzer vorbehalten, der die Datei hochgeladen hat."); 359 } 360 361 361 if (!$file->save(Array("forcedarchiving" => true))) { 362 362 return new JSONRPCErrorResponse("SERVER_ERROR", $file->getError()); 363 363 } 364 364 365 365 shoutbox_say_system("hat die Datei \"" . $file->name . "\" archiviert."); 366 366 367 367 return true; 368 368 } … … 371 371 $user = Core::getUser(); 372 372 $settings = Core::getSettings(); 373 374 if (!$user->authenticated()) {375 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");376 }377 378 if (!$_FILES["Filedata"]) {373 374 if (!$user->authenticated()) { 375 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 376 } 377 378 if (!$_FILES["Filedata"]) { 379 379 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Keine Datei hochgeladen"); 380 380 } 381 381 382 382 $fnParts = parseFileName(utf8_decode(sanitizeFileName($_FILES["Filedata"]["name"]))); 383 383 384 384 if (in_array(strtolower($fnParts["ext"]), $settings->get("upload_extblacklist"))) { 385 385 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Aus Sicherheitsgründen sind keine " . 386 strtoupper($fnParts["ext"]) . "-Dateien erlaubt");387 } 388 386 strtoupper($fnParts["ext"]) . "-Dateien erlaubt"); 387 } 388 389 389 $fnPartsNew = $fnParts; 390 390 $i = 1; 391 391 392 392 while (is_file("files/" . $fnPartsNew["base"] . "." . $fnPartsNew["ext"])) { 393 393 $fnPartsNew["base"] = $fnParts["base"] . "_(" . ++$i .")"; 394 394 } 395 395 396 396 $newFileName = $fnPartsNew["base"] . "." . $fnPartsNew["ext"]; 397 397 $fileSize = $_FILES["Filedata"]["size"]; 398 398 399 399 if (!move_uploaded_file($_FILES["Filedata"]["tmp_name"], "files/" . $newFileName)) { 400 400 return new JSONRPCErrorResponse("SERVER_ERROR"); 401 401 } 402 402 403 403 $file = Table::getInstance("files"); 404 404 405 405 if (!$file->save(Array( 406 "name" => $newFileName,406 "name" => $newFileName, 407 407 "description" => $description, 408 "size" => $fileSize,408 "size" => $fileSize, 409 409 "userid" => $user->id, 410 410 "uploaded" => time()))) { 411 411 return new JSONRPCErrorResponse("SERVER_ERROR", $file->getError()); 412 412 } 413 413 414 414 shoutbox_say_system("hat die Datei \"" . $newFileName . "\" hochgeladen."); 415 415 416 416 return Array("id" => $file->id, "filename" => $file->name); 417 417 } … … 420 420 $user = Core::getUser(); 421 421 422 if (!$user->signIn($nickname, $password)) {423 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");424 }425 426 return getuserdata();422 if (!$user->signIn($nickname, $password)) { 423 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 424 } 425 426 return getuserdata(); 427 427 } 428 428 429 429 function requestpassword($username, $password) { 430 $database = Core::getDatabase();430 $database = Core::getDatabase(); 431 431 $settings = Core::getSettings(); 432 433 if (!$username) {434 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Keinen Benutzernamen angegeben.");435 }436 437 if (!$password) {438 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Passwort angegeben.");439 }440 441 $database->setQuery("SELECT * FROM #__users WHERE nickname = " . $database->quote($username));432 433 if (!$username) { 434 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Keinen Benutzernamen angegeben."); 435 } 436 437 if (!$password) { 438 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Passwort angegeben."); 439 } 440 441 $database->setQuery("SELECT * FROM #__users WHERE nickname = " . $database->quote($username)); 442 442 $user = $database->loadAssoc(); 443 444 if (!$database->success()) {445 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg());446 } 447 448 if ($database->getNumRows() != 1) {449 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Benutzer existiert nicht.");450 } 451 452 $requestKey = generateRandomString();453 443 444 if (!$database->success()) { 445 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg()); 446 } 447 448 if ($database->getNumRows() != 1) { 449 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Benutzer existiert nicht."); 450 } 451 452 $requestKey = generateRandomString(); 453 454 454 $database->setQuery("UPDATE #__users SET " . 455 455 "newpassword = " . $database->quote(md5($password)) . ", " . … … 457 457 "nickname = " . $database->quote($username) 458 458 ); 459 460 if (!$database->query()) {461 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg());462 }463 464 if (!mail($user["mail"], "Neues Klassenbuchpasswort bestätigen",459 460 if (!$database->query()) { 461 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg()); 462 } 463 464 if (!mail($user["mail"], "Neues Klassenbuchpasswort bestätigen", 465 465 "Hallo " . $user["firstname"] . ",\n\n" . 466 "Du hast im Klassenbuch ein neues Passwort angefordert. Klicke auf den foldenden Link, " .467 "damit dein Passwort endgültig auf \"$password\" gewechselt wird. Wenn du kein Passwort angefordert hast, " .468 "solltest du nicht auf diesen Link klicken, sondern diese E-Mail gleich löschen!\n\n" .469 $settings->get("domain") . "index.php?passwordverification=$requestKey",470 "From: Klassenbuch <" . $settings->get("mail") . ">")) {471 return new JSONRPCErrorResponse("SERVER_ERROR");472 }473 474 return true;466 "Du hast im Klassenbuch ein neues Passwort angefordert. Klicke auf den foldenden Link, " . 467 "damit dein Passwort endgültig auf \"$password\" gewechselt wird. Wenn du kein Passwort angefordert hast, " . 468 "solltest du nicht auf diesen Link klicken, sondern diese E-Mail gleich löschen!\n\n" . 469 $settings->get("domain") . "index.php?passwordverification=$requestKey", 470 "From: Klassenbuch <" . $settings->get("mail") . ">")) { 471 return new JSONRPCErrorResponse("SERVER_ERROR"); 472 } 473 474 return true; 475 475 } 476 476 477 477 function verifynewpassword($key) { 478 $database = Core::getDatabase();479 480 if (!$key) {481 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Bestätigungsschlussel angegeben");482 }483 484 $database->setQuery("SELECT * FROM #__users WHERE newpasswordkey = " . $database->quote($key));478 $database = Core::getDatabase(); 479 480 if (!$key) { 481 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Bestätigungsschlussel angegeben"); 482 } 483 484 $database->setQuery("SELECT * FROM #__users WHERE newpasswordkey = " . $database->quote($key)); 485 485 $user = $database->loadAssoc(); 486 487 if (!$database->success()) {488 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg());489 }490 491 if ($database->getNumRows() != 1) {492 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Ungültiger Bestätigungsschlüssel.");493 }494 486 487 if (!$database->success()) { 488 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg()); 489 } 490 491 if ($database->getNumRows() != 1) { 492 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Ungültiger Bestätigungsschlüssel."); 493 } 494 495 495 $database->setQuery("UPDATE #__users SET " . 496 496 "password = " . $database->quote($user["newpassword"]) . ", " . … … 499 499 "id = " . $database->quote($user["id"]) 500 500 ); 501 502 if (!$database->query()) {503 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg());504 }505 506 return true;501 502 if (!$database->query()) { 503 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg()); 504 } 505 506 return true; 507 507 } 508 508 509 509 function changepassword($newpassword, $currentpassword) { 510 510 $user = Core::getUser(); 511 512 if (!$user->authenticated()) {513 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");514 }515 516 if (!$newpassword || !$currentpassword || md5($currentpassword) !== $user->password) {511 512 if (!$user->authenticated()) { 513 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 514 } 515 516 if (!$newpassword || !$currentpassword || md5($currentpassword) !== $user->password) { 517 517 return new JSONRPCErrorResponse("INCORRECT_PARAMS"); 518 518 } 519 519 520 520 if (!$user->save(Array("password" => md5($newpassword)))) { 521 521 return new JSONRPCErrorResponse("SERVER_ERROR", $comment->getError()); 522 522 }; 523 524 return true;523 524 return true; 525 525 } 526 526 … … 528 528 $user = Core::getUser(); 529 529 530 if (!$user->authenticated()) {531 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");532 }533 534 return Array(530 if (!$user->authenticated()) { 531 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 532 } 533 534 return Array( 535 535 "id" => $user->id, 536 536 "nickname" => $user->nickname, … … 539 539 "settings" => $user->getSettings(), 540 540 "isadmin" => $user->isadmin 541 );541 ); 542 542 } 543 543 544 544 function updateuserprofile($profileInformation) { 545 545 $user = Core::getUser(); 546 547 if (!$user->authenticated()) {548 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");549 }550 551 if (!$user->updateProfile($profileInformation)) {552 return new JSONRPCErrorResponse("INCORRECT_PARAMS", $user->getError());553 }554 546 547 if (!$user->authenticated()) { 548 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 549 } 550 551 if (!$user->updateProfile($profileInformation)) { 552 return new JSONRPCErrorResponse("INCORRECT_PARAMS", $user->getError()); 553 } 554 555 555 return true; 556 556 } … … 558 558 function changeusersettings($settings) { 559 559 $user = Core::getUser(); 560 561 if (!$user->authenticated()) {562 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");563 }564 565 $currentSettings = $user->getSettings();566 567 foreach ($settings as $key => $value) {560 561 if (!$user->authenticated()) { 562 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 563 } 564 565 $currentSettings = $user->getSettings(); 566 567 foreach ($settings as $key => $value) { 568 568 $currentSettings[$key] = $value; 569 569 } 570 570 571 571 if (!$user->save(Array("settings" => $currentSettings))) { 572 572 return new JSONRPCErrorResponse("SERVER_ERROR", $user->getError()); 573 573 } 574 574 575 575 return true; 576 576 } … … 578 578 function setuserstate($state) { 579 579 $user = Core::getUser(); 580 581 if (!$user->authenticated()) {582 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");583 }584 580 581 if (!$user->authenticated()) { 582 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 583 } 584 585 585 if ($state == User::OFFLINE || $state == User::AWAY || $state == User::ONLINE) { 586 586 return $user->setState($state); … … 605 605 $mail = trim(strip_tags($mail)); 606 606 607 if (!$nickname) {608 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Nickname angegeben.");609 }610 611 if (!$firstname) {612 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Vorname angegeben.");613 }614 615 if (!$surname) {616 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Nachname angegeben.");617 }618 619 if (!$mail) {620 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Keine E-Mail-Adresse angegeben.");621 }622 623 if (!$password) {624 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Keine Passwort angegeben.");625 }607 if (!$nickname) { 608 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Nickname angegeben."); 609 } 610 611 if (!$firstname) { 612 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Vorname angegeben."); 613 } 614 615 if (!$surname) { 616 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Nachname angegeben."); 617 } 618 619 if (!$mail) { 620 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Keine E-Mail-Adresse angegeben."); 621 } 622 623 if (!$password) { 624 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Keine Passwort angegeben."); 625 } 626 626 627 627 /* $database->setQuery("SELECT * FROM #__users WHERE nickname = " . $database->quote($nickname) . " OR mail = " . … … 656 656 657 657 function gallery_getalbums() { 658 $database = Core::getDatabase(); 659 660 $database->setQuery("SELECT a.*, COUNT(p.albumid) AS pictures FROM #__gallery_albums AS a LEFT JOIN #__gallery_pictures AS p ON a.id = p.albumid GROUP BY a.id"); 658 $database = Core::getDatabase(); 659 660 $database->setQuery("SELECT a.*, COUNT(p.albumid) AS pictures " . 661 "FROM #__gallery_albums AS a LEFT JOIN #__gallery_pictures AS p ON a.id = p.albumid GROUP BY a.id"); 662 661 663 $albumsResponse = $database->loadAssocList(); 662 663 if (!$database->success()) {664 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg());665 } 666 667 $albums = Array();668 664 665 if (!$database->success()) { 666 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg()); 667 } 668 669 $albums = Array(); 670 669 671 foreach ($albumsResponse as $album) { 670 $albums[] = Array(671 "id" => (int) $album["id"],672 "name" => (string) $album["name"],673 "description" => (string) $album["description"],674 "pictures" => (int) $album["pictures"]672 $albums[] = Array( 673 "id" => (int) $album["id"], 674 "name" => (string) $album["name"], 675 "description" => (string) $album["description"], 676 "pictures" => (int) $album["pictures"] 675 677 ); 676 678 } 677 678 return $albums;679 680 return $albums; 679 681 } 680 682 … … 682 684 $user = Core::getUser(); 683 685 684 if (!$user->authenticated()) {685 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");686 if (!$user->authenticated()) { 687 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 686 688 } 687 689 … … 703 705 $user = Core::getUser(); 704 706 705 if (!$user->authenticated()) {706 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");707 }707 if (!$user->authenticated()) { 708 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 709 } 708 710 709 711 $albumTable = Table::getInstance("albums"); … … 728 730 } 729 731 730 $fileName = "files/" . sanitizeFilename(strtolower($album->name)) . ".zip";732 $fileName = "files/" . sanitizeFilename(strtolower($album->name)) . ".zip"; 731 733 $rebuild = true; 732 734 … … 780 782 } 781 783 782 $database->setQuery("SELECT * FROM #__gallery_pictures WHERE albumid = " . $database->quote($albumid) .784 $database->setQuery("SELECT * FROM #__gallery_pictures WHERE albumid = " . $database->quote($albumid) . 783 785 " ORDER BY taken ASC"); 784 786 … … 789 791 } 790 792 791 $pictures = Array();793 $pictures = Array(); 792 794 793 795 foreach ($picturesResponse as $picture) { 794 $pictures[] = Array(795 "id" => (int) $picture["id"],796 "filename" => (string) $picture["filename"],797 "caption" => (string) $picture["caption"],798 "userid" => (int) $picture["userid"],799 "submitted" => (int) $picture["submitted"],800 "taken" => (int) $picture["taken"]);796 $pictures[] = Array( 797 "id" => (int) $picture["id"], 798 "filename" => (string) $picture["filename"], 799 "caption" => (string) $picture["caption"], 800 "userid" => (int) $picture["userid"], 801 "submitted" => (int) $picture["submitted"], 802 "taken" => (int) $picture["taken"]); 801 803 } 802 804 … … 808 810 $database = Core::getDatabase(); 809 811 810 if (!$user->authenticated()) {811 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");812 }812 if (!$user->authenticated()) { 813 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 814 } 813 815 814 816 $album = Table::getInstance("albums"); … … 818 820 } 819 821 820 if (!$_FILES["Filedata"]) {821 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Foto hochgeladen");822 }823 822 if (!$_FILES["Filedata"]) { 823 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein Foto hochgeladen"); 824 } 825 824 826 $allowedExtensions = Array("jpg", "bmp", "gif", "png"); 825 827 … … 897 899 $user = Core::getUser(); 898 900 899 if (!$user->authenticated()) {900 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");901 }902 903 if (!$id) {904 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein gültiges Bild angegeben.");905 }906 907 if ($degree % 90 != 0) {901 if (!$user->authenticated()) { 902 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 903 } 904 905 if (!$id) { 906 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein gültiges Bild angegeben."); 907 } 908 909 if ($degree % 90 != 0) { 908 910 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein gültiger Winkel angegeben."); 909 }911 } 910 912 911 913 $picture = Table::getInstance("pictures"); … … 914 916 return new JSONRPCErrorResponse("INCORRECT_PARAMS", "Kein gültiges Bild angegeben."); 915 917 } 916 917 if (!($user->isadmin || $picture->userid == $user->id)) {918 919 if (!($user->isadmin || $picture->userid == $user->id)) { 918 920 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED", "Fotos dürfen nur von demjenigen Benutzer bearbeitet werden, " . 919 "der das betreffende Foto hochgeladen hat. Ansonsten hat nur der Administrator das Recht dazu.");920 }921 922 if (!function_exists("gd_info")) {921 "der das betreffende Foto hochgeladen hat. Ansonsten hat nur der Administrator das Recht dazu."); 922 } 923 924 if (!function_exists("gd_info")) { 923 925 return new JSONRPCErrorResponse("SERVER_ERROR", "Der Server nicht über eine benötigte Grafikbibliothek zu verfügen."); 924 }925 926 $path = "gallery/originals/" . $picture->filename;926 } 927 928 $path = "gallery/originals/" . $picture->filename; 927 929 928 930 $source = imagecreatefromjpeg($path); … … 983 985 $messagesResponse = $database->loadAssocList(); 984 986 985 if (!$database->success()) {986 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg());987 } 988 989 $messages = Array();987 if (!$database->success()) { 988 return new JSONRPCErrorResponse("INVALID_DATABASE_QUERY", "MySQL-Fehlermeldung: " . $database->getErrorMsg()); 989 } 990 991 $messages = Array(); 990 992 991 993 foreach ($messagesResponse as $message) { 992 $messages[] = Array(993 "id" => (int) $message["id"],994 "userid" => (int) $message["userid"],995 "date" => (int) $message["date"],996 "text" => (string) $message["text"],997 "system" => (bool) $message["system"]994 $messages[] = Array( 995 "id" => (int) $message["id"], 996 "userid" => (int) $message["userid"], 997 "date" => (int) $message["date"], 998 "text" => (string) $message["text"], 999 "system" => (bool) $message["system"] 998 1000 ); 999 1001 } 1000 1002 1001 1003 if (count($messages)) { 1002 1004 $user = Core::getUser(); 1003 1004 if (!$user->authenticated()) {1005 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");1006 }1005 1006 if (!$user->authenticated()) { 1007 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 1008 } 1007 1009 } 1008 1010 … … 1012 1014 function shoutbox_say($text, $startAfter, $system = false) { 1013 1015 $user = Core::getUser(); 1014 1015 if (!$user->authenticated()) {1016 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED");1017 }1018 1016 1017 if (!$user->authenticated()) { 1018 return new JSONRPCErrorResponse("AUTHENTICATION_FAILED"); 1019 } 1020 1019 1021 $message = Table::getInstance("messages"); 1020 1022 1021 1023 if (!$message->save(Array( 1022 1024 "userid" => $user->id, … … 1026 1028 return new JSONRPCErrorResponse("SERVER_ERROR", $message->getError()); 1027 1029 } 1028 1030 1029 1031 if ($startAfter) { 1030 1032 return shoutbox_poll($startAfter); … … 1260 1262 1261 1263 if ($_POST["jsonrpc"]) { 1262 $service->service(strip_tags(stripcslashes($_POST["jsonrpc"])), true);1264 $service->service(strip_tags(stripcslashes($_POST["jsonrpc"])), true); 1263 1265 } elseif (!(defined("INTERNAL_REQUEST") && INTERNAL_REQUEST)) { 1264 $service->service(null, true);1266 $service->service(null, true); 1265 1267 } 1266 1268 1267 1269 function doInternalRequest($method = "", $params = Array()) { 1268 global $service;1269 1270 $json = new Services_JSON();1270 global $service; 1271 1272 $json = new Services_JSON(); 1271 1273 return $service->service($json->encode(Array( 1272 1274 "method" => $method, 1273 1275 "params" => $params 1274 )), false);1276 )), false); 1275 1277 } 1276 1278
Note: See TracChangeset
for help on using the changeset viewer.