From de6288fc3a784bcc55523f528a3948db7ce3a82c Mon Sep 17 00:00:00 2001 From: Olusesan Ameye Date: Tue, 31 May 2022 17:27:58 -0400 Subject: [PATCH] fix --- wrenchboard/src/Makefile | 4 +- wrenchboard/src/Makefile.objects | 2 + wrenchboard/src/config.log | 13 +++--- wrenchboard/src/config.status | 2 +- wrenchboard/src/include/email.h | 1 + wrenchboard/src/include/wrenchboard_api.h | 11 +++++ wrenchboard/src/libtool | 2 +- wrenchboard/src/shared_tool/email.cc | 43 +++++++++++++++++++ .../src/shared_tool/wrenchboard_api_main.cc | 6 +++ 9 files changed, 75 insertions(+), 9 deletions(-) diff --git a/wrenchboard/src/Makefile b/wrenchboard/src/Makefile index 6d63f7e2..23ca6887 100644 --- a/wrenchboard/src/Makefile +++ b/wrenchboard/src/Makefile @@ -12,7 +12,7 @@ ZEND_EXT_TYPE = zend_extension RE2C = exit 0; AWK = gawk WRENCHBOARD_API_OAMEYE_SHARED_LIBADD = -Wl,-rpath,/usr/lib64 -L/usr/lib64 -lpq -lstdc++ -lcurl -lconfig++ -ljson-c -lssl -lz -lpcrecpp -lgcc_s -shared_objects_wrenchboard_api_oameye = core/XmlElements.lo core/XmlParser.lo core/cfg.lo core/cgi.lo core/clog.lo core/cvariables.lo core/exceptions.lo core/hmac_sha2.lo core/input.lo core/list.lo core/pgsql.lo core/pgsql_wrapper.lo core/safestring.lo core/sha2.lo core/sha512.lo core/smtp.lo core/timer.lo core/util.lo core/vars.lo core/wrenchboard.lo core/wrenchboard_api.lo shared_tool/account.lo shared_tool/account_mngt.lo shared_tool/bko.lo shared_tool/common_tool.lo shared_tool/contract.lo shared_tool/creditcards.lo shared_tool/email.lo shared_tool/groups.lo shared_tool/jobs.lo shared_tool/login.lo shared_tool/mobile.lo shared_tool/namespaces.lo shared_tool/payments.lo shared_tool/site_crons.lo shared_tool/smoney.lo shared_tool/stripe.lo shared_tool/stripe_charge.lo shared_tool/topups.lo shared_tool/twilo.lo shared_tool/wrenchboard_api_main.lo +shared_objects_wrenchboard_api_oameye = core/XmlElements.lo core/XmlParser.lo core/cfg.lo core/cgi.lo core/clog.lo core/cvariables.lo core/exceptions.lo core/hmac_sha2.lo core/input.lo core/list.lo core/pgsql.lo core/pgsql_wrapper.lo core/safestring.lo core/sha2.lo core/sha512.lo core/smtp.lo core/timer.lo core/util.lo core/vars.lo core/wrenchboard.lo core/wrenchboard_api.lo shared_tool/account.lo shared_tool/account_mngt.lo shared_tool/bko.lo shared_tool/common_tool.lo shared_tool/contract.lo shared_tool/coupons.lo shared_tool/creditcards.lo shared_tool/email.lo shared_tool/groups.lo shared_tool/jobs.lo shared_tool/login.lo shared_tool/mobile.lo shared_tool/namespaces.lo shared_tool/payments.lo shared_tool/site_crons.lo shared_tool/smoney.lo shared_tool/stripe.lo shared_tool/stripe_charge.lo shared_tool/topups.lo shared_tool/twilo.lo shared_tool/wrenchboard_api_main.lo PHP_PECL_EXTENSION = wrenchboard_api_oameye PHP_MODULES = $(phplibdir)/wrenchboard_api_oameye.la PHP_ZEND_EX = @@ -242,6 +242,8 @@ shared_tool/common_tool.lo: /home/oameye/wrenchboard/wrenchboard/src/shared_tool $(LIBTOOL) --mode=compile $(CXX) -I/home/oameye/wrenchboard/wrenchboard/src/libconfig-1.0.1 -I. -I/home/oameye/wrenchboard/wrenchboard/src $(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -c /home/oameye/wrenchboard/wrenchboard/src/shared_tool/common_tool.cc -o shared_tool/common_tool.lo shared_tool/contract.lo: /home/oameye/wrenchboard/wrenchboard/src/shared_tool/contract.cc $(LIBTOOL) --mode=compile $(CXX) -I/home/oameye/wrenchboard/wrenchboard/src/libconfig-1.0.1 -I. -I/home/oameye/wrenchboard/wrenchboard/src $(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -c /home/oameye/wrenchboard/wrenchboard/src/shared_tool/contract.cc -o shared_tool/contract.lo +shared_tool/coupons.lo: /home/oameye/wrenchboard/wrenchboard/src/shared_tool/coupons.cc + $(LIBTOOL) --mode=compile $(CXX) -I/home/oameye/wrenchboard/wrenchboard/src/libconfig-1.0.1 -I. -I/home/oameye/wrenchboard/wrenchboard/src $(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -c /home/oameye/wrenchboard/wrenchboard/src/shared_tool/coupons.cc -o shared_tool/coupons.lo shared_tool/creditcards.lo: /home/oameye/wrenchboard/wrenchboard/src/shared_tool/creditcards.cc $(LIBTOOL) --mode=compile $(CXX) -I/home/oameye/wrenchboard/wrenchboard/src/libconfig-1.0.1 -I. -I/home/oameye/wrenchboard/wrenchboard/src $(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -c /home/oameye/wrenchboard/wrenchboard/src/shared_tool/creditcards.cc -o shared_tool/creditcards.lo shared_tool/email.lo: /home/oameye/wrenchboard/wrenchboard/src/shared_tool/email.cc diff --git a/wrenchboard/src/Makefile.objects b/wrenchboard/src/Makefile.objects index 324f8b58..3e448e5f 100644 --- a/wrenchboard/src/Makefile.objects +++ b/wrenchboard/src/Makefile.objects @@ -50,6 +50,8 @@ shared_tool/common_tool.lo: /home/oameye/wrenchboard/wrenchboard/src/shared_tool $(LIBTOOL) --mode=compile $(CXX) -I/home/oameye/wrenchboard/wrenchboard/src/libconfig-1.0.1 -I. -I/home/oameye/wrenchboard/wrenchboard/src $(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -c /home/oameye/wrenchboard/wrenchboard/src/shared_tool/common_tool.cc -o shared_tool/common_tool.lo shared_tool/contract.lo: /home/oameye/wrenchboard/wrenchboard/src/shared_tool/contract.cc $(LIBTOOL) --mode=compile $(CXX) -I/home/oameye/wrenchboard/wrenchboard/src/libconfig-1.0.1 -I. -I/home/oameye/wrenchboard/wrenchboard/src $(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -c /home/oameye/wrenchboard/wrenchboard/src/shared_tool/contract.cc -o shared_tool/contract.lo +shared_tool/coupons.lo: /home/oameye/wrenchboard/wrenchboard/src/shared_tool/coupons.cc + $(LIBTOOL) --mode=compile $(CXX) -I/home/oameye/wrenchboard/wrenchboard/src/libconfig-1.0.1 -I. -I/home/oameye/wrenchboard/wrenchboard/src $(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -c /home/oameye/wrenchboard/wrenchboard/src/shared_tool/coupons.cc -o shared_tool/coupons.lo shared_tool/creditcards.lo: /home/oameye/wrenchboard/wrenchboard/src/shared_tool/creditcards.cc $(LIBTOOL) --mode=compile $(CXX) -I/home/oameye/wrenchboard/wrenchboard/src/libconfig-1.0.1 -I. -I/home/oameye/wrenchboard/wrenchboard/src $(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) -c /home/oameye/wrenchboard/wrenchboard/src/shared_tool/creditcards.cc -o shared_tool/creditcards.lo shared_tool/email.lo: /home/oameye/wrenchboard/wrenchboard/src/shared_tool/email.cc diff --git a/wrenchboard/src/config.log b/wrenchboard/src/config.log index 1f5c1425..7e5b249b 100644 --- a/wrenchboard/src/config.log +++ b/wrenchboard/src/config.log @@ -12,9 +12,9 @@ generated by GNU Autoconf 2.69. Invocation command line was hostname = WrenchBoardDev uname -m = x86_64 -uname -r = 4.18.0-193.14.2.el8_2.x86_64 +uname -r = 4.18.0-358.el8.x86_64 uname -s = Linux -uname -v = #1 SMP Sun Jul 26 03:54:29 UTC 2020 +uname -v = #1 SMP Mon Jan 10 13:11:20 UTC 2022 /usr/bin/uname -p = x86_64 /bin/uname -X = unknown @@ -50,7 +50,7 @@ configure:2566: found /usr/bin/cc configure:2577: result: cc configure:2608: checking for C compiler version configure:2617: cc --version >&5 -cc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5) +cc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -65,7 +65,7 @@ OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux Thread model: posix -gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC) +gcc version 8.5.0 20210514 (Red Hat 8.5.0-10) (GCC) configure:2628: $? = 0 configure:2617: cc -V >&5 cc: error: unrecognized command line option '-V' @@ -216,7 +216,7 @@ configure:4113: found /usr/bin/g++ configure:4124: result: g++ configure:4151: checking for C++ compiler version configure:4160: g++ --version >&5 -g++ (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5) +g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -231,7 +231,7 @@ OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux Thread model: posix -gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC) +gcc version 8.5.0 20210514 (Red Hat 8.5.0-10) (GCC) configure:4171: $? = 0 configure:4160: g++ -V >&5 g++: error: unrecognized command line option '-V' @@ -537,6 +537,7 @@ generated by GNU Autoconf 2.69. Invocation command line was on WrenchBoardDev config.status:944: creating config.h +config.status:1034: config.h is unchanged config.status:1048: executing libtool commands ## ---------------- ## diff --git a/wrenchboard/src/config.status b/wrenchboard/src/config.status index 4f6d5007..0b77a135 100755 --- a/wrenchboard/src/config.status +++ b/wrenchboard/src/config.status @@ -662,7 +662,7 @@ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' finish_eval='' hardcode_into_libs='yes' sys_lib_search_path_spec='/usr/lib/gcc/x86_64-redhat-linux/8 /usr/lib64 /lib64 /usr/lib /lib ' -configure_time_dlsearch_path='/lib64 /usr/lib64 /lib /usr/lib /usr/lib64//bind9-export/ /usr/lib64/dyninst ' +configure_time_dlsearch_path='/lib64 /usr/lib64 /lib /usr/lib /usr/lib64//bind9-export/ /usr/lib64/dyninst ' configure_time_lt_sys_library_path='' hardcode_action='immediate' enable_dlopen='unknown' diff --git a/wrenchboard/src/include/email.h b/wrenchboard/src/include/email.h index c399736c..41b9ca72 100644 --- a/wrenchboard/src/include/email.h +++ b/wrenchboard/src/include/email.h @@ -38,6 +38,7 @@ long sendmoney_email(long mailtype, CVars in, CVars &out); long alert_email(long mailtype, CVars in, CVars &out) ; long SendmarketMessage(CVars in, CVars &out); long cron_email(long mailtype, CVars in, CVars &out); +long coupon_email(long mailtype, CVars in, CVars &out); long SignupPendingAlertMailfile(CVars in); long SignupCompletedAlertMailfile(CVars in); diff --git a/wrenchboard/src/include/wrenchboard_api.h b/wrenchboard/src/include/wrenchboard_api.h index 70933c9b..379d6b39 100644 --- a/wrenchboard/src/include/wrenchboard_api.h +++ b/wrenchboard/src/include/wrenchboard_api.h @@ -249,6 +249,17 @@ enum { PARTNER_STRIPE }; #define WRENCHBOARD_ADD_SURVEY 55050 #define WRENCHBOARD_LOAD_SURVEY 55055 +//************************************************************** +#define WRENCHBOARD_COUPON_START 85000 + +#define WRENCHBOARD_COUPON_CREATE 85010 +#define WRENCHBOARD_COUPON_ACTIVATE 85015 +#define WRENCHBOARD_COUPON_REDEEM 85020 + +#define WRENCHBOARD_COUPON_END 85999 +//************************************************************** + + #define WRENCHBOARD_STRIPE_CHARGE_ONE 90004 #define WRENCHBOARD_STRIPE_CHARGE_NEW 90005 diff --git a/wrenchboard/src/libtool b/wrenchboard/src/libtool index a7d71e16..ad546b6a 100755 --- a/wrenchboard/src/libtool +++ b/wrenchboard/src/libtool @@ -285,7 +285,7 @@ hardcode_into_libs=yes sys_lib_search_path_spec="/usr/lib/gcc/x86_64-redhat-linux/8 /usr/lib64 /lib64 /usr/lib /lib " # Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib /usr/lib64//bind9-export/ /usr/lib64/dyninst " +sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib /usr/lib64//bind9-export/ /usr/lib64/dyninst " # Explicit LT_SYS_LIBRARY_PATH set during ./configure time. configure_time_lt_sys_library_path="" diff --git a/wrenchboard/src/shared_tool/email.cc b/wrenchboard/src/shared_tool/email.cc index a05995f1..d56ecffa 100644 --- a/wrenchboard/src/shared_tool/email.cc +++ b/wrenchboard/src/shared_tool/email.cc @@ -223,6 +223,49 @@ long cron_email(long mailtype, CVars in, CVars &out) { return 0; } +long coupon_email(long mailtype, CVars in, CVars &out) { + + //REQ_LONG( in, "member_id", 1, -1 ); + CVars x; + C_CGI_Form form("", ""); + + CGIList * inv_list = new CGIList(&form, "inv_items"); + char listing_items[1024]; + const PGresult *res; + bool exclude_email = true; + char * server_name = getenv("SERVER_NAME"); + form.LetStr("server_name", "https://dashboard.wrenchboard.com"); + form.LetStr("site_name", "WrenchBoard"); + form.LetStr("site_trade_name", "Connecting Opportunities"); + + try { + + switch (mailtype) { +/* + +wrenchboard=> SELECT substring(ca.code,0,4)||'XXXXXXXX' as code, ca.amount,m.email,m.firstname FROM coupons_allocation ca LEFT JOIN members m ON m.id=ca.member_id; + code | amount | email | firstname +-------------+--------+----------------------+----------- + 1M5XXXXXXXX | 0 | ses66181+1@gmail.com | Olusesan +*/ + case WRENCHBOARD_COUPON_ACTIVATE: + REQ_LONG(in, "coupon_id", 1, -1); + if (load_db_record(x, "SELECT substring(ca.code,0,4)||'XXXXXXXX' as code, ca.amount,m.email,m.firstname FROM coupons_allocation ca LEFT JOIN members m ON m.id=ca.member_id WHERE ca.id = %lu ", in["coupon_id"].Long())) { + vars2form(x, form); + form.LetStr("email", x["email"].c_str()); + form.Email("COUPON/member_coupon_allocated.mailfile"); + } + break; + + } + + } catch (bad_parameter) { + + } + + return 0; +} + long account_email(long mailtype, CVars in, CVars &out) { diff --git a/wrenchboard/src/shared_tool/wrenchboard_api_main.cc b/wrenchboard/src/shared_tool/wrenchboard_api_main.cc index f1b5ca58..9d299b6d 100644 --- a/wrenchboard/src/shared_tool/wrenchboard_api_main.cc +++ b/wrenchboard/src/shared_tool/wrenchboard_api_main.cc @@ -19,6 +19,7 @@ #include "pgsql_wrapper.h" #include "stripe_charge.h" #include "account_mngt.h" +#include "coupons.h" #include "twilo.h" //extern CSQL *sql; @@ -56,6 +57,11 @@ long wrenchboard_api_main(CVars in, CVars &out) { return sitecrons_calls(in, out); } + if (action >= WRENCHBOARD_COUPON_START && action <= WRENCHBOARD_COUPON_END) { + logfmt(logINFO, "coupons_calls"); + return coupons_calls(in, out); + } + if (action >= WRENCHBOARD_ACCOUNT_START && action <= WRENCHBOARD_ACCOUNT_END) { logfmt(logINFO, "account calls"); return account_calls(in, out);