Skip to content

Commit

Permalink
Merge pull request #88 from treyssatvincent/master
Browse files Browse the repository at this point in the history
lighter modals for export (only load what's needed)
  • Loading branch information
farlistener committed Jul 21, 2017
2 parents 264325f + 198013c commit 5e61f6f
Show file tree
Hide file tree
Showing 5 changed files with 124 additions and 120 deletions.
61 changes: 32 additions & 29 deletions application/assets/js/perpage/export.js
Expand Up @@ -17,20 +17,23 @@
along with Congressus. If not, see <http://www.gnu.org/licenses/>.
*/
function update_content(template, meeting_id, textarea){
$.get("meeting/do_export.php", {template: template, id: meeting_id, textarea: textarea}, function(data){
$("#export_area").empty().append(data);
});
}
if (template=="pdf"){
$('#export_iframe').attr("src", "meeting/do_export.php?template=pdf&id=" + meeting_id);
$('#export_iframe').show();
$("#export_area").hide();
} else {
update_content(template, meeting_id, textarea);
$('#export_iframe').hide();
$("#export_area").show();
$.get("meeting/do_export.php", {template: template, id: meeting_id, textarea: textarea}, function(data){
$("#export_area").empty().append(data);
});
}

$(function() {
if (template=="pdf"){
$('#export_iframe').attr("src", "meeting/do_export.php?template=pdf&id=" + meeting_id);
$('#export_iframe').show();
$("#export_area").hide();
} else {
update_content(template, meeting_id, textarea);
$('#export_iframe').hide();
$("#export_area").show();
}
});

$('.btnTab').click(function(){
tab = $(this).data("tab");
template = $(this).data("template");
Expand Down Expand Up @@ -71,29 +74,29 @@ $('.btnTab').click(function(){

// closed by <span>X
$('.exportClose').click(function(){
$("#exportModal").empty();
$("#exportModal").empty();
});

// Post
$( "#discourseSubmit" ).click(function( event ) {
event.preventDefault();
event.preventDefault();

discourse_title = $('input[name="discourse_title"]').val();
if (discourse_title.length > 15) {
discourse_category = $('select[name="discourse_category"]').val();
if (discourse_category !== "") {
meetingId = meeting_id;
report = $("#export_area textarea").val();
url = "meeting_api.php?method=do_discoursePost";
var posting = $.post( url, { discourse_title: discourse_title, discourse_category: discourse_category, meetingId: meetingId, report: report } );
discourse_title = $('input[name="discourse_title"]').val();
if (discourse_title.length > 15) {
discourse_category = $('select[name="discourse_category"]').val();
if (discourse_category !== "") {
meetingId = meeting_id;
report = $("#export_area textarea").val();
url = "meeting_api.php?method=do_discoursePost";
var posting = $.post( url, { discourse_title: discourse_title, discourse_category: discourse_category, meetingId: meetingId, report: report } );

posting.done(function( data ) {
var content = $(data);
$("#result").empty().append(content);
});
} else {
$("#result").empty().append("<div id='discourse-result' class='alert alert-danger' role='alert'>" + export_category_choose +"</div>");
}
posting.done(function( data ) {
var content = $(data);
$("#result").empty().append(content);
});
} else {
$("#result").empty().append("<div id='discourse-result' class='alert alert-danger' role='alert'>" + export_category_choose +"</div>");
}
} else {
$("#result").empty().append("<div id='discourse-result' class='alert alert-danger' role='alert'>" + export_discourse_shortTitle +"</div>");
}
Expand Down
56 changes: 28 additions & 28 deletions application/config/discourse.structure.php
Expand Up @@ -34,40 +34,40 @@ function discourseApi($url, $api_key, $protocol) {
}

try {
$discourseApi = discourseApi($config["discourse"]["url"], $config["discourse"]["api_key"], $config["discourse"]["protocol"]);
$discourseApi = discourseApi($config["discourse"]["url"], $config["discourse"]["api_key"], $config["discourse"]["protocol"]);

$categories = $discourseApi->getSite()->apiresult->categories;
$categories = $discourseApi->getSite()->apiresult->categories;

foreach ($categories as $category) {
if (isset($category->parent_category_id)){
$categories_all[$category->parent_category_id]['subcategory'][$category->id]['id'] = $category->id;
$categories_all[$category->parent_category_id]['subcategory'][$category->id]['slug'] = $category->slug;
$categories_all[$category->parent_category_id]['subcategory'][$category->id]['name'] = $category->name;
}
else {
$categories_all[$category->id]['id'] = $category->id;
$categories_all[$category->id]['slug'] = $category->slug;
$categories_all[$category->id]['name'] = $category->name;
foreach ($categories as $category) {
if (isset($category->parent_category_id)){
$categories_all[$category->parent_category_id]['subcategory'][$category->id]['id'] = $category->id;
$categories_all[$category->parent_category_id]['subcategory'][$category->id]['slug'] = $category->slug;
$categories_all[$category->parent_category_id]['subcategory'][$category->id]['name'] = $category->name;
}
else {
$categories_all[$category->id]['id'] = $category->id;
$categories_all[$category->id]['slug'] = $category->slug;
$categories_all[$category->id]['name'] = $category->name;
}
}
}

unset($categories);
foreach ($categories_all as $categoy) {
if (!isset($config["discourse"]["allowed_categories"]) || count($config["discourse"]["allowed_categories"]) == 0 || in_array($categoy['id'], $config["discourse"]["allowed_categories"])) {
$categories[$categoy['id']]['id'] = $categoy['id'];
$categories[$categoy['id']]['slug'] = $categoy['slug'];
$categories[$categoy['id']]['name'] = $categoy['name'];
}
if (isset($categoy['subcategory'])) {
foreach ($categoy['subcategory'] as $subcategoy) {
if (!isset($config["discourse"]["allowed_categories"]) || count($config["discourse"]["allowed_categories"]) == 0 || in_array($subcategoy['id'], $config["discourse"]["allowed_categories"])) {
$categories[$subcategoy['id']]['id'] = $subcategoy['id'];
$categories[$subcategoy['id']]['slug'] = $subcategoy['slug'];
$categories[$subcategoy['id']]['name'] = $categoy['name'] . " : " . $subcategoy['name'];
unset($categories);
foreach ($categories_all as $category) {
if (!isset($config["discourse"]["allowed_categories"]) || count($config["discourse"]["allowed_categories"]) == 0 || in_array($category['id'], $config["discourse"]["allowed_categories"])) {
$categories[$category['id']]['id'] = $category['id'];
$categories[$category['id']]['slug'] = $category['slug'];
$categories[$category['id']]['name'] = $category['name'];
}
if (isset($category['subcategory'])) {
foreach ($category['subcategory'] as $subcategory) {
if (!isset($config["discourse"]["allowed_categories"]) || count($config["discourse"]["allowed_categories"]) == 0 || in_array($subcategory['id'], $config["discourse"]["allowed_categories"])) {
$categories[$subcategory['id']]['id'] = $subcategory['id'];
$categories[$subcategory['id']]['slug'] = $subcategory['slug'];
$categories[$subcategory['id']]['name'] = $category['name'] . " : " . $subcategory['name'];
}
}
}
}
}
}

}
catch (Exception $e) {
Expand Down
123 changes: 60 additions & 63 deletions application/export.php
Expand Up @@ -16,19 +16,16 @@
You should have received a copy of the GNU General Public License
along with Congressus. If not, see <http://www.gnu.org/licenses/>.
*/
// include_once("header.php");
session_start();
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

include_once("config/database.php");
include_once("language/language.php");
include_once("config/discourse.structure.php");
require_once("engine/bo/MeetingBo.php");
require_once("engine/utils/SessionUtils.php");
require_once("config/config.php");
require_once("config/discourse.config.php");

$connection = openConnection();
$meetingBo = MeetingBo::newInstance($connection);
Expand All @@ -39,30 +36,23 @@
}
else {
$start = new DateTime($meeting["mee_datetime"]);
$end = new DateTime($meeting["mee_datetime"]);
$duration = new DateInterval("PT" . ($meeting["mee_expected_duration"] ? $meeting["mee_expected_duration"] : 60) . "M");
$end = $end->add($duration);

if ($meeting["loc_type"] == "framatalk") {
$framachan = sha1($meeting["mee_id"] . "framatalk" . $meeting["mee_id"]);
}
}
$userId = SessionUtils::getUserId($_SESSION);

if (isset($_GET["template"]) && isset($_GET["textarea"]) && isset($_GET["id"])) {
$url = "meeting/do_export.php?template=" . $_GET["template"] . "&id=" . $_GET["id"] . "&textarea=" . $_GET["textarea"];
} else {
die();
}
} ?>

?>
<div class="export_container" id="export_container">
<div class="export_content">
<div class="navbar navbar-inverse">
<div class="navbar-header pull-left hidden-xs">
<a class="navbar-brand" href="#">Export <?php echo $_GET["template"] ?></a>
</div>
<div class="navbar-header pull-left"><?php
if ($_GET["template"]=="html"){?>
<div class="navbar-header pull-left">
<?php if ($_GET["template"]=="html"){?>
<a id="rendering" data-template="html" data-tab="rendering" class="btnTab hidden-xs btn btn-default navbar-btn btn-active" href="#"><?php echo lang("export_rendering"); ?></a>
<a id="html-code" data-template="html" data-tab="html-code" class="btnTab btn btn-default navbar-btn" href="#">Code HTML</a>
<?php } elseif ($_GET["template"]=="discourse") {?>
Expand All @@ -75,61 +65,68 @@
<a title="<?php echo lang("common_close"); ?>" class="btn btn-default navbar-btn exportClose" href="#"><span class="glyphicon glyphicon-remove"></span></a>
</div>
</div>
<?php if ($_GET["template"]!=="pdf"){?>
<div id="export_area" class="simply-hidden"></div>
<iframe id="export_iframe" class="simply-hidden" src=""><?php echo lang("export_iframes"); ?></iframe>
<?php } ?>
<?php if ($_GET["template"]=="pdf"){?>
<iframe id="export_iframe" class="simply-hidden" src=""><?php echo lang("export_iframes"); ?></iframe>
<?php } ?>

<div id="discourse_post" class="simply-hidden">
<?php $userId = SessionUtils::getUserId($_SESSION);
if (!isset($userId)) {?>
<div class="container">
<div class="jumbotron alert-danger">
<h2><?php echo lang("export_login_ask"); ?></h2>
<p><?php echo lang("export_permission_guests"); ?></p>
<p><a class='btn btn-danger btn-lg' href='connect.php' role='button'><?php echo lang("login_title"); ?></a></p>
</div>
</div>
<?php // die("error : not_enough_right");
} elseif (($userId !== $meeting["mee_president_member_id"]) AND ($userId !== $meeting["mee_secretary_member_id"])) {?>
<div class="container">
<div class="jumbotron alert-danger">
<h2><?php echo lang("export_permission"); ?></h2>
<p><?php echo lang("export_permission_description"); ?></p>
<p><a class='btn btn-danger btn-lg' href='meeting.php?id=<?php echo $meeting["mee_id"]; ?>' role='button'><?php echo lang("common_back"); ?></a></p>
</div>
</div>
<?php // die("error : not_enough_right");
} ?>
<p class="col-md-12"><?php echo lang("export_description"); ?></p>
<form action="meeting_api.php?method=do_discoursePost" method="post" class="form-horizontal" id="export-to-discourse">
<?php if ($_GET["template"]=="discourse") {
include_once("config/discourse.structure.php");
require_once("config/discourse.config.php");?>
<div id="discourse_post" class="simply-hidden">
<?php if (!isset($userId)) {?>
<div class="container">
<div class="jumbotron alert-danger">
<h2><?php echo lang("export_login_ask"); ?></h2>
<p><?php echo lang("export_permission_guests"); ?></p>
<p><a class='btn btn-danger btn-lg' href='connect.php' role='button'><?php echo lang("login_title"); ?></a></p>
</div>
</div>
<?php // die("error : not_enough_right");
} elseif (($userId !== $meeting["mee_president_member_id"]) AND ($userId !== $meeting["mee_secretary_member_id"])) {?>
<div class="container">
<div class="jumbotron alert-danger">
<h2><?php echo lang("export_permission"); ?></h2>
<p><?php echo lang("export_permission_description"); ?></p>
<p><a class='btn btn-danger btn-lg' href='meeting.php?id=<?php echo $meeting["mee_id"]; ?>' role='button'><?php echo lang("common_back"); ?></a></p>
</div>
</div>
<?php // die("error : not_enough_right");
} ?>
<p class="col-md-12"><?php echo lang("export_description"); ?></p>
<form action="meeting_api.php?method=do_discoursePost" method="post" class="form-horizontal" id="export-to-discourse">

<div class="form-group">
<label for="discourse_title" class="col-md-4 control-label"><?php echo lang("meeting_name"); ?> :</label>
<div class="col-md-6">
<input required type="text" class="form-control input-md" id="discourse_title" name="discourse_title" value="[CR] <?php echo $meeting["mee_label"];?> du <?php echo @$start->format(lang("date_format"))?>"/>
</div>
</div>
<div class="form-group">
<label for="discourse_title" class="col-md-4 control-label"><?php echo lang("export_discourse_title"); ?> :</label>
<div class="col-md-6">
<input required type="text" class="form-control input-md" id="discourse_title" name="discourse_title" value="[CR] <?php echo $meeting["mee_label"];?> du <?php echo @$start->format(lang("date_format"))?>"/>
</div>
</div>

<div class="form-group" id="loc_channel_form">
<label for="discourse_category" class="col-md-4 control-label"><?php echo lang("export_category"); ?> : </label>
<div class="col-md-6">
<select required class="form-control input-md" id="discourse_category" name="discourse_category">
<option value=""><?php echo lang("export_category_choose"); ?></option>
<?php
foreach ($categories as $categoy) {
echo "<option value='$categoy[id]'>$categoy[name]</option>";
}
?>
</select>
</div>
</div>
<div class="form-group" id="loc_channel_form">
<label for="discourse_category" class="col-md-4 control-label"><?php echo lang("export_category_choose"); ?> : </label>
<div class="col-md-6">
<select required class="form-control input-md" id="discourse_category" name="discourse_category">
<option value=""><?php echo lang("export_category_choose"); ?></option>
<?php
foreach ($categories as $category) {
echo "<option value='$category[id]'>$category[name]</option>";
}
?>
</select>
</div>
</div>

<div class="row text-center">
<button id="discourseSubmit" type="submit" class="btn btn-primary"><?php echo lang("common_create"); ?></button>
</div>
<div class="row text-center">
<button id="discourseSubmit" type="submit" class="btn btn-primary"><?php echo lang("export_send"); ?></button>
</div>

</form>
<div id="result"></div>
</div>
</form>
<div id="result"></div>
</div>
<?php }?>

</div>
</div>
Expand Down
2 changes: 2 additions & 0 deletions application/language/en/main.php
Expand Up @@ -187,6 +187,7 @@
$lang["export_discourse_success"] = "The report has been published at the following adresse :";
$lang["export_discourse_fail"] = "Error : The report hasn't been published.";
$lang["export_discourse_shortTitle"] = "Error : The title should have more than 15 characters.";
$lang["export_discourse_title"] = "Topic's title on Discourse";
$lang["export_preview"] = "Preview";
$lang["export_send_discourse"] = "Send to Discourse";
$lang["export_permission"] = "You have not enough rights";
Expand All @@ -195,6 +196,7 @@
$lang["export_rendering"] = "Rendering";
$lang["export_open"] = "Open in a new page";
$lang["export_iframe"] = "Please enable iframes";
$lang["export_send"] = "Send";

$lang["calendar_prev"] = "Previous";
$lang["calendar_today"] = "Today";
Expand Down
2 changes: 2 additions & 0 deletions application/language/fr/main.php
Expand Up @@ -182,6 +182,7 @@
$lang["export_discourse"] = "Exporter sur Discourse";
$lang["export_discourse_success"] = "Le compte rendu a été publié à l'adresse suivante :";
$lang["export_discourse_fail"] = "Erreur : Le compte rendu n'a pas été publié.";
$lang["export_discourse_title"] = "Titre du sujet sur Discourse";
$lang["export_discourse_shortTitle"] = "Erreur : Le titre doit faire plus de 15 caractères.";
$lang["export_preview"] = "Aperçu";
$lang["export_send_discourse"] = "Envoyer sur Discourse";
Expand All @@ -191,6 +192,7 @@
$lang["export_rendering"] = "Rendu";
$lang["export_open"] = "Ouvrir dans une nouvelle page";
$lang["export_iframes"] = "Merci d'activer les iframes";
$lang["export_send"] = "Envoyer";

$lang["motion_ballot_majority_-2"] = "Jugement Majoritaire";
$lang["motion_ballot_majority_-1"] = "Borda";
Expand Down

0 comments on commit 5e61f6f

Please sign in to comment.