コード例 #1
0
ファイル: IuserModel.php プロジェクト: sov-20-07/billing
    function editUser()
    {
        DB::escapePost();
        $fields = '';
        foreach (OneSSA::$iuserStandart as $key => $item) {
            if ($key == 'pass' && trim($_POST[$key]) != '') {
                $fields .= '' . $key . '=MD5(\'' . $_POST[$key] . '\'), ';
            } else {
                $fields .= '' . $key . '=\'' . $_POST[$key] . '\', ';
            }
        }
        $user = $_POST['id'];
        if ($_POST['igroup'] == '') {
            $_POST['igroup'] = 0;
        }
        $sql = '
			UPDATE {{iusers}}
			SET 
				' . $fields . '
				igroup=' . $_POST['igroup'] . '
			WHERE id=' . $user . '
		';
        DB::exec($sql);
        $addingSql = '';
        if (count($_POST['fileIds']) > 0) {
            $addingSql = ' AND id NOT IN (' . implode(',', $_POST['fileIds']) . ') ';
        }
        $sql = '
			SELECT path FROM {{iusers_files}} 
			WHERE iuser='******' ' . $addingSql . '
		';
        $delFiles = DB::getAll($sql, 'path');
        foreach ($delFiles as $item) {
            unlink($_SERVER['DOCUMENT_ROOT'] . $item);
        }
        $dir = md5('touch' . $user);
        $dir = '/u/files/iusers/' . $dir . '/';
        if (is_dir($_SERVER['DOCUMENT_ROOT'] . $dir)) {
            if (count(scandir($_SERVER['DOCUMENT_ROOT'] . $dir)) == 2) {
                rmdir($_SERVER['DOCUMENT_ROOT'] . $dir);
            }
        }
        $sql = '
			DELETE FROM {{iusers_files}} 
			WHERE iuser='******' ' . $addingSql . '
		';
        DB::exec($sql);
        Iuser::upload($user);
        $sql = '
			DELETE FROM {{iusers_adds}} 
			WHERE iuser='******'
		';
        DB::exec($sql);
        $data = array();
        foreach (OneSSA::$iuserStandartAdds as $title => $items) {
            foreach ($items as $key => $item) {
                if ($item['main'] != 1) {
                    if ($item['type'] == 'bool') {
                        $data[$key] = $_POST[$key] == 1 ? '1' : '0';
                    } else {
                        $data[$key] = $_POST[$key];
                    }
                }
            }
        }
        foreach ($data as $key => $item) {
            $sql = '
				INSERT INTO {{iusers_adds}}
				SET iuser='******',
					name=\'' . $key . '\',
					string_value=\'' . $_POST[$key] . '\'
			';
            DB::exec($sql);
        }
    }