setMessage('save'); } function deletePost($form) { print_r($form); exit; } $page_title = __('New entry'); $can_view_page = true; $can_edit_post = $core->auth->check('usage,contentadmin',$core->blog->id); $can_publish = $core->auth->check('publish,contentadmin',$core->blog->id); $can_delete = false; $post_headlink = ''; $post_link = '%s'; $next_link = $prev_link = $next_headlink = $prev_headlink = null; # If user can't publish if (!$can_publish) { $form->post_status = -2; } # Getting categories $categories_combo = array(' ' => ''); try { $categories = $core->blog->getCategories(array('post_type'=>'post')); while ($categories->fetch()) { $categories_combo[$categories->cat_id] = str_repeat('  ',$categories->level-1). ($categories->level-1 == 0 ? '' : '• '). html::escapeHTML($categories->cat_title); } } catch (Exception $e) { } # Status combo foreach ($core->blog->getAllPostStatus() as $k => $v) { $status_combo[$k] = $v; } # Formaters combo foreach ($core->getFormaters() as $v) { $formaters_combo[$v] = $v; } # Languages combo $rs = $core->blog->getLangs(array('order'=>'asc')); $all_langs = l10n::getISOcodes(0,1); $lang_combo = array('' => '', __('Most used') => array(), __('Available') => l10n::getISOcodes(1,1)); while ($rs->fetch()) { if (isset($all_langs[$rs->post_lang])) { $lang_combo[__('Most used')][$all_langs[$rs->post_lang]] = $rs->post_lang; unset($lang_combo[__('Available')][$all_langs[$rs->post_lang]]); } else { $lang_combo[__('Most used')][$rs->post_lang] = $rs->post_lang; } } unset($all_langs); unset($rs); $form = new dcForm($core,'post','post.php'); $form ->addField( new dcFieldText('post_title','', array( 'size' => 20, 'required' => true, 'label' => __('Title')))) ->addField( new dcFieldTextArea('post_excerpt','', array( 'cols' => 50, 'rows' => 5, 'label' => __("Excerpt:")))) ->addField( new dcFieldTextArea('post_content','', array( 'required' => true, 'label' => __("Content:")))) ->addField( new dcFieldTextArea('post_notes','', array( 'label' => __("Notes")))) ->addField( new dcFieldSubmit('save',__('Save'),array( 'action' => 'savePost'))) ->addField( new dcFieldSubmit('delete',__('Delete'),array( 'action' => 'deletePost'))) ->addField( new dcFieldCombo('post_status',$core->auth->getInfo('user_post_status'),$status_combo,array( 'disabled' => !$can_publish, 'label' => __('Entry status:')))) ->addField( new dcFieldCombo('cat_id','',$categories_combo,array( "label" => __('Category:')))) ->addField( new dcFieldText('post_dt','',array( "label" => __('Published on:')))) ->addField( new dcFieldCombo('post_format',$core->auth->getOption('post_format'),$formaters_combo,array( "label" => __('Text formating:')))) ->addField( new dcFieldCheckbox ('post_open_comment',$core->blog->settings->system->allow_comments,array( "label" => __('Accept comments')))) ->addField( new dcFieldCheckbox ('post_open_tb',$core->blog->settings->system->allow_trackbacks,array( "label" => __('Accept trackbacks')))) ->addField( new dcFieldCheckbox ('post_selected',false,array( "label" => __('Selected entry')))) ->addField( new dcFieldCombo ('post_lang',$core->auth->getInfo('user_lang'),$lang_combo, array( "label" => __('Entry lang:')))) ->addField( new dcFieldHidden ('id','')) ; # Get entry informations if (!empty($_REQUEST['id'])) { $params['post_id'] = $_REQUEST['id']; $post = $core->blog->getPosts($params); if ($post->isEmpty()) { $core->error->add(__('This entry does not exist.')); $can_view_page = false; } else { $form->id = $post->post_id; $form->cat_id = $post->cat_id; $form->post_dt = date('Y-m-d H:i',strtotime($post->post_dt)); $form->post_format = $post->post_format; $form->post_password = $post->post_password; $form->post_url = $post->post_url; $form->post_lang = $post->post_lang; $form->post_title = $post->post_title; $form->post_excerpt = $post->post_excerpt; $form->post_excerpt_xhtml = $post->post_excerpt_xhtml; $form->post_content = $post->post_content; $form->post_content_xhtml = $post->post_content_xhtml; $form->post_notes = $post->post_notes; $form->post_status = $post->post_status; $form->post_selected = (boolean) $post->post_selected; $form->post_open_comment = (boolean) $post->post_open_comment; $form->post_open_tb = (boolean) $post->post_open_tb; $form->can_edit_post = $post->isEditable(); $form->can_delete= $post->isDeletable(); } } $form->setup(); // TODO: Do it better later, required by some javascripts $some_globals = array( 'rtl' => l10n::getTextDirection($_lang) == 'rtl', 'Nonce' => $core->getNonce(), 'sess_id' => session_id(), 'sess_uid' => $_SESSION['sess_browser_uid'], 'media_manage' => $core->auth->check('media,media_admin',$core->blog->id), 'enable_wysiwyg' => isset($core->auth) && $core->auth->getOption('enable_wysiwyg'), 'edit_size' => $core->auth->getOption('edit_size') ); foreach($some_globals as $name => $value) { $_ctx->$name = $value; }; // /* DISPLAY -------------------------------------------------------- */ $default_tab = 'edit-entry'; if (!$can_edit_post) { $default_tab = ''; } if (!empty($_GET['co'])) { $default_tab = 'comments'; } $_ctx->default_tab = $default_tab; $_ctx->setPageTitle($page_title); $core->tpl->display('post.html.twig'); ?>