登録日
2019年11月28日

メンバー検索

  

ykbigdrive72

名前(ニックネーム)
ハイキック
自分のconcrete5サイト
自己紹介
名古屋の印刷会社でプログラム開発に従事しております。
基本は.NETでWEBアプリケーションやWindowsアプリケーション
開発を主に行っています。
WEBアプリの開発効率を上げるため、最近はWordPress、Kintone
やMicrosoft PowerBI を使ったソリューションも提案しております。
このたび、Concrete5 の勉強を始めました。
どうぞよろしくお願い致します。
concrete5.org のユーザー名
ykbigdrive72
concrete5 Slack Team ID
Twitterアカウント
フォーラム総投稿数
140

コミュニティバッジ

エバンジェリスト 宣伝・普及活動を行っていただいている concrete5 の伝道師です!エバンジェリストについて

投稿

21から30までを表示 (計136)

Expressエンティティエントリーデータ件数の取得について

フォーラムの皆さま

平素は大変お世話になっております。
引き続き、concrete5による、外部フォームWebアンケートの
開発を続けております。

以前、このフォーラムで質問をさせていただきました、Express
エンティティのエントリーデータをCSVでダウンロードする機能を
実装いたしましたが、エンティティのエントリーデータ件数を取得
したいと思っております。

Webアンケートでは、プルダウンメニューから、エンティティを
選択後、「ダウンロード」ボタンを押下すると、該当するエンティティ
のエントリーデータをCSVファイルとしてダウンロードできる機能を
実装しておりますが、その際、エントリーデータが1件もない場合は
ダウンロードしないような分岐処理を実装したいと考えております。

ビュー側の、リストボックス値をコントローラにPOSTしてきて、
$input['csvent'] = $this->post('csvent');
$me = $this;

if (isset($input['csvent']) && $input['csvent'] != ''){
$entname = $input['csvent'];
}

//$fileName = $entname.' download file';
$entity = Express::getObjectByHandle($entname);

$headers = [
'Content-Type' => 'text/csv',
'Content-Disposition' => 'attachment; filename=' . $entity->getHandle() . '.csv',
];
としておりますが、$entity のアトリビュートに、エントリーデータの件数を
保持している連想配列などがないか、確認しておりますが、見つけられておりません。

エンティティオブジェクトは取得できておりますので、エントリーデータ件数
を保持する配列名など、どのようなことでも結構でございますので、ご教示
賜りますと嬉しく存じます。

どうぞよろしくお願い申し上げます。

# concrete5 Version
Core Version - 8.5.4
Version Installed - 8.5.4
Database Version - 20200609145307

# Database Information
Version: 5.1.73
SQL Mode:

# concrete5 Packages
Bootstrap4 Website Theme (1.0.0), Cloneamental (0.9.3), CSV User Import & Export (0.1.1), Honest Websites Back To Top (1.1.0), Login/Logout Link (1.0), Login Page Background (0.9.1), Manual Nav (2.3.3), Migration Tool (0.9.1)

# concrete5 Overrides
blocks/external_form/form/controller/tkp_menu.php, blocks/external_form/form/controller/enq_a.php, blocks/external_form/form/controller/enq_b.php, blocks/external_form/form/controller/enq_c.php, blocks/external_form/form/controller/shukai.php, blocks/external_form/form/controller/enqopt.php, blocks/external_form/form/controller/emenu.php, blocks/external_form/form/controller/mailtmp.php, blocks/external_form/form/controller/csvdwn.php, blocks/external_form/form/controller/maildelete.php, blocks/external_form/form/controller, blocks/external_form/form/tkp_menu.php, blocks/external_form/form/enq_a.php, blocks/external_form/form/enq_b.php, blocks/external_form/form/enq_c.php, blocks/external_form/form/shukai.php, blocks/external_form/form/enqopt.php, blocks/external_form/form/emenu.php, blocks/external_form/form/mailtmp.php, blocks/external_form/form/csvdwn.php, blocks/external_form/form/maildelete.php, blocks/external_form/form, blocks/external_form, mail/mail_send_hyoka_a.php, mail/mail_send_hyoka_b.php, mail/mail_2tmp.php, mail/mail_1tmp.php, mail/mail_3tmp.php, mail/mail_4tmp.php, mail/mail_5tmp.php, mail/mail_6tmp.php, themes/tkpsurvey/css/custom.css, themes/tkpsurvey/css, themes/tkpsurvey/default.php, themes/tkpsurvey/description.txt, themes/tkpsurvey/elements/footer-form.php, themes/tkpsurvey/elements/header_top-form.php, themes/tkpsurvey/elements, themes/tkpsurvey/form.php, themes/tkpsurvey/js/custom.js, themes/tkpsurvey/js, themes/tkpsurvey/thumbnail.png, themes/tkpsurvey

# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - Off
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache

# Server API
apache2handler

# PHP Version
7.3.15

# PHP Extensions
apache2handler, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mysqli, mysqlnd, odbc, openssl, pcre, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, recode, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib

# PHP Settings
max_execution_time - 3600
log_errors_max_len - 4096
max_file_uploads - 100
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 256M
post_max_size - 384M
upload_max_filesize - 256M
ldap.max_links - Unlimited
mbstring.regex_stack_limit - 100000
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - no value
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 4000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5

Posted on 3月 15, 2021 at 6:03 午後

Re: Re: 外部フォームのCSSカスタマイズについて

aniyaさん

ありがとうございます。
HTMLタグの <link rel=・・・>で、パスが通っていれば
問題ないわけでございますね。
ありがとうございます。早速試してみたいと思います。

いつも暖かいご支援を賜り、本当にありがとうございます。
今後とも、どうぞよろしくお願い申し上げます。

Posted on 2月 26, 2021 at 1:02 午後

Re: 外部フォームのCSSカスタマイズについて

○○部長
ありがとうございます!!
確かに!!

Posted on 2月 26, 2021 at 1:01 午後

Re: 外部フォームのCSSカスタマイズについて

aniyaさん

 おはようございます。
ご回答まことにありがとうございます。
外部フォームのHTMLにclass を定義して、そのclassに対応する
CSSも用意しておりましたが、このCSSをどこへ置くか、あるいは
書くか、で大変悩んでおりました。
デザイン&ブロックテンプレートには、とくにこだわりはございません。
構成が大変よく理解できました。いつもありがとうございます。

ちなみにですが、CSSファイルは、index.php と同じルートの階層
など、どこに置いても問題ございませんでしょうか?
どうぞよろしくお願いいたします。

Posted on 2月 26, 2021 at 11:29 午前

外部フォームのCSSカスタマイズについて

フォーラムの皆さま

いつもご支援を賜り、本当にありがとうございます。
お陰様で、外部フォームを元に開発した、Webアンケートシステムにつきましては、
ほぼすべての要望を実現することができました。
これも、hissyさん、katzさん、aniyaさんはじめ、フォーラムの皆さまのご支援の
賜物と、喜ばしく存じます。ありがとうございます。

さらなる質問で、大変恐縮でございますが、現在、外部フォームには、BootStrap
のクラスを、HTMLタグの中で定義して部品などを配置しておりますが、これらの
フォームヘルパで作成した部品(テキストボックスやラジオボタン等)は、CSS
カスタマイズ
できるものでしょうか?

外部フォームをページに配置する際、「デザイン&ブロックテンプレート」から、
CSSを読み込んで、通常のCSSが定義できるのか知りたいと思います。
どうぞよろしくお願い申し上げます。

# concrete5 Version
Core Version - 8.5.4
Version Installed - 8.5.4
Database Version - 20200609145307

# Database Information
Version: 5.1.73
SQL Mode:

# concrete5 Packages
CSV User Import & Export (0.1.1), Honest Websites Back To Top (1.1.0), Login/Logout Link (1.0), Login Page Background (0.9.1), Manual Nav (2.3.3), Migration Tool (0.9.1)

# concrete5 Overrides
blocks/external_form/form/controller/tkp_menu.php, blocks/external_form/form/controller/enq_a.php, blocks/external_form/form/controller/enq_b.php, blocks/external_form/form/controller/enq_c.php, blocks/external_form/form/controller/shukai.php, blocks/external_form/form/controller/enqopt.php, blocks/external_form/form/controller/emenu.php, blocks/external_form/form/controller/mailtmp.php, blocks/external_form/form/controller/csvdwn.php, blocks/external_form/form/controller, blocks/external_form/form/tkp_menu.php, blocks/external_form/form/enq_a.php, blocks/external_form/form/enq_b.php, blocks/external_form/form/enq_c.php, blocks/external_form/form/shukai.php, blocks/external_form/form/enqopt.php, blocks/external_form/form/emenu.php, blocks/external_form/form/mailtmp.php, blocks/external_form/form/csvdwn.php, blocks/external_form/form, blocks/external_form, mail/mail_send_hyoka_a.php, mail/mail_send_hyoka_b.php, mail/mail_2tmp.php, mail/mail_1tmp.php, mail/mail_3tmp.php, mail/mail_4tmp.php, mail/mail_5tmp.php

# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache

# Server API
apache2handler

# PHP Version
7.3.15

# PHP Extensions
apache2handler, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mysqli, mysqlnd, odbc, openssl, pcre, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, recode, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib

# PHP Settings
max_execution_time - 3600
log_errors_max_len - 4096
max_file_uploads - 100
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 256M
post_max_size - 384M
upload_max_filesize - 256M
ldap.max_links - Unlimited
mbstring.regex_stack_limit - 100000
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - no value
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 4000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5

Posted on 2月 25, 2021 at 2:09 午後

Re: ログインアカウントを確認して、強制ログアウトさせたい

katzさん、aniyaさん、フォーラムの皆さま

いつも大変お世話になっております。
先週の週刊concrete5において、ご説明いただきました内容を参考に、
ドキュメントも参考にさせていただいたうえで、強制ログアウト
が実装出来ましたので、ご報告させていただきます。

katzさんより、メンバーを特定のグループに所属させておき、
$u = new User();
$u = User::getByUserID($userID);
$u->inGroup(Group $g);
で、検証するUserIdが特定のグループに属していた場合(trueを返したとき)
強制ログアウトさせる方法を教えていただきました。
メンバー内の、UserId が "sysadmin" がオプション管理者となりますので、
クローズドアンケートページ のcontroller 側の public funcitoin veiw() に、
以下のコードを実装しました。

public function view(){
//ユーザIDをシステムから取得し、初期表示を行う
$u = new User();
$uid = $u->getUserName();

//ユーザエンティティより個人情報を取得
$entity = Express::getObjectByHandle('Member');
$list = new \Concrete\Core\Express\EntryList($entity);
$list->filterByUserid($uid);
$results = $list->getResults();

if (count($results)){
foreach ($results as $personaldata){
$userid = $personaldata->getUserid();
$username = $personaldata->getUsername();
$mailaddress = $personaldata->getMailaddress();
}
if (isset($userid) && $userid != 'sysadmin'){
$this->set('uid', $userid);
} else {
$u->logout();
$this->redirect('アンケートメニュー画面URL');

}
if (isset($username) && $username != ''){
$this->set('uname', $username);
}
if (isset($mailaddress) && $mailaddress != ''){
$this->set('mailaddress', $mailaddress);
}

}

$this->set('message', t('授業評価アンケートメニュー画面'));
}

 これで、管理者オプションページへ"sysadmin" でログイン後、
ログアウトせずに画面を戻り、クローズドアンケートページへアクセスした
際に、強制ログアウトさせ、アンケートメニューページにリダイレクトさせる
事ができました。
これにより、アンケートページ表示時、ログイン画面が無事に表示されることを
確認いたしました。

 ちなみに、週刊concrete5 放送内容以外に、以下のドキュメントを参考に
させていただきました。
http://concrete5-japan.org/help/5-6/developer/permissions/users/
http://www.concrete5.org/marketplace/addons/loginlogout-link/support/logout-redirect-to-a-chosen-page

ありがとうございました。

Posted on 2月 22, 2021 at 1:44 午後

ログインアカウントを確認して、強制ログアウトさせたい

フォーラムの皆さま

いつも暖かいご支援をいただきまして、ありがとうございます。
現在、外部フォーム機能をもとに、WEBアンケートシステムを
開発しております。

アンケートのうち、ログインが必要な個所が2つあり、1つはクローズド
アンケートと申しまして、学校の生徒さんや企業の社員さんごとに
回答するアンケート項目が異なる構成になっています。
ここにログインするために、Userとしてそれぞれ個別のアカウントを
登録しています。

もうひとつは、オプション機能といい、アンケートに未回答の人を一覧
で抽出したり、アンケート回答後に自動送信するメール文章の作成保存、
名前やメールアドレスなどを文中にエンベッドする「マジックワード」
機能、ExpressエントリーをCSVファイルとしてダウンロードする機能
を実装しております。

オプション機能は、アンケート回答者ではなく、学校や企業の管理者的
立場の方がログインして使用することを前提としていますので、
オプション機能を使ったあとは、ログアウトして、アンケートページに
移動してもらう必要があります。
ところが、ログアウトを忘れて画面を閉じてしまい、オプション管理者
権限アカウントでクローズドアンケートページにアクセスする場合が
想定され、オプション管理者アカウントでクローズドアンケートページを
表示すると、当然ながら、個人別アンケート一覧が1件も表示されません。

前置きが大変長くなりましたが、実現したいことは、
オプション画面に管理者権限で入り、ログアウトせずにクローズドアンケート
ページへアクセスした際、現在のアカウントを取得して、オプション管理者
の場合、強制ログアウトさせたいと考えています。

ユーザアカウントをシステムから取得することは問題なくできております。
強制的にログアウトさせて、クローズドアンケートのログインページに
リダイレクトする方法が知りたいと思っております。

ご教示いただければ幸いでございます。
どうぞよろしくお願い申し上げます。

# concrete5 Version
Core Version - 8.5.4
Version Installed - 8.5.4
Database Version - 20200609145307

# Database Information
Version: 5.1.73
SQL Mode:

# concrete5 Packages
CSV User Import & Export (0.1.1), Honest Websites Back To Top (1.1.0), Login/Logout Link (1.0), Login Page Background (0.9.1), Manual Nav (2.3.3), Migration Tool (0.9.1)

# concrete5 Overrides
blocks/external_form/form/controller/tkp_menu.php, blocks/external_form/form/controller/enq_a.php, blocks/external_form/form/controller/enq_b.php, blocks/external_form/form/controller/enq_c.php, blocks/external_form/form/controller/shukai.php, blocks/external_form/form/controller/enqopt.php, blocks/external_form/form/controller/emenu.php, blocks/external_form/form/controller/mailtmp.php, blocks/external_form/form/controller/csvdwn.php, blocks/external_form/form/controller, blocks/external_form/form/tkp_menu.php, blocks/external_form/form/enq_a.php, blocks/external_form/form/enq_b.php, blocks/external_form/form/enq_c.php, blocks/external_form/form/shukai.php, blocks/external_form/form/enqopt.php, blocks/external_form/form/emenu.php, blocks/external_form/form/mailtmp.php, blocks/external_form/form/csvdwn.php, blocks/external_form/form, blocks/external_form, mail/mail_send_hyoka_a.php, mail/mail_send_hyoka_b.php, mail/mail_2tmp.php, mail/mail_1tmp.php, mail/mail_3tmp.php, mail/mail_4tmp.php, mail/mail_5tmp.php

# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache

# Server API
apache2handler

# PHP Version
7.3.15

# PHP Extensions
apache2handler, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mysqli, mysqlnd, odbc, openssl, pcre, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, recode, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib

# PHP Settings
max_execution_time - 3600
log_errors_max_len - 4096
max_file_uploads - 100
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 256M
post_max_size - 384M
upload_max_filesize - 256M
ldap.max_links - Unlimited
mbstring.regex_stack_limit - 100000
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - no value
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
opcache.max_accelerated_files - 4000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5

Posted on 2月 19, 2021 at 11:49 午前

Re: Re: エクスプレスエントリーデータダウンロードを外部フォームから実行したい

hissyさん

 ありがとうございました。
無事、できました。

$response->send();
\Core::shutdown();
//die();
とすることで、HTMLタグもなく、CSVファイルが無事
ダウンロードできました。

Posted on 2月 17, 2021 at 11:35 午前

Re: エクスプレスエントリーデータダウンロードを外部フォームから実行したい

hissyさん

 ご教示ありがとうございます。
さっそく、そのように実装させていただきます。
ありがとうございました!!

Posted on 2月 17, 2021 at 11:10 午前

Re: エクスプレスエントリーデータダウンロードを外部フォームから実行したい

hissyさん

おはようございます。ありがとうございます!!できました!!
昨日投稿した「ページが表示できません」メッセージについては、
参照するクラスが抜けていたことが原因のようでございます。
ご迷惑をおかけいたしました(;^_^A

hissyさんのお教え通りに、$response = StreamRsponse::create(function () use...)
と致しまして、
$response->send(); を実行することで、ダイアログが表示され、無事ダッシュボード
と同じ機能が実現できました。
気になったところと致しましては、この方法でダウンロードしたcsvファイルを
ExcelからUTF-8で読み込んでみますと、
HTMLタグが一緒に吐き出されておりました。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" type="text/css" href="/tkp_system/concrete/themes/elemental/css/bootstrap-modified.css">
<link href="/tkp_system/application/files/cache/css/elemental/main.css?ts=1599545416" rel="stylesheet" type="text/css" media="all">・・・

そこで、
$response->send();
の後にdie関数をかませることで、防止することができました。

$response->send();
die();

これで何とか解決できました。
hissyさん、katzさん、aniyaさん、フォーラムの皆さん、本当に
ありがとうございました。

Posted on 2月 17, 2021 at 10:58 午前