• Resolved af3

    (@af3)


    Hi,
    I am trying to take the form processing & forms from the file polls-add.php and put them in a template page so I can get members to add their own poll directly from a Page (and not at the wordpress back-end). Seems the form is processed but it keeps giving message: Poll Must have Question.

    Any suggestions?
    All I really want is to be able to get users to create poll from the front end. Any other ways to do it?

    Thanks

    https://www.ads-software.com/plugins/wp-polls/

Viewing 6 replies - 1 through 6 (of 6 total)
  • Thread Starter af3

    (@af3)

    opps solved by fixing the form action.

    Hello af3,

    I’m trying to achieve the same thing. I’ve added the poll onto the front end but when i tried to click ‘add poll’. It says you do not have sufficient permission.

    Would you mind teaching me how you implement the code?

    Thanks!

    Actually its fine. managed to get it working ??

    HI
    I also want to add poll from front end.
    can you please tell me how can add poll from front end.
    Please give me code it if possible.

    Thanks

    Hi
    as usual to forums in general, this post does not answer the question.How do i add the poll to my main page. and neither does the link, is there a step by step methodology. Please help someone

    Thread Starter af3

    (@af3)

    This is what I did:
    1. Create a page template add-poll.php with the following content

    <?php
    /**
     * Template Name: Add Poll
     *
     * @package WordPress
     * @subpackage WP Poll
      */
    
     get_header();
    ?>
    <script type='text/javascript' src='https://my.domain.com/wp-content/plugins/wp-polls/polls-admin-js.js?ver=2.63'></script>
    <div id="content" class="two_column">
      <div class="padder">
        <?php do_action( 'bp_before_blog_page' ) ?>
        <div class="page" id="blog-page" role="main">
    <?php
    ### Check Whether User Can Manage Polls
    if(!current_user_can('manage_polls')) {
    	die('Access Denied');
    }
    
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     ### Form Processing
     // initialize a variable to
       // put any errors we encounter into an array
       $errors = array();
       // check to see if a question was entered
       // check to see if answer was entered
       if ((!$_POST['pollq_question']) || (!$_POST['polla_answers']))  {
          // if not, add that error to our array
          echo "<font color=red><strong>ERROR:</strong></font> Poll must have a question and answer selections!\n";
          }
       else {
    	 switch($_POST['do']) {
    		// Add Poll
    		case __('Create Poll', 'wp-polls'):
    			check_admin_referer('wp-polls_add-poll');
    			// Poll Question
    			$pollq_question = addslashes(trim($_POST['pollq_question']));
          // Poll Start Date
    			$timestamp_sql = '';
    			$pollq_timestamp_day = intval($_POST['pollq_timestamp_day']);
    			$pollq_timestamp_month = intval($_POST['pollq_timestamp_month']);
    			$pollq_timestamp_year = intval($_POST['pollq_timestamp_year']);
    			$pollq_timestamp_hour = intval($_POST['pollq_timestamp_hour']);
    			$pollq_timestamp_minute = intval($_POST['pollq_timestamp_minute']);
    			$pollq_timestamp_second = intval($_POST['pollq_timestamp_second']);
    			$pollq_timestamp = gmmktime($pollq_timestamp_hour, $pollq_timestamp_minute, $pollq_timestamp_second, $pollq_timestamp_month, $pollq_timestamp_day, $pollq_timestamp_year);
    			if($pollq_timestamp > current_time('timestamp')) {
    				$pollq_active = -1;
    			} else {
    				$pollq_active = 1;
    			}
    			// Poll End Date
    			$pollq_expiry_no = intval($_POST['pollq_expiry_no']);
    			if($pollq_expiry_no == 1) {
    				$pollq_expiry = '';
    			} else {
    				$pollq_expiry_day = intval($_POST['pollq_expiry_day']);
    				$pollq_expiry_month = intval($_POST['pollq_expiry_month']);
    				$pollq_expiry_year = intval($_POST['pollq_expiry_year']);
    				$pollq_expiry_hour = intval($_POST['pollq_expiry_hour']);
    				$pollq_expiry_minute = intval($_POST['pollq_expiry_minute']);
    				$pollq_expiry_second = intval($_POST['pollq_expiry_second']);
    				$pollq_expiry = gmmktime($pollq_expiry_hour, $pollq_expiry_minute, $pollq_expiry_second, $pollq_expiry_month, $pollq_expiry_day, $pollq_expiry_year);
    				if($pollq_expiry <= current_time('timestamp')) {
    					$pollq_active = 0;
    				}
    			}
    			// Mutilple Poll
    			$pollq_multiple_yes = intval($_POST['pollq_multiple_yes']);
    			$pollq_multiple = 0;
    			if($pollq_multiple_yes == 1) {
    				$pollq_multiple = intval($_POST['pollq_multiple']);
    			} else {
    				$pollq_multiple = 0;
    			}
    			// Insert Poll
    			$add_poll_question = $wpdb->query("INSERT INTO $wpdb->pollsq VALUES (0, '$pollq_question', '$pollq_timestamp', 0, $pollq_active, '$pollq_expiry', $pollq_multiple, 0)");
    			if(!$add_poll_question) {
    				$text .= '<p style="color: red;">'.sprintf(__('Database Error In Adding Poll \'%s\'.', 'wp-polls'), stripslashes($pollq_question)).'</p>';
    			}
    			// Add Poll Answers
    			$polla_answers = $_POST['polla_answers'];
          $polla_qid = intval($wpdb->insert_id);
    			foreach($polla_answers as $polla_answer) {
    				$polla_answer = addslashes(trim($polla_answer));
    				$add_poll_answers = $wpdb->query("INSERT INTO $wpdb->pollsa VALUES (0, $polla_qid, '$polla_answer', 0)");
    				if(!$add_poll_answers) {
    					$text .= '<p style="color: red;">'.sprintf(__('Database Error In Adding Poll\'s Answer \'%s\'.', 'wp-polls'), stripslashes($polla_answer)).'</p>';
    				}
    			}
    			// Update Lastest Poll ID To Poll Options
    			$latest_pollid = polls_latest_id();
    			$update_latestpoll = update_option('poll_latestpoll', $latest_pollid);
    			if(empty($text)) {
    				$text = '<p style="color: green;">'.sprintf(__('Poll \'%s\' (ID: %s) Added Successfully.', 'wp-polls'), stripslashes($pollq_question), $latest_pollid).' <a href="https://my.domain.com/wp-admin/admin.php?page=wp-polls/polls-manager.php">Manage Polls</a></p>';
    			}
    			cron_polls_place();
    			break;
    	}
    ### End Form Processing
      }
    }
    
    ### Add Poll Form
    $poll_noquestion = 4;
    $count = 0;
    ?>       
    
    <?php if(!empty($text)) { echo '<!-- Last Action --><div id="message" class="updated fade">'.stripslashes($text).'</div>'; } ?>
          <form method="POST" action="https://my.domain.com.com/polls/add-poll/">
            <div class="wrap">
              <h1 style="font-size: 30px;font-weight: 300;line-height: 1.2;">Create a New Poll</h1>
              <p>&nbsp;
              </p>
              <p>&nbsp;
              </p>
              <!-- Poll Question --> 	<h2>Poll Question</h2>
              <table class="form-table" width="100%">
                <tr>
                  <th width="20%" scope="row" valign="top">Question
                  </th>
                  <td width="80%">
                    <input type="text" size="70" name="pollq_question" value="" /></td>
                </tr>
              </table>
              <p>&nbsp;
              </p>
              <!-- Poll Answers --> 	<h2>Poll Answers</h2>
              <table class="form-table" width="100%">
                <tfoot>
                  <tr>
                    <td width="20%">&nbsp;</td>
                    <td width="80%">
                      <input type="button" value="Add Answer" onclick="add_poll_answer_add();" class="button" /></td>
                  </tr>
                </tfoot>
                <tbody id="poll_answers">
    <?php
    			for($i = 1; $i <= $poll_noquestion; $i++) {
    				echo "<tr id=\"poll-answer-$i\">\n";
    				echo "<th width=\"20%\" scope=\"row\" valign=\"top\">".sprintf(__('Answer %s', 'wp-polls'), number_format_i18n($i))."</th>\n";
    				echo "<td width=\"80%\"><input type=\"text\" size=\"50\" maxlength=\"200\" name=\"polla_answers[]\" />&nbsp;&nbsp;&nbsp;<input type=\"button\" value=\"".__('Remove', 'wp-polls')."\" onclick=\"remove_poll_answer_add(".$i.");\" class=\"button\" /></td>\n";
    				echo "</tr>\n";
    				$count++;
    			}
                                		?>
                </tbody>
              </table>
              <p>&nbsp;
              </p>
              <!-- Poll Multiple Answers --> 	<h2>Poll Multiple Answers</h2>
              <table class="form-table" width="100%">
                <tr>
                  <th width="40%" scope="row" valign="top">Allow employees to select more than one answers ?
                  </th>
                  <td width="60%">
                    <select name="pollq_multiple_yes" id="pollq_multiple_yes" size="1" onchange="check_pollq_multiple();">
                      <option value="0"> No
                      </option>
                      <option value="1"> Yes
                      </option>
                    </select>			</td>
                </tr>
                <tr>
                  <th width="40%" scope="row" valign="top">
                    <?php _e('Maximum Number Of Selected Answers Allowed?', 'wp-polls') ?>
                  </th>
                  <td width="60%">
                    <select name="pollq_multiple" id="pollq_multiple" size="1" disabled="disabled">
    <?php
    						for($i = 1; $i <= $poll_noquestion; $i++) {
    							echo "<option value=\"$i\">".number_format_i18n($i)."</option>\n";
    						}
                                        					?>
                    </select>			</td>
                </tr>
              </table>
              <p>&nbsp;
              </p>
              <!-- Poll Start/End Date --> 	<h2>Poll Start/End Date</h2>
              <table class="form-table" width="100%">
                <tr>
                  <th width="20%" scope="row" valign="top">Start Date/Time
                  </th>
                  <td width="80%">
                    <?php poll_timestamp(current_time('timestamp')); ?></td>
                </tr>
                <tr>
                  <th width="20%" scope="row" valign="top">End Date/Time
                  </th>
                  <td width="80%">
                    <input type="checkbox" name="pollq_expiry_no" id="pollq_expiry_no" value="1" checked="checked" onclick="check_pollexpiry();" />&nbsp;&nbsp;
                    <label for="pollq_expiry_no">No Expiry for this poll
                    </label>
                    <?php poll_timestamp(current_time('timestamp'), 'pollq_expiry', 'none'); ?></td>
                </tr>
              </table>
              <p style="text-align: center;">
                <input type="submit" name="do" value="Create Poll"  class="button-primary" />&nbsp;&nbsp;
                <input type="button" name="cancel" value="Cancel" class="button" onclick="javascript:history.go(-1)" />
              </p>
            </div>
            <?php wp_nonce_field('wp-polls_add-poll'); ?>
          </form>
        </div>
        <!-- .page -->
        <?php do_action( 'bp_after_blog_page' ) ?>
      </div>
      <!-- .padder -->
    </div>
    <!-- #content -->
    <script type='text/javascript'>
    /* <![CDATA[ */
    var pollsAdminL10n = {"admin_ajax_url":"http:\/\/mydomain.com\/wp-admin\/admin-ajax.php","text_direction":"right","text_delete_poll":"Delete Poll","text_no_poll_logs":"No poll logs available.","text_delete_all_logs":"Delete All Logs","text_checkbox_delete_all_logs":"Please check the \\'Yes\\' checkbox if you want to delete all logs.","text_delete_poll_logs":"Delete Logs For This Poll Only","text_checkbox_delete_poll_logs":"Please check the \\'Yes\\' checkbox if you want to delete all logs for this poll ONLY.","text_delete_poll_ans":"Delete Poll Answer","text_open_poll":"Open Poll","text_close_poll":"Close Poll","text_answer":"Answer","text_remove_poll_answer":"Remove"};
    /* ]]> */
    </script>
    <?php locate_template( array( 'sidebar-default.php' ), true ) ?>
    <?php get_footer(); ?>

    2. Change domain.com in the template to yours
    3. Put in your theme folder or child-theme folder
    4. In WordPress, create a blank page with the template ‘Add Poll’
    5. If you go to https://yourdomain.com/add-poll/ you should then can add poll already

    I am not a coder — so cant help much if that doesnt work for you. I hope others can help too.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Creating "Add Poll" in a page’ is closed to new replies.