[OpenSIPS-Users] OPENSIPS_CP DIALPLAN

Bogdan-Andrei Iancu bogdan at opensips.org
Thu Aug 25 23:11:49 CEST 2016


Hi Jeff,

I run some test with the exact code on GITHUB (branch 5.0) and the edit 
actually worked well (without any further changes).

The $link is a variable that is initialized in the included file 
lib/db_connect.php, so it valid (anyhow, it is used later for the actual 
query, which works ;) ).

Could you check if the return of mysql_real_escape_string() is actually 
something valid or is it FALSE ?
http://stackoverflow.com/questions/3005135/mysql-real-escape-string-just-makes-an-empty-string

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 25.08.2016 05:33, Jeff Wilkie wrote:
> If I modify the file 
> /var/www/opensips_cp/web/tools/system/dialplan/dialplan.php and 
> comment out the following:
>
>         // if(get_magic_quotes_gpc()==0){
>
>
>       //                      $match_exp = 
> mysql_real_escape_string($match_exp, *$link*);
>
>         //              }
>
>
> The updates work fine.  I think noticed that the ref to *$link* sits 
> below this line in the "modify" section so I decided to remove the 
> $link ref in the above lines and then uncommented the lines leaving 
> the modify section like this
>
>                 if ($errors=="") {
>
> if(get_magic_quotes_gpc()==0){
>
>
>                                 $match_exp = 
> mysql_real_escape_string($match_exp);
>
>                         }
>
>
>                         $sql = "SELECT * FROM ".$table.
>
>                         " WHERE dpid=" .$dpid. " AND match_exp='" 
> .$match_exp. "'".
>
>                         " AND id!=".$id;
>
>                       $resultset = *$link*->queryAll($sql);
>
>
>
> Let me know if I've broken something as a result but this appears to 
> have corrected the problem I was having.  Unknown of any side effects 
> currently :)  Take a look and let me know your thoughts.
>
> Jeff
>
>
>
> On Wed, Aug 24, 2016 at 6:22 PM, Jeff Wilkie <jwilkie at usipcom.com 
> <mailto:jwilkie at usipcom.com>> wrote:
>
>     Here is what it looks like to my db when I create a DialPlan
>
>       20 QuerySELECT * FROM dialplan WHERE dpid=36 AND match_exp='877'
>
>       20 QueryPREPARE
>     MDB2_STATEMENT_mysql_a9e5e113b009b855c4d690637965bc74 FROM 'INSERT
>     INTO dialplan\n(dpid, pr, match_op, match_exp, match_flags,
>     subst_exp, \nrepl_exp, attrs) VALUES \n(36, 0,1,
>     \'877\',0,\'\',\'\',\'.30\')'
>
>       20 PrepareINSERT INTO dialplan
>
>     (dpid, pr, match_op, match_exp, match_flags, subst_exp,
>
>     repl_exp, attrs) VALUES
>
>     (36, 0,1, '877',0,'','','.30')
>
>       20 QueryEXECUTE
>     MDB2_STATEMENT_mysql_a9e5e113b009b855c4d690637965bc74
>
>       20 ExecuteINSERT INTO dialplan
>
>     (dpid, pr, match_op, match_exp, match_flags, subst_exp,
>
>     repl_exp, attrs) VALUES
>
>     (36, 0,1, '877',0,'','','.30')
>
>
>     This is what happens when I edit that same DialPlan
>
>       23 Queryselect * from dialplan where id='9030'
>
>       23 Quit
>
>       24 QuerySELECT * FROM dialplan WHERE dpid=36 AND match_exp=''
>     AND id!=9030
>
>       24 QueryPREPARE
>     MDB2_STATEMENT_mysql_880efa45d78ebff7cbf5f617428df4d2 FROM 'UPDATE
>     dialplan SET dpid=36, pr = 0, match_op= 1, match_exp =\'\',
>     match_flags=0, subst_exp = \'\', repl_exp=\'\', attrs= \'.30\'
>     WHERE id=9030'
>
>       24 PrepareUPDATE dialplan SET dpid=36, pr = 0, match_op= 1,
>     match_exp ='', match_flags=0, subst_exp = '', repl_exp='', attrs=
>     '.30' WHERE id=9030
>
>       24 QueryEXECUTE
>     MDB2_STATEMENT_mysql_880efa45d78ebff7cbf5f617428df4d2
>
>       24 ExecuteUPDATE dialplan SET dpid=36, pr = 0, match_op= 1,
>     match_exp ='', match_flags=0, subst_exp = '', repl_exp='', attrs=
>     '.30' WHERE id=9030
>
>       24 QueryDEALLOCATE PREPARE
>     MDB2_STATEMENT_mysql_880efa45d78ebff7cbf5f617428df4d2
>
>       24 Quit
>
>
>
>     You can see that the container for match_ex is not getting passed
>     to the '24' SELECT statement which ends in a 0 results query
>     apparently.
>
>
>     Thanks
>
>     Jeff
>
>     On Wed, Aug 24, 2016 at 5:30 PM, Jeff Wilkie <jwilkie at usipcom.com
>     <mailto:jwilkie at usipcom.com>> wrote:
>
>         Yes.  After any edits followed by a save with the attribute
>         field active as text causes "Matching Regular Expression" to
>         be deleted.
>
>         Thanks
>
>         Jeff
>
>         On Wed, Aug 24, 2016 at 5:15 PM, Bogdan-Andrei Iancu
>         <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>
>             Jeff,
>
>             You mean "Matching Regular Expression", right ? upon
>             performing an edit + save where you only changed the
>             attrs, the "Matching Regular Expression" gets to empty ?
>
>             Regards,
>
>             Bogdan-Andrei Iancu
>             OpenSIPS Founder and Developer
>             http://www.opensips-solutions.com
>             <http://www.opensips-solutions.com>
>
>             On 24.08.2016 23:25, Jeff Wilkie wrote:
>>             Ok.  The value now displays but if you modify the value
>>             and hit save, it kills the regex value upon saving. 
>>             Also, you cannot add the regex value back into the row. 
>>             All other values appear to be kept.
>>             Thanks
>>             Jeff
>>             On Wed, Aug 24, 2016 at 11:35 AM, Bogdan-Andrei Iancu
>>             <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>>
>>                 Hi Jeff, I spotted the issue and fixed it on GIT
>>                 repo. Please give it a try and let me know if it
>>                 works for you too. Thanks and regards,
>>
>>                 Bogdan-Andrei Iancu
>>                 OpenSIPS Founder and Developer
>>                 http://www.opensips-solutions.com
>>                 <http://www.opensips-solutions.com>
>>
>>                 On 24.08.2016 17:46, Jeff Wilkie wrote:
>>>                 Yes, The text box is there but when you place a
>>>                 value in a preexisting dial plan, the result in the
>>>                 DB is just the value in the text attribute field
>>>                 with no dial plan information.  By editing or adding
>>>                 an attribute it kills the rest of the dial plan that
>>>                 you were editing and you cannot add the dial plan
>>>                 information back in via the CP as long as an
>>>                 attribute in text form is added.  The same does not
>>>                 happen if using check box.  I can provide pics if
>>>                 you'd like.  The only var changed is the
>>>>
>>>>                 $dialplan_attributes_mode = 1
>>>>
>>>                 Jeff Wilkie
>>>                 Chief Technology Officer
>>>                 US IP Communications 919.297.1057 <tel:919.297.1057>
>>>                 /"This e-mail communication and any attachments may
>>>                 contain confidential and privileged information and
>>>                 is for use by the designated addressee(s) named
>>>                 above only. Any files transmitted with it are
>>>                 confidential and intended solely for the use of the
>>>                 individual to whom it is addressed. Any views or
>>>                 opinions presented are solely those of the author
>>>                 and do not necessarily represent those of USIPCOM,
>>>                 LLC. If you are not the intended addressee, you are
>>>                 hereby notified that you have received this
>>>                 communication in error and that any use or
>>>                 reproduction of this email or its contents is
>>>                 strictly prohibited and may be unlawful. If you have
>>>                 received this communication in error, please notify
>>>                 us immediately by replying to this message and
>>>                 deleting it from your computer. Thank you". /
>>>                 On Wed, Aug 24, 2016 at 5:20 AM, Bogdan-Andrei Iancu
>>>                 <bogdan at opensips.org <mailto:bogdan at opensips.org>>
>>>                 wrote:
>>>
>>>                     Hi Jeff, You mean you do not get the Attributes
>>>                     text area at all in the Edit section ? Regards,
>>>
>>>                     Bogdan-Andrei Iancu
>>>                     OpenSIPS Founder and Developer
>>>                     http://www.opensips-solutions.com
>>>                     <http://www.opensips-solutions.com>
>>>
>>>                     On 23.08.2016 00:56, Jeff Wilkie wrote:
>>>>                     New small issue with DIALPLAN in the CP. 
>>>>                     Running OSIPS 1.10 with CP 5.0
>>>>                     It appears that when modifying the CP for
>>>>                     Dialplan attributes as text, they do not appear
>>>>                     in the edit section once applied.  The
>>>>                     attributes do show up in the view list of dial
>>>>                     plans but if you go back to edit the attrs
>>>>                     again, they are not there.  I dot not have the
>>>>                     same problem when using attrs as checkboxes. 
>>>>                     Is there more code in the local files that
>>>>                     require editing to display these values?  Also,
>>>>                     if an entry in the Dialplan was once a checkbox
>>>>                     value but I've not converted the mode to text,
>>>>                     the value does not show up in the text box to
>>>>                     be edited.
>>>>
>>>>                     # Attention : advanced options !!
>>>>
>>>>                      //database tables
>>>>
>>>>                      $config->table_dialplan = "dialplan";
>>>>
>>>>                      $config->results_per_page = 20;
>>>>
>>>>                      $config->results_page_range = 5;
>>>>
>>>>                      $config->attrs_cb=array(
>>>>
>>>>                                                           // name ,
>>>>                     description
>>>>
>>>>                                                          
>>>>                     array("a","Descr a"),
>>>>
>>>>                                                          
>>>>                     array("b","Descr b"),
>>>>
>>>>                                                          
>>>>                     array("c","Descr c"),
>>>>
>>>>                                                          
>>>>                     array("d","Descr d"),
>>>>
>>>>                                                          
>>>>                     array("e","Descr e"),
>>>>
>>>>                                                          
>>>>                     array("f","Descr f"),
>>>>
>>>>                                                           );
>>>>
>>>>                      $config->cb_per_row = 3;
>>>>
>>>>                      $talk_to_this_assoc_id = 1 ;
>>>>
>>>>                     // Dialplan - Add/Edit new Translation Rule -
>>>>                     Attributes input type
>>>>
>>>>                     // 0 - checkboxes
>>>>
>>>>                     // 1 - text
>>>>
>>>>                     $dialplan_attributes_mode = 1  ;
>>>>
>>>>                     ?>
>>>>
>>>>                     Jeff
>>>>
>>>>                     _______________________________________________
>>>>                     Users mailing list
>>>>                     Users at lists.opensips.org
>>>>                     <mailto:Users at lists.opensips.org>
>>>>                     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>                     <http://lists.opensips.org/cgi-bin/mailman/listinfo/users>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20160826/7fbbfcee/attachment-0001.htm>


More information about the Users mailing list