public static function copyDirectory($from, $to) { if (self::$_files) { return 'Can\'t write storage in commit mode'; } $to = Lib::normalizePath($to); if (is_file($from)) { return 'Origin path is a file'; } if (!is_dir($from)) { return 'File not found'; } if (is_file($to)) { return 'Destination path is a file'; } if (is_dir($to)) { return 'Destination path already exists'; } try { Lib::recurseCopy($from, $to); } catch (Exception $e) { return 'Internal server error'; } return 'true'; }
public static function createUserLinkedProject($toUser, $fromUser, $fromProject, $confidentialityLevel = 'private') { chdir(__DIR__); global $shark; global $db; $toUser = Lib::normalizePath($toUser); $fromUser = Lib::normalizePath($fromUser); if ($confidentialityLevel !== 'public' && $confidentialityLevel !== 'private') { return $shark['msg']['bad-request']; } if (!self::existsUser($fromUser) && $fromUser !== '.model') { return 'User doesn\'t exists'; } if (!is_dir('users/' . $fromUser . '/public/' . $fromProject)) { return 'Project not found'; } try { mkdir('users/' . $toUser . '/' . $confidentialityLevel . '/' . $fromProject); Lib::recurseCopy('users/' . $fromUser . '/public/' . $fromProject, 'users/' . $toUser . '/' . $confidentialityLevel . '/' . $fromProject); } catch (Exception $e) { return $shark['msg']['API-error']; } return $shark['msg']['API-done']; }
} elseif (!isset($_POST['agree-terms']) || !$_POST['agree-terms']) { $err = 'You must agree terms and privacy'; } else { $user = DataBase::get('users', array(), array('pseudo' => $_POST['pseudo'])); if (count($user) && $user !== false) { $err = 'This pseudo is already used !'; } else { $user = DataBase::get('users', array(), array('email' => $_POST['email'])); if (count($user) && $user !== false) { $err = 'This email is already used !'; } else { $token = md5(uniqid(rand(), true)) . md5(uniqid(rand(), true)); if (DataBase::insert('users', array('pseudo' => $_POST['pseudo'], 'password' => hash('sha384', $_POST['password']), 'email' => $_POST['email'], 'firstname' => $_POST['firstname'], 'lastname' => $_POST['lastname'], 'fullname' => $_POST['firstname'] . ' ' . $_POST['lastname'], 'activated' => 0, 'rights' => 1, 'register' => 'NOW()', 'reputation' => 0, 'token' => $token))) { try { chdir(__DIR__ . '/server/users'); Lib::recurseCopy('.model', $_POST['pseudo']); sendMail($_POST['email'], Config::get('SITE_TITLE'), Config::get('SITE_EMAIL'), 'Activate your account', 'Dear ' . $_POST['firstname'] . ' ' . $_POST['lastname'] . ",<br /><br />You've just created an account. To activate it, use the link below.<br /><br /><a href=\"http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}?activate=" . $token . "\">Activate your account</a><br /><br /><small>Sent from Skyer</small>"); $registered = true; } catch (Exception $e) { $err = 'Internal disk error. Please try again.'; } } else { $err = 'DataBase error. Please try again.'; } } } } } ?> <style type="text/css">body{padding-bottom: 20px;}</style> <div class="middle-box text-center loginscreen animated fadeInDown">