This commit is contained in:
Joey Kimsey
2024-12-11 07:49:48 -05:00
parent 3bc838ce24
commit a1c849a626
21 changed files with 690 additions and 392 deletions

View File

@ -26,6 +26,7 @@ use TheTempusProject\TheTempusProject as App;
use TheTempusProject\Houdini\Classes\Components;
use TheTempusProject\Houdini\Classes\Forms as HoudiniForms;
use TheTempusProject\Houdini\Classes\Navigation;
use TheTempusProject\Houdini\Classes\Template;
class Bookmarks extends Controller {
protected static $bookmarks;
@ -127,8 +128,7 @@ class Bookmarks extends Controller {
public function createBookmark( $id = null ) {
$folderID = Input::get('folder_id') ? Input::get('folder_id') : $id;
$folderID = Input::post('folder_id') ? Input::post('folder_id') : $id;
$folderSelect = HoudiniForms::getFormFieldHtml( 'folder_id', 'Folder', 'select', $folderID, self::$folders->simpleByUser() );
Components::set( 'folderSelect', $folderSelect );
$this->setFolderSelect( $folderID );
if ( ! Input::exists() ) {
return Views::view( 'bookmarks.bookmarks.create' );
@ -172,8 +172,7 @@ class Bookmarks extends Controller {
$folderID = $bookmark->folderID;
}
$folderSelect = HoudiniForms::getFormFieldHtml( 'folder_id', 'Folder', 'select', $folderID, self::$folders->simpleByUser() );
Components::set( 'folderSelect', $folderSelect );
$this->setFolderSelect( $folderID );
Components::set( 'color', $bookmark->color );
if ( ! Input::exists( 'submit' ) ) {
@ -227,7 +226,8 @@ class Bookmarks extends Controller {
$folder = self::$folders->findById( $id );
if ( $folder == false ) {
$folders = self::$folders->byUser();
return Views::view( 'bookmarks.folders.list', $folders );
Components::set( 'foldersList', Views::simpleView( 'bookmarks.folders.list', $folders ) );
return Views::view( 'bookmarks.folders.listPage', $folders );
}
if ( $folder->createdBy != App::$activeUser->ID ) {
Session::flash( 'error', 'You do not have permission to view this folder.' );
@ -241,11 +241,11 @@ class Bookmarks extends Controller {
$folderID = Input::exists('folder_id') ? Input::post('folder_id') : $id;
$folders = self::$folders->simpleByUser();
if ( ! empty( $folders ) ) {
$folderSelect = HoudiniForms::getFormFieldHtml( 'folder_id', 'Folder', 'select', $folderID, $folders );
$this->setFolderSelect( $folderID );
} else {
$folderSelect = '';
Components::set( 'folderSelect', $folderSelect );
}
Components::set( 'folderSelect', $folderSelect );
if ( ! Input::exists() ) {
return Views::view( 'bookmarks.folders.create' );
}
@ -275,8 +275,7 @@ class Bookmarks extends Controller {
}
$folderID = ( false === Input::exists('folder_id') ) ? $folder->ID : Input::post('folder_id');
$folderSelect = HoudiniForms::getFormFieldHtml( 'folder_id', 'Folder', 'select', $folderID, self::$folders->simpleByUser() );
Components::set( 'folderSelect', $folderSelect );
$this->setFolderSelect( $folderID );
Components::set( 'color', $folder->color );
if ( ! Input::exists( 'submit' ) ) {
@ -512,4 +511,36 @@ class Bookmarks extends Controller {
}
return $out;
}
private function setFolderSelect( $folderID ) {
$options = self::$folders->simpleByUser();
$out = '';
$out .= '<div class="mb-3 row">';
$out .= '<label for="folder_id" class="col-lg-5 col-form-label text-end">Folder</label>';
$out .= '<div class="col-lg-3">';
$out .= '<select name="folder_id" id="folder_id" class="form-select">';
if ( isset( $options[0] ) ) {
$assocOptions = [];
foreach ( $options as $key => $value ) {
$assocOptions[$value] = $value;
}
$options = $assocOptions;
}
foreach ( $options as $fieldname => $value ) {
if ( $folderID == $value ) {
$selected = ' selected';
} else {
$selected = '';
}
$out .= '<option value="' . $value . '"' . $selected . '>' . $fieldname . '</option>';
}
$out .= '</select>';
$out .= '</div>';
$out .= '</div>';
$folderSelect = Template::parse( $out );
Components::set( 'folderSelect', $folderSelect );
}
}