Some small edits for intro field
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 9 Jun 2016 12:10:59 +0000 (08:10 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 9 Jun 2016 12:10:59 +0000 (08:10 -0400)
Switch to using mb_substr. Normal substr caused some errors when
importing the events. Also I am going 25 events at a time. The variable
for this is just inside of the function for adding timely events.

models/admin/management/events.php
models/front/events/list.php
views/front/events/detail.html

index 8670b0b..89a73b2 100644 (file)
@@ -263,7 +263,7 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                                 'schema'       => FILTER_SANITIZE_STRING,
                                 'cattablename' => FILTER_SANITIZE_STRING,
                                 'tablename'    => FILTER_SANITIZE_STRING,
-                                'sdate'           => array(
+                                'sdate'        => array(
                                     'filter'  => FILTER_VALIDATE_REGEXP,
                                     'options' => array(
                                         'regexp' => '%[0-9]{2}/[0-9]{2}/[0-9]{4}%'
@@ -298,8 +298,8 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                         'status'           => false,
                         'menuItemRedirect' => 'error',
                         'modelRedirect'    => 'index',
-                        'view'               => 'admin/error/index.html',
-                        'data'               => array(
+                        'view'             => 'admin/error/index.html',
+                        'data'             => array(
                             'reason' => 'User does not have rights to make configuration changes.'
                         )
                     );
@@ -352,8 +352,8 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
         $template_data = array(
             'option'              => $option,
             'testResult'          => $test_result,
-            'importResult'          => $import_result,
-            'settingsUpdated'      => $settings_updated,
+            'importResult'        => $import_result,
+            'settingsUpdated'     => $settings_updated,
             'settingsUpdateError' => $settings_update_error,
             'eventsSettings'      => $event_settings
         );
@@ -363,8 +363,8 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
             'status'           => true,
             'menuItemRedirect' => false,
             'modelRedirect'    => false,
-            'view'               => 'admin/management/events.html',
-            'data'               => $template_data
+            'view'             => 'admin/management/events.html',
+            'data'             => $template_data
         );
 
 
@@ -560,8 +560,10 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
     }
 
     public function addTimelyCategories() {
+               $category_counter = 0;
         $categories = get_terms( 'events_categories' );
         foreach ( $categories as $category ) {
+                       ++$category_counter;
             // first check to see if the category is already there
             $sql = "
             SELECT id
@@ -588,7 +590,14 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                 $this->oldCatMap[$category->term_id] = $found['id'];
             }
         }
+               // Store the oldCatMap for the next pages.
+               update_option( 'glm-member-event-old-cat-map', serialize( $this->oldCatMap ) );
+               return "<p>Adding $category_counter Categories</p>";
     }
+       public function getOldCatMap()
+       {
+               return unserialize( get_option('glm-member-event-old-cat-map') );
+       }
     /**
      * getTime
      *
@@ -1054,14 +1063,25 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
         return $return;
     }
     public function importFromTimely() {
-        // clear the events tables first
-        $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events" );
-        $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "recurrences" );
-        $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times" );
-        $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "event_categories" );
-        $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "locations" );
-    
-        $return = $this->addTimelyCategories();
+               $limit = 25;
+               $debug = false;
+               if ( isset( $_REQUEST['start'] ) ) {
+                       $start = filter_var( $_REQUEST['start'], FILTER_VALIDATE_INT );
+               } else {
+                       $start = 0;
+               }
+               if ( $start === 0 ) {
+                       // clear the events tables first.
+                       $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events" );
+                       $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "recurrences" );
+                       $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times" );
+                       $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "event_categories" );
+                       $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "locations" );
+                       // Add the Categories from Time.ly.
+                       $return_string = $this->addTimelyCategories();
+               } else {
+                       $this->oldCatMap = $this->getOldCatMap();
+               }
         
         $yearly_events = 
         $daily_events =
@@ -1079,19 +1099,24 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
           FROM " . $this->wpdb->prefix . "posts
          WHERE post_type = 'ai1ec_event'
            AND post_status = 'publish'";
+               //$sql .= " AND ID IN ( SELECT post_id FROM " . $this->wpdb->prefix . "ai1ec_events 
+                       //WHERE end >= " . time() . " )";
+               $sql .= " LIMIT $limit OFFSET $start";
         $results = $this->wpdb->get_results( $sql, ARRAY_A );
 
-        echo '<p>Total events: ' . count( $results ) . '</p>';
+        //echo '<p>Total events: ' . count( $results ) . '</p>';
+               $event_counter = 0;
 
         if ( !empty( $results ) ) {
             foreach ( $results as $post ) {
-                echo '<pre>$post: ' . print_r($post, true) . '</pre>';
+                               ++$event_counter;
+                //echo '<pre>$post: ' . print_r($post, true) . '</pre>';
                 $sql        = "
                 SELECT * 
                   FROM " . $this->wpdb->prefix . "ai1ec_events
                  WHERE post_id = {$post['ID']}";
                 $event_data = $this->wpdb->get_row( $sql, ARRAY_A );
-                echo '<pre>$event_data: ' . print_r($event_data, true) . '</pre>';
+                //echo '<pre>$event_data: ' . print_r($event_data, true) . '</pre>';
                 $cost_data  = unserialize( $event_data['cost'] );
                 $cost       = $cost_data['cost'];
                 $is_free    = $cost_data['is_free'];
@@ -1101,9 +1126,9 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                 if ( has_post_thumbnail( $post['ID'] ) ) {
                     $thumbnail_id = get_post_thumbnail_id( $post['ID'] );
                     $thumb_src    = wp_get_attachment_image_src( $thumbnail_id, 'large' );
-                    echo '<pre>$thumb_src: ' . print_r($thumb_src, true) . '</pre>';
+                    //echo '<pre>$thumb_src: ' . print_r($thumb_src, true) . '</pre>';
                     $res          = $image_upload->storeImage($thumb_src[0]);
-                    echo '<pre>$res: ' . print_r($res, true) . '</pre>';
+                    //echo '<pre>$res: ' . print_r($res, true) . '</pre>';
                     if ( $res['newFileName'] ) {
                         $image = $res['newFileName'];
                     }
@@ -1116,7 +1141,7 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                     'approved'               => $post['post_modified'],
                     'name'                   => $post['post_title'],
                     'name_slug'              => $post['post_name'],
-                    'intro'                  => substr( strip_tags( $post['post_content'] ), 0, 250 ),
+                    'intro'                  => mb_substr( strip_tags( $post['post_content'] ), 0, 80 ),
                     'descr'                  => $post['post_content'],
                     'image'                  => $image,
                     'file1'                  => null,
@@ -1166,14 +1191,24 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                     '%s',
                     '%s',
                 );
-                $this->wpdb->insert(
+                               if ( $debug ) {
+                                       //$this->wpdb->show_errors();
+                               }
+                $is_insert = $this->wpdb->insert(
                     GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events',
                     $event_import_data,
                     $event_data_format
                 );
+                               if ( $debug ) {
+                                       var_dump( $is_insert );
+                               }
                 $event_id  = $this->wpdb->insert_id;
-                var_dump( $event_id );
-                if ( !$event_id ) {
+                               if ( $debug ) {
+                                       var_dump( $event_id );
+                               }
+                               if ( !$event_id ) {
+                                       $this->wpdb->print_error();
+                                       echo '<pre>$event_import_data: ' . print_r($event_import_data, true) . '</pre>';
                     echo '<pre>SQL Error: ' . $this->wpdb->last_error . '</pre>';
                     echo '<pre>SQL Error: ' . $this->wpdb->print_error() . '</pre>';
                     die('something is wrong no event_id');
@@ -1194,7 +1229,9 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                         )
                     );
                 }
-                echo '<pre>$categories: ' . print_r($categories, true) . '</pre>';
+                               if ( $debug ) {
+                                       echo '<pre>$categories: ' . print_r($categories, true) . '</pre>';
+                               }
 
                 $by_day_of_month =
                 $last_day_of_month = null;
@@ -1211,18 +1248,28 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                 $week_of_month = 63;
 
                 $from_date = date( 'Y-m-d', $event_data['start'] );
-                echo '<pre>$from_date: ' . print_r($from_date, true) . '</pre>';
+                               if ( $debug ) {
+                                       echo '<pre>$from_date: ' . print_r($from_date, true) . '</pre>';
+                               }
                 $to_date   = date( 'Y-m-d', $event_data['end'] );
-                echo '<pre>$to_date: ' . print_r($to_date, true) . '</pre>';
+                               if ( $debug ) {
+                                       echo '<pre>$to_date: ' . print_r($to_date, true) . '</pre>';
+                               }
                 $btime     = date( 'H:i', $event_data['start'] );
-                echo '<pre>$btime: ' . print_r($btime, true) . '</pre>';
+                               if ( $debug ) {
+                                       echo '<pre>$btime: ' . print_r($btime, true) . '</pre>';
+                               }
                 $etime     = date( 'H:i', $event_data['end'] );
-                echo '<pre>$etime: ' . print_r($etime, true) . '</pre>';
+                               if ( $debug ) {
+                                       echo '<pre>$etime: ' . print_r($etime, true) . '</pre>';
+                               }
 
                 if ( $event_data['recurrence_rules'] ) {
                     $recurring_event = 1;
                     $recurrence_rules = explode( ';', $event_data['recurrence_rules'] );
-                    echo '<pre>$recurrence_rules: ' . print_r($recurrence_rules, true) . '</pre>';
+                                       if ( $debug ) {
+                                               echo '<pre>$recurrence_rules: ' . print_r($recurrence_rules, true) . '</pre>';
+                                       }
                     foreach ( $recurrence_rules as $rule ) {
                         // check for RDATE , which are the custom dates that need to be serialized
                         if(strpos($rule, 'RDATE') !== false){
@@ -1232,7 +1279,9 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                             $custom_times = explode(',', $rdate);
                         }
                         if ( preg_match( ';FREQ=(.*);', $rule, $matches ) ) {
-                            echo '<pre>$matches: ' . print_r($matches, true) . '</pre>';
+                                                       if ( $debug ) {
+                                                               echo '<pre>$matches: ' . print_r($matches, true) . '</pre>';
+                                                       }
                             switch ( $matches[1] ) {
                                 case "WEEKLY":
                                     $weekly_events++;
@@ -1317,7 +1366,9 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                                     break;
                             }
                         } else if ( preg_match( ';COUNT=(.*);', $rule, $matches ) ) {
-                            echo '<pre>$matches: ' . print_r($matches, true) . '</pre>';
+                                                       if ( $debug ) {
+                                                               echo '<pre>$matches: ' . print_r($matches, true) . '</pre>';
+                                                       }
                             // set the end date to COUNT days from start
                             try {
                                 $number_of_days    = (int)$matches[1] - 1;
@@ -1327,8 +1378,10 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                                 $to_date           = $ending_date->format( 'Y-m-d' );
                                 $recurring_event   = 0;
                             } catch (Exception $e) {
-                                echo '<pre>$e: ' . print_r($e, true) . '</pre>';
-                                die();
+                                                               if ( $debug ) {
+                                                                       echo '<pre>$e: ' . print_r($e, true) . '</pre>';
+                                                               }
+                                                               die();
                             }
                         } else if ( preg_match( ';UNTIL=(.*);', $rule, $matches ) ) {
                             $to_date = date( 'Y-m-d', strtotime( $matches[1] ) );
@@ -1352,8 +1405,9 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
   
                         }else if ( preg_match( ';BYday=(.*);', $rule, $matches ) ) {
                             
-                            echo '<pre>1354 $matches: ' . print_r($matches, true) . '</pre>';
-                            
+                                                       if ( $debug ) {
+                                                               echo '<pre>1354 $matches: ' . print_r($matches, true) . '</pre>';
+                                                       }
                             // check if the selection is the nth week with a selected day, if not parse the input as a list if selected days
                             if(strpos($matches[1], ",") == false){
                                 $week_number = substr($matches[1],0, 1);
@@ -1428,7 +1482,9 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                     'last_day_of_month'    => $last_day_of_month,
                     'specific_dates'       => $serialized_custom_times
                 );
-                echo '<pre>$recur_data: ' . print_r($recur_data, true) . '</pre>';
+                               if ( $debug ) {
+                                       echo '<pre>$recur_data: ' . print_r($recur_data, true) . '</pre>';
+                               }
                 $this->wpdb->insert(
                     GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'recurrences',
                     $recur_data,
@@ -1498,12 +1554,24 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                     );
                     $location_id = $this->wpdb->insert_id;
                     if ( !$location_id ) {
-                        echo '<pre>$location_data: ' . print_r($location_data, true) . '</pre>';
+                                               if ( $debug ) {
+                                                       echo '<pre>$location_data: ' . print_r($location_data, true) . '</pre>';
+                                               }
                         die('no return id for location');
                     }
                 }
             }
+                       $return_string .= "<p>Adding $event_counter Events</p>";
         }
+               $return_string .= "<pre>
+                       Start: $start
+               </pre>";
+               $start += $limit;
+               $return_string .= "<p><a href=\"" 
+                       . GLM_MEMBERS_PLUGIN_CURRENT_URL 
+                       . "?page=glm-members-admin-menu-management&glm_action=events&option=timelyImport&import=true" 
+                       . "&start=$start\">Next</a></p>";
+               return $return_string;
     }
 }
 
index d80b7f4..51e9c9c 100644 (file)
@@ -44,7 +44,6 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
      */
     public function modelAction($actionData = false)
     {
-
         $status   = $categoryId = null;
         $action   = '';
         $settings = $events = $event = $categoryEvents = array();
index 2d92947..e974d7c 100644 (file)
                     </div><!-- /.row #3 -->
                 </div><!-- /.small-12 .column -->
                 <div class="small-12 column">
-                    <p>{$event.descr}</p>
+                    <p>{$event.descr|nl2br}</p>
                 </div>
             </div><!-- /.row #2 -->
         </div><!-- /.small-12 .large-9 .large-centered -->